<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Leko&#39;s Blog</title>
  
  
  <link href="https://blog.leko.moe/atom.xml" rel="self"/>
  
  <link href="https://blog.leko.moe/"/>
  <updated>2026-04-07T16:35:08.844Z</updated>
  <id>https://blog.leko.moe/</id>
  
  <author>
    <name>Leko</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>InvitationBot - 我的第一個 Rust Discord Bot</title>
    <link href="https://blog.leko.moe/2025/01/06/InvitationBot-%E6%88%91%E7%9A%84%E7%AC%AC%E4%B8%80%E5%80%8B-Rust-Discord-Bot/"/>
    <id>https://blog.leko.moe/2025/01/06/InvitationBot-%E6%88%91%E7%9A%84%E7%AC%AC%E4%B8%80%E5%80%8B-Rust-Discord-Bot/</id>
    <published>2025-01-05T19:27:28.000Z</published>
    <updated>2026-04-07T16:35:08.844Z</updated>
    
    <content type="html"><![CDATA[<p>因為 MEE6 的 <code>/invites</code> 指令時好時壞的，所以這週末決定自己寫一個，因為心血來潮而用了 Rust。</p><p>得益於先進的 LLM 技術，大約花了四小時就寫好了這個 bot，調試 CI 和 Rust 的 Cross Compile 之類的反而花了我整整一天 XD</p><p>感覺用 Python 寫的話早就寫完了，反正也不是什麼很需要效能的東西。</p><span id="more"></span><p>不過 Rust 寫起來確實很舒服，編譯過了基本上就沒問題了，不像 Python 那樣需要一直調試。</p><p>BTW sqlx 在編譯期居然需要一個 Live Database Connection 才能編譯，不然就要想辦法給他一個 preparation cache，在 Cross Compile 的時候這問題還蠻難 debug 的 (他會一直卡在那邊)，後面想想覺得不對通靈通出來的，好難用 :&lt;</p><p><a href="https://github.com/lekoOwO/InvitationBot">InvitationBot</a></p><p>–</p><p>開始上班之後就沒什麼精力寫技術向的東西了，這篇也蠻亂的，比較像心情記錄，就當作是雜談吧。</p><p>祝大家 2025 新年快樂 ：）</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;因為 MEE6 的 &lt;code&gt;/invites&lt;/code&gt; 指令時好時壞的，所以這週末決定自己寫一個，因為心血來潮而用了 Rust。&lt;/p&gt;
&lt;p&gt;得益於先進的 LLM 技術，大約花了四小時就寫好了這個 bot，調試 CI 和 Rust 的 Cross Compile 之類的反而花了我整整一天 XD&lt;/p&gt;
&lt;p&gt;感覺用 Python 寫的話早就寫完了，反正也不是什麼很需要效能的東西。&lt;/p&gt;</summary>
    
    
    
    <category term="dev" scheme="https://blog.leko.moe/categories/dev/"/>
    
    
    <category term="隨手記錄" scheme="https://blog.leko.moe/tags/%E9%9A%A8%E6%89%8B%E8%A8%98%E9%8C%84/"/>
    
    <category term="Rust" scheme="https://blog.leko.moe/tags/Rust/"/>
    
    <category term="Discord" scheme="https://blog.leko.moe/tags/Discord/"/>
    
    <category term="Bot" scheme="https://blog.leko.moe/tags/Bot/"/>
    
    <category term="心情" scheme="https://blog.leko.moe/tags/%E5%BF%83%E6%83%85/"/>
    
  </entry>
  
  <entry>
    <title>Ceph 踩雷小記</title>
    <link href="https://blog.leko.moe/2023/07/26/Ceph-%E8%B8%A9%E9%9B%B7%E5%B0%8F%E8%A8%98/"/>
    <id>https://blog.leko.moe/2023/07/26/Ceph-%E8%B8%A9%E9%9B%B7%E5%B0%8F%E8%A8%98/</id>
    <published>2023-07-26T08:47:00.000Z</published>
    <updated>2026-04-07T16:35:08.843Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>由於手賤多買了一台伺服器，現在家裡一共有三台 Server 在跑，於是決定將三台組成 Ceph，提供更彈性的磁碟使用方法和更高的容錯備援。</p><span id="more"></span><h2 id="安裝"><a href="#安裝" class="headerlink" title="安裝"></a>安裝</h2><p>系統規劃如下：</p><ul><li>三台都是 Proxmox VE</li><li>使用 cephadm 而不是 PVE 內建的 ceph</li><li>有兩台必須用 USB 開機引導至 SSD，有一台則可以原生 SSD 開機<ul><li>舊一點的機器不支援 PCIe &#x2F; NVMe 開機</li><li>兩台機器都有 Internal USB Port，我猜就是拿來這樣用的</li></ul></li></ul><p>轉移流程：</p><ul><li>將原先兩台 PVE 的 CT 和 VM 備份到兩顆硬碟中</li><li>關機、整線、上新機器</li><li>補 RAM、插 10G 網卡、補 SSD、插網路線<ul><li>因為只有三台，所以決定買有雙口的 10G 網卡組成環。</li></ul></li><li>補硬碟</li><li>刷 HBA<ul><li>將原本只有 RAID 模式的 RAID 卡刷成 HBA 模式</li></ul></li><li>裝系統</li><li>處理引導</li><li>裝 cephadm</li><li>將硬碟加入 ceph</li><li>蓋 Pool</li><li>還原 ct 和 vm</li><li>將還原用的硬碟 Wipe 掉以加入 ceph</li><li>等重新平衡完成</li></ul><h2 id="雷"><a href="#雷" class="headerlink" title="雷"></a>雷</h2><h3 id="systemd-boot"><a href="#systemd-boot" class="headerlink" title="systemd-boot"></a>systemd-boot</h3><p>在 <code>裝系統</code> 和 <code>處理引導</code> 這兩個步驟時，我們卡了好幾個小時 – </p><p>因為要使 Proxmox 能用 USB 開機，我們得使用 systemd-boot 的引導方式。</p><p>而 systemd-boot 不喜歡 lvm – 這會使得傳統的 ext4 安裝 PVE 無法使用 systemd-boot，就算將引導安裝好了，開機的時候他也會找不到 pool 因此無法開機。</p><p>解決方法是安裝在一個 Single Disk 的 ZFS(RAID0) 上。</p><p>詳細的安裝流程我有寫在 <a href="https://gist.github.com/lekoOwO/c31d9c2d846464aa94c25ba13bceaa24">gist</a> 上，有興趣的同學可以參閱。</p><h2 id="NAS"><a href="#NAS" class="headerlink" title="NAS"></a>NAS</h2><h3 id="目的"><a href="#目的" class="headerlink" title="目的"></a>目的</h3><p>由於原先 NAS 是安裝在 VM 裡的 Xpenology，硬碟部分是直接通了一個 10T 的 Block，在轉移到 Ceph 的 RBD 上時花了相當多的時間。</p><p>確認資料都還在之後，就一直在考慮要不要把裡面的資料轉到 rgw 或是 CephFS 上之類的再掛進 NAS，這樣以後要重裝或是資料轉移的時候就不用處理整個 Block Device，應該會省事很多。</p><h3 id="希望不受影響的功能"><a href="#希望不受影響的功能" class="headerlink" title="希望不受影響的功能"></a>希望不受影響的功能</h3><ul><li>Download Station<ul><li>RSS 下載<ul><li>會自動幫我載 BT，然後放進指定的資料夾裡面</li></ul></li></ul></li><li>Cloud Sync<ul><li>會自動幫我把資料 1:1 複製到 Cloud 上</li></ul></li><li>SMB<ul><li>區網要用</li></ul></li><li>NFS</li></ul><h3 id="方案"><a href="#方案" class="headerlink" title="方案"></a>方案</h3><h4 id="方案-1"><a href="#方案-1" class="headerlink" title="方案 1"></a>方案 1</h4><p>首選的方案規劃是:</p><ul><li>Ceph 蓋一個 NAS CephFS</li><li>NFS Export</li><li>NAS 掛 NFS</li><li>將資料轉移至 NFS 上</li></ul><p>不過在實作這個方案時遇到了一些問題:</p><h5 id="1-Ceph-只支援-NFSv4-1-的-Export"><a href="#1-Ceph-只支援-NFSv4-1-的-Export" class="headerlink" title="1. Ceph 只支援 NFSv4.1+ 的 Export"></a>1. Ceph 只支援 NFSv4.1+ 的 Export</h5><p>DSM 只支援掛載 NFSv3 和 NFSv4，並不支援 NFSv4.1。<br>雖然嘗試過更改型號、系統升級、手動使用 mount 指令等等，不過都無功而返，掛不起來。</p><p>另外，也嘗試過令 Ceph 強迫 export NFSv3，確實掛的起來，不過寫入一陣子 NFS Server 就會死掉，非常不穩定。</p><h5 id="2-NFS-的-Mount-並不支援-inotify-類的通知，因此-Cloud-Sync-有高機率無法使用"><a href="#2-NFS-的-Mount-並不支援-inotify-類的通知，因此-Cloud-Sync-有高機率無法使用" class="headerlink" title="2. NFS 的 Mount 並不支援 inotify 類的通知，因此 Cloud Sync 有高機率無法使用"></a>2. NFS 的 Mount 並不支援 inotify 類的通知，因此 Cloud Sync 有高機率無法使用</h5><p>由於通過網路掛載的磁碟系統寫入等的不一定會通過 kernel，因此 inotify 並不可靠，可以預想到 Cloud Sync 會無法使用。</p><p>因此此方案無法使用。</p><h4 id="方案-2"><a href="#方案-2" class="headerlink" title="方案 2"></a>方案 2</h4><p>方案 2 的規劃:</p><ul><li>Ceph 蓋一個 NAS CephFS</li><li>在 Proxmox VE 上 Mount 起來</li><li>使用 VirtFS (p9 folder sharing via VirtIO) 將 Folder share 給 DSM</li><li>在 DSM 內掛起來</li><li>將資料轉移至 Folder 上</li></ul><p>不過在實作這個方案時也遇到了一些問題:</p><h5 id="1-在-DSM-內-p9-的-mount-有些問題"><a href="#1-在-DSM-內-p9-的-mount-有些問題" class="headerlink" title="1. 在 DSM 內 p9 的 mount 有些問題"></a>1. 在 DSM 內 p9 的 mount 有些問題</h5><p>在確認過 DSM 有 p9 需要的相關 Kernel Module 後 (因為 vDSM 有需要，所以他們有內建)便開始實施這個計畫。<br>雖然成功將 Folder share 給 DSM 了，不過在 Mount 之後發現 Folder 有很奇怪的現象發生：</p><ul><li>在 DSM 內可以看到 Folder 被 Mount 了，不過無法 ls，會出現 <code>no such device or address</code> 的錯誤。</li><li>也無法讀取檔案內容 (<code>cat</code>)，或是寫入檔案內容 <code>echo &gt; file</code></li><li><code>touch</code> 和 <code>mkdir</code> 等指令也會出錯<ul><li>不過可以在 host 確認確實有這個檔案&#x2F;資料夾被新增，只是沒有內容。</li></ul></li><li>但可以確認到在檔案被建立後，在 DSM 內 <code>ls -d file</code> 是可以確認到檔案的存在的</li></ul><p>懷疑過是 CephFS 本身的鍋，因此改掛 NFS 並同樣 Share 給 VM，問題依舊。<br>也懷疑過是 Share 的 permission 問題，因此嘗試了 <code>passthrough</code>、<code>mapped</code>、<code>none</code> 等各種屬性，結果還是一樣。</p><p>這個問題試了一兩天都無法解決，因此此方案無法實現，否則這個方案應該是蠻漂亮的，可惜了。</p><h4 id="方案-3"><a href="#方案-3" class="headerlink" title="方案 3"></a>方案 3</h4><p>方案 3 的規劃: </p><ul><li>棄用 DSM，改用 NextCloud</li><li>NextCloud 用 External Storage 掛 S3<ul><li>Ceph 蓋一個 rgw export 給 NextCloud</li></ul></li><li>將資料轉移到 NextCloud 上</li></ul><p>原先的服務:</p><ul><li>Download Station<ul><li>改用 NCDownloader (Aria2 + yt-dlp)</li><li>RSS 下載使用 FlexGet 實現</li></ul></li><li>Cloud Sync<ul><li>似乎無法達成</li><li>有想過在一個 VM 內掛 s3fs 並使用 inotify 之類的監聽，rclone 到 remote<ul><li>不過老問題，這種遠端掛載的 fs 都不支援 inotify，何況 s3fs 並不是完整的檔案系統。</li></ul></li></ul></li><li>SMB<ul><li>蓋一個 Samba VM，掛 s3fs 後 export</li><li>或是直接用 Nextcloud App</li></ul></li><li>NFS<ul><li>由 Ceph Export</li></ul></li></ul><p>這個方案除了 Cloud Sync 不能用以外，應該還算堪用，因此我有先將一個 Nextcloud 架起來。</p><p>不過目前資料還沒搬上去，還在猶豫中，因為 Cloud Sync 不能用了真的很傷。</p><h4 id="方案-4"><a href="#方案-4" class="headerlink" title="方案 4"></a>方案 4</h4><p>方案 4 的規劃：</p><ul><li>繼續用 DSM</li><li>Download Station 的 Temp 用同一個 Block Device 太笨了<ul><li>Replica 3&#x2F;2，寫入放大會很嚴重</li><li>改建 EC（k&#x3D;2, m&#x3D;1) 的 CephFS，用作 Download Station 的 Temp Dir</li></ul></li></ul><p>目前已經實裝完成，沒有甚麼大麻煩，不過問題還是沒解決，只舒緩了一點寫入放大的副作用而已。</p><p>目前還是希望有更好的方案出現，方案 3 有點笨。</p><h4 id="一些失敗的方向"><a href="#一些失敗的方向" class="headerlink" title="一些失敗的方向"></a>一些失敗的方向</h4><h5 id="DSM-掛-s3fs"><a href="#DSM-掛-s3fs" class="headerlink" title="DSM 掛 s3fs"></a>DSM 掛 s3fs</h5><p>不行，s3fs-fuse 裝不起來。</p><h5 id="DSM-掛-NFSv4-1"><a href="#DSM-掛-NFSv4-1" class="headerlink" title="DSM 掛 NFSv4.1"></a>DSM 掛 NFSv4.1</h5><p>不知道問題出在哪，因為他有 NFSv4.1 的 Server ，不知道為什麼 NFS Client 沒有支援。</p><p>DSM 跑的是一個精簡的 debian，但我找不到問題在哪，也不敢亂裝東西。</p><h4 id="不想嘗試的方向"><a href="#不想嘗試的方向" class="headerlink" title="不想嘗試的方向"></a>不想嘗試的方向</h4><h5 id="rclone-掛-s3fs"><a href="#rclone-掛-s3fs" class="headerlink" title="rclone 掛 s3fs"></a>rclone 掛 s3fs</h5><p>感覺太不穩了</p><p>希望能找到解決 9p mount 的方法，不過上網查了很久沒有看到有人有相關的錯誤，一點頭緒都沒有。</p><p>有空的話應該會另外開一台 VM 來試到底是 export 有問題還是 DSM 的 mount 有問題。</p><h2 id="後記"><a href="#後記" class="headerlink" title="後記"></a>後記</h2><p>這篇文章本來沒打算打那麼長的，但一不小心就打了三千六百字，應該是第一篇分享那麼長的系統建置文章，好累。</p>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;p&gt;由於手賤多買了一台伺服器，現在家裡一共有三台 Server 在跑，於是決定將三台組成 Ceph，提供更彈性的磁碟使用方法和更高的容錯備援。&lt;/p&gt;</summary>
    
    
    
    <category term="ops" scheme="https://blog.leko.moe/categories/ops/"/>
    
    
    <category term="Ceph" scheme="https://blog.leko.moe/tags/Ceph/"/>
    
    <category term="Server" scheme="https://blog.leko.moe/tags/Server/"/>
    
    <category term="系統建置" scheme="https://blog.leko.moe/tags/%E7%B3%BB%E7%B5%B1%E5%BB%BA%E7%BD%AE/"/>
    
    <category term="隨手記錄" scheme="https://blog.leko.moe/tags/%E9%9A%A8%E6%89%8B%E8%A8%98%E9%8C%84/"/>
    
  </entry>
  
  <entry>
    <title>搬家撒花~~</title>
    <link href="https://blog.leko.moe/2023/07/26/%E6%90%AC%E5%AE%B6%E6%92%92%E8%8A%B1/"/>
    <id>https://blog.leko.moe/2023/07/26/%E6%90%AC%E5%AE%B6%E6%92%92%E8%8A%B1/</id>
    <published>2023-07-25T16:22:06.000Z</published>
    <updated>2026-04-07T16:35:08.848Z</updated>
    
    <content type="html"><![CDATA[<p>雷雷今天把原本在 WordPress 的舊 Blog 搬到 hexo 上了，撒花慶祝 owo&#x2F;&#x2F;</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;雷雷今天把原本在 WordPress 的舊 Blog 搬到 hexo 上了，撒花慶祝 owo&amp;#x2F;&amp;#x2F;&lt;/p&gt;
</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>VirtViewer Passthrough USB 時 Crash 問題</title>
    <link href="https://blog.leko.moe/2023/03/19/VirtViewer-Passthrough-USB-%E6%99%82-Crash-%E5%95%8F%E9%A1%8C/"/>
    <id>https://blog.leko.moe/2023/03/19/VirtViewer-Passthrough-USB-%E6%99%82-Crash-%E5%95%8F%E9%A1%8C/</id>
    <published>2023-03-19T07:50:00.000Z</published>
    <updated>2026-04-07T16:35:08.847Z</updated>
    
    <content type="html"><![CDATA[<p>在 11 版 (latest) 的 VirtViewer Passthrough USB 時會 Crash<br>發現把 bin&#x2F;libusb-1.0.dll 換成<a download="libusb-1.0.dll" href="data:application/x-msdownload;base64,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AAC6AQAAAESLddjoBNv//0iLRfgPtl3giFgE6eP8//8PH0AASItFuEyJ60gpw0E5xQ+FpQAAAEiLRdBIx0AQAAAAAMdAGAAAAACF9g+EvQIAAEhjxgF12EEp90gBx0iLRfiDReABi3XgD7ZABDnGD432AAAASINF0CBBg/8BD49A/v//RIl8JCBIi01gTI0NmAwCAEyNBZkQAgDHRCQoAgAAALoBAAAAQb//////6GHa///pGf///w8fQABEi014TItF0EiNFYYMAgBIifnoYff//+k//v//Dx9AAExj60yJ6ejl3AEASInBSItF0EiJSBBIhckPhAICAABIi1W4TYno6L3cAQBIi0XQiVgY6Tf///+QiVQkKEiLTWBMjQ0JDAIATI0FChACAESJfCQgugIAAABEi3XY6NfZ///pzv7//4lEJChIi01gTI0NUwwCAEyNBdwPAgCJXCQgugIAAADortn//+nf/v//RIt12OmP+///RIn2TIttyESLdcSF9g+FDfz//0iLRegPtn3cRYn3QIh4BOkj/P//iUQkIEiLTWC6AQAAAESJ9kyNDQIKAgDHRCQoBAAAAEyNBYMPAgBMi23IRIt1xOhG2f//66+JRCQoSItNYLoCAAAARIn2RIl8JCBMjQ2wCgIATI0FUQ8CAEyLbchEi3XE6BTZ///pev///4lEJCBMjQ1sCgIA6RD6//+JVCQgTI0NnQoCAOkA+v//x0QkKAIAAABMjQ2ACQIAiUQkIEiLTWBMjQURDwIAugEAAABBv//////owdj//+lF+v//x0QkKAkAAABEiXwkIEyNDRgJAgDryol8JCBMjQ1+CQIASItNYEyNBdAOAgC6AQAAAEG//////+iA2P//6QT6//+JVCQgTI0NvQoCAOkN/f//RIlkJCBMjQ0mCQIA68JEiWQkKOuiQb/1////6dT5//9Bv/X////pdfn//0G/9f///+ny/P//SInZQb/1////6CfbAQDp3/z//0G/9f///+nK+f//x0AYAAAAAEG/9f///+nC/P//RIt12On4/P//ZmYuDx+EAAAAAACQVUiJ5UiD7DBIiwUhdwIAx0X8AAAAAEiNUWRMjUX8/1BIhcB4B4tF/IXAdQxIg8QwXcNmDx9EAAAxwEiDxDBdw1VWU0iJ5UiD7CBMjQ3ICgIATI0FWA4CAEiJzkiJ0zHJ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JCDofVz//0jHBVpbAgAAAAAA6QP9//8PH0QAADHJ6KHW//9MjQ3atgEAugEAAABMielIiUQkKEiNBc63AQBMjQX/twEASIlEJCDoNVz//0jHBRpbAgAAAAAA6bv8//8PH0QAADHJ6FnW//9MjQ2StgEAugEAAABMielIiUQkKEiNBZ63AQBMjQW3twEASIlEJCDo7Vv//0jHBdpaAgAAAAAA6XP8//8xyUG8nf///+gQ1v//TI0NqbUBALoCAAAATInpSIlEJCBMjQWttwEA6LBb///p7/v//+jm1f//TI0N57UBALoBAAAATInpSIlEJCBMjQVrtwEAQbz7////6IBb///pv/v///8VsZMCAEG8+////z0kBAAAD4So+///McnondX//0yNDW61AQC6AgAAAEyJ6UiJRCQgTI0FOrcBAOg9W///6Xz7//+QkJCQkJCQkEmJyYnRSYuB0AUAAEiFwHQtQQ+2UUmE0nQkg+oBD7bSTI1M0AgPHwBIixBIhdJ0BThKBXQTSIPACEw5yHXquPv////DDx9AAA+3QgJJiRDDSItBQEiLgJAAAABIi0A4SInKSIXAdAm5/////0j/4JDDZmYuDx+EAAAAAAAPH0AASItBQA+2gIgAAACEwHQRRTHAiQJEicDDDx+EAAAAAAAxwEG4+////+voZg8fRAAASItBaEiLQEBIi4CQAAAAQYnQSInKuf////9Ii4CYAAAASP/gZmYuDx+EAAAAAACQSGMBSI0EQIuEgagAAADDkFVTSIPsKEiNrCSAAAAAg/n/dQpIi0JAi4ioAAAASGPJSInISMHgBEgpyEiNDV9ZAgBIjQTBiwiFyXQ1TWPAScHgBEqNHAJIi0tgSI1R/0iD+v13LP9QIEjHQ2D/////McBIg8QoW13DDx+EAAAAAAC4/f///+vqZg8fhAAAAAAAuPv////r2mYPH4QAAAAAAEUx0kyNShBIg8FESYsBSIPoAUiD+P13OEiLQQRIhcB0Lw++EYTSfiiD6gFIjVQQAesPZg8fRAAASIPAAUg50HQPRDgAdfJEidDDZg8fRAAAQYPCAUmDwRBIg8EoQYP6IHWpQbr/////RInQww8fQAAxwMNmZi4PH4QAAAAAAGaQiw1iWAIASItCQIXJdEJNY8BLjQyASIO8yLAAAAAAdCBJweAESQHQSYF4WLXRAAB1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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAEB6YmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAR3piawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAABbemJrAAAAAAAAAAAAAAAAAAAAAAAAAABAKGJrAAAAAAAAAAAAAAAA//////////8AAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAYAAAAa////2gAAAABAAAAAAAAAA4AAAAAAAAAAAAAAEAAAADDv///wD8AAAEAAAAAAAAADgAAAAAAAAAAAAAAQAAAAMO////APwAAAQAAAAAAAAAOAAAAAAAAAAAAAAAAH2NrAAAAAAAAAAAAAAAAsCNiawAAAADQImJrAAAAAKAiYmsAAAAAAAAAAAAAAAAQJmJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1bmtub3duAGVycm9yAGluZm8AZGVidWcAd2FybmluZwBMSUJVU0JfREVCVUcAAABbdGltZXN0YW1wXSBbdGhyZWFkSURdIGZhY2lsaXR5IGxldmVsIFtmdW5jdGlvbiBjYWxsXSA8bWVzc2FnZT4KAAAAAAAAAAAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoAAAAAAAAAWyUyZC4lMDZkXSBbJTA4eF0gbGlidXNiOiAlcyBbJXNdIABsaWJ1c2I6ICVzIFslc10gABrY/f8M2v3/RNn9/yza/f8c2v3/dG9vIG1hbnkgY29uZmlndXJhdGlvbnMAemVybyBjb25maWd1cmF0aW9ucywgbWF5YmUgYW4gdW5hdXRob3JpemVkIGRldmljZQAAAAAAAABwb3J0IG51bWJlcnMgYXJyYXkgaXMgdG9vIHNtYWxsAGNvdWxkIG5vdCByZXRyaWV2ZSBhY3RpdmUgY29uZmlnIGRlc2NyaXB0b3IAZGVzdHJveSBkZXZpY2UgJWQuJWQAbmVlZCB0byBpbmNyZWFzZSBjYXBhY2l0eQAAAAAAAGludGVybmFsIHNpZ25hbGxpbmcgd3JpdGUgZmFpbGVkAAAAAAAAAABpbnRlcm5hbCBzaWduYWxsaW5nIHJlYWQgZmFpbGVkAG9wZW4gJWQuJWQAb3BlbiAlZC4lZCByZXR1cm5zICVkAAAAAAAAAABmYWxsaW5nIGJhY2sgdG8gY29udHJvbCBtZXNzYWdlAHplcm8gYnl0ZXMgcmV0dXJuZWQgaW4gY3RybCB0cmFuc2Zlcj8AY29udHJvbCBmYWlsZWQsIGVycm9yICVkAGFjdGl2ZSBjb25maWcgJWQAY29uZmlndXJhdGlvbiAlZABpbnRlcmZhY2UgJWQAaW50ZXJmYWNlICVkIGFsdHNldHRpbmcgJWQAZW5kcG9pbnQgJXgAc3RyZWFtcyAldSBlcHMgJWQAZXBzICVkAHJldXNpbmcgZGVmYXVsdCBjb250ZXh0AGNyZWF0ZWQgZGVmYXVsdCBjb250ZXh0AGxpYnVzYiB2JXUuJXUuJXUuJXUlcwAAAAAAbm90IGRlc3Ryb3lpbmcgZGVmYXVsdCBjb250ZXh0AGRlc3Ryb3lpbmcgZGVmYXVsdCBjb250ZXh0AAAAAAAAAHNvbWUgbGlidXNiX2RldmljZXMgd2VyZSBsZWFrZWQAYXBwbGljYXRpb24gbGVmdCBzb21lIGRldmljZXMgb3BlbgAAAAAAAERldmljZSBoYW5kbGUgY2xvc2VkIHdoaWxlIHRyYW5zZmVyIHdhcyBzdGlsbCBiZWluZyBwcm9jZXNzZWQsIGJ1dCB0aGUgZGV2aWNlIGlzIHN0aWxsIGNvbm5lY3RlZCBhcyBmYXIgYXMgd2Uga25vdwAAAAAAAEEgY2FuY2VsbGF0aW9uIGZvciBhbiBpbi1mbGlnaHQgdHJhbnNmZXIgaGFzbid0IGNvbXBsZXRlZCBidXQgY2xvc2luZyB0aGUgZGV2aWNlIGhhbmRsZQBBIGNhbmNlbGxhdGlvbiBoYXNuJ3QgZXZlbiBiZWVuIHNjaGVkdWxlZCBvbiB0aGUgdHJhbnNmZXIgZm9yIHdoaWNoIHRoZSBkZXZpY2UgaXMgY2xvc2luZwAAAAAAAABSZW1vdmVkIHRyYW5zZmVyICVwIGZyb20gdGhlIGluLWZsaWdodCBsaXN0IGJlY2F1c2UgZGV2aWNlIGhhbmRsZSAlcCBjbG9zZWQAKipVTktOT1dOKioATElCVVNCX0VSUk9SX0lPAExJQlVTQl9FUlJPUl9BQ0NFU1MATElCVVNCX0VSUk9SX05PX0RFVklDRQBMSUJVU0JfRVJST1JfTk9UX0ZPVU5EAExJQlVTQl9FUlJPUl9CVVNZAExJQlVTQl9FUlJPUl9USU1FT1VUAExJQlVTQl9FUlJPUl9PVkVSRkxPVwBMSUJVU0JfRVJST1JfUElQRQBMSUJVU0JfRVJST1JfSU5URVJSVVBURUQATElCVVNCX0VSUk9SX05PX01FTQBMSUJVU0JfRVJST1JfTk9UX1NVUFBPUlRFRABMSUJVU0JfRVJST1JfT1RIRVIATElCVVNCX1RSQU5TRkVSX0VSUk9SAExJQlVTQl9UUkFOU0ZFUl9USU1FRF9PVVQATElCVVNCX1RSQU5TRkVSX0NBTkNFTExFRABMSUJVU0JfVFJBTlNGRVJfU1RBTEwATElCVVNCX1RSQU5TRkVSX05PX0RFVklDRQBMSUJVU0JfVFJBTlNGRVJfT1ZFUkZMT1cAAExJQlVTQl9TVUNDRVNTIC8gTElCVVNCX1RSQU5TRkVSX0NPTVBMRVRFRABMSUJVU0JfRVJST1JfSU5WQUxJRF9QQVJBTQAAAMjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/zjw/f848P3/OPD9/8Dw/f+48P3/sPD9/6jw/f+g8P3/mPD9/5Dw/f+I8P3/gPD9/3jw/f/Y8P3/0PD9/3Dw/f9o8P3/YPD9/1jw/f9Q8P3/SPD9/0Dw/f9saWJ1c2JfZXhpdAAAAAAAbGlidXNiX2luaXQAAAAAAGxpYnVzYl9hdHRhY2hfa2VybmVsX2RyaXZlcgAAAAAAbGlidXNiX2RldGFjaF9rZXJuZWxfZHJpdmVyAAAAAABsaWJ1c2Jfa2VybmVsX2RyaXZlcl9hY3RpdmUAAAAAAGxpYnVzYl9mcmVlX3N0cmVhbXMAAAAAAAAAAAAAAAAAbGlidXNiX2FsbG9jX3N0cmVhbXMAAAAAAAAAAAAAAABsaWJ1c2JfcmVzZXRfZGV2aWNlAAAAAAAAAAAAAAAAAGxpYnVzYl9jbGVhcl9oYWx0AAAAAAAAAAAAAAAAAAAAbGlidXNiX3NldF9pbnRlcmZhY2VfYWx0X3NldHRpbmcAAAAAAAAAAAAAAAAAAAAAbGlidXNiX3JlbGVhc2VfaW50ZXJmYWNlAAAAAAAAAABsaWJ1c2JfY2xhaW1faW50ZXJmYWNlAAAAAAAAAAAAAGxpYnVzYl9zZXRfY29uZmlndXJhdGlvbgAAAAAAAAAAbGlidXNiX2dldF9jb25maWd1cmF0aW9uAAAAAAAAAABkb19jbG9zZQAAAAAAAAAAbGlidXNiX2Nsb3NlAAAAAGxpYnVzYl9vcGVuAAAAAAB1c2JpX2NsZWFyX2V2ZW50AAAAAAAAAAAAAAAAAAAAAHVzYmlfc2lnbmFsX2V2ZW50AAAAAAAAAAAAAAAAAAAAbGlidXNiX3VucmVmX2RldmljZQAAAAAAAAAAAAAAAABsaWJ1c2JfZ2V0X21heF9pc29fcGFja2V0X3NpemUAAGxpYnVzYl9nZXRfbWF4X3BhY2tldF9zaXplAAAAAAAAbGlidXNiX2dldF9wb3J0X251bWJlcnMAAAAAAAAAAABsaWJ1c2JfZ2V0X2RldmljZV9saXN0AAAAAAAAAAAAAHVzYmlfc2FuaXRpemVfZGV2aWNlAAAAAAAAAAAAAAAAZGlzY292ZXJlZF9kZXZzX2FwcGVuZABodHRwOi8vbGlidXNiLmluZm8AAAAAAAAAAQAAABYAMCzjQWJrAAAAAPdLYmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc2hvcnQgY29uZmlnIGRlc2NyaXB0b3IgcmVhZCAlZC8lZABiYndiYmJiYgAAAAAAdW5leHBlY3RlZCBkZXNjcmlwdG9yICV4IChleHBlY3RlZCAleCkAaW52YWxpZCBjb25maWcgYkxlbmd0aCAoJWQpAHRvbyBtYW55IGludGVyZmFjZXMgKCVkKQBiYgAAaW52YWxpZCBleHRyYSBjb25maWcgZGVzYyBsZW4gKCVkKQAAAAAAAHNob3J0IGV4dHJhIGNvbmZpZyBkZXNjIHJlYWQgJWQvJWQAc2tpcHBpbmcgZGVzY3JpcHRvciAweCV4AAAAAABpbnZhbGlkIGludGVyZmFjZSBiTGVuZ3RoICglZCkAAHNob3J0IGludGYgZGVzY3JpcHRvciByZWFkICVkLyVkAHRvbyBtYW55IGVuZHBvaW50cyAoJWQpAAAAAAAAAABpbnZhbGlkIGV4dHJhIGludGYgZGVzYyBsZW4gKCVkKQAAAAAAAAAAc2hvcnQgZXh0cmEgaW50ZiBkZXNjIHJlYWQgJWQvJWQAAAAAAAAAAHNob3J0IGVuZHBvaW50IGRlc2NyaXB0b3IgcmVhZCAlZC8lZABiYmJid2JiYgBiYmJid2IAaW52YWxpZCBlbmRwb2ludCBiTGVuZ3RoICglZCkAAAAAAABpbnZhbGlkIGV4dHJhIGVwIGRlc2MgbGVuICglZCkAAHNob3J0IGV4dHJhIGVwIGRlc2MgcmVhZCAlZC8lZABza2lwcGluZyBkZXNjcmlwdG9yICV4AAAAcGFyc2VfY29uZmlndXJhdGlvbiBmYWlsZWQgd2l0aCBlcnJvciAlZAAAAAAAAAAAc3RpbGwgJWQgYnl0ZXMgb2YgZGVzY3JpcHRvciBkYXRhIGxlZnQAYmJiYmJiYmJiAABiYncAaW5kZXggJWQAdmFsdWUgJWQAaW52YWxpZCBkZXNjcmlwdG9yIGxlbmd0aCAlZAAAAABpbnZhbGlkIHNzLWVwLWNvbXAtZGVzYyBsZW5ndGggJWQAYmJiYncAZmFpbGVkIHRvIHJlYWQgQk9TICglZCkAc2hvcnQgQk9TIHJlYWQgJWQvJWQAYmJ3YgAAAAAAAABmb3VuZCBCT1MgZGVzY3JpcHRvcjogc2l6ZSAlZCBieXRlcywgJWQgY2FwYWJpbGl0aWVzAAAAAHNob3J0IGJvcyBkZXNjcmlwdG9yIHJlYWQgJWQvJWQAaW52YWxpZCBib3MgYkxlbmd0aCAoJWQpAAAAAAAAAABzaG9ydCBkZXYtY2FwIGRlc2NyaXB0b3IgcmVhZCAlZC8lZABiYmIAaW52YWxpZCBkZXYtY2FwIGJMZW5ndGggKCVkKQAAAAB1bmV4cGVjdGVkIGJEZXZDYXBhYmlsaXR5VHlwZSAleCAoZXhwZWN0ZWQgJXgpAGJiYmQAYmJiYndiYncAYmJiYnUAAAAAAAAAAAAAAAAAAGxpYnVzYl9nZXRfY29udGFpbmVyX2lkX2Rlc2NyaXB0b3IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsaWJ1c2JfZ2V0X3NzX3VzYl9kZXZpY2VfY2FwYWJpbGl0eV9kZXNjcmlwdG9yAAAAAAAAAAAAAAAAAAAAAAAAbGlidXNiX2dldF91c2JfMl8wX2V4dGVuc2lvbl9kZXNjcmlwdG9yAHBhcnNlX2JvcwAAAAAAAAAAAAAAAAAAAGxpYnVzYl9nZXRfYm9zX2Rlc2NyaXB0b3IAAAAAAAAAbGlidXNiX2dldF9zc19lbmRwb2ludF9jb21wYW5pb25fZGVzY3JpcHRvcgAAAAAAdXNiaV9nZXRfY29uZmlnX2luZGV4X2J5X3ZhbHVlAABsaWJ1c2JfZ2V0X2NvbmZpZ19kZXNjcmlwdG9yAAAAAHBhcnNlX2VuZHBvaW50AABwYXJzZV9pbnRlcmZhY2UAcGFyc2VfY29uZmlndXJhdGlvbgAAAAAAAAAAAAAAAAByYXdfZGVzY190b19jb25maWcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsaWJ1c2JfZ2V0X2FjdGl2ZV9jb25maWdfZGVzY3JpcHRvcgAAAAAAAAAAAAAAAABsaWJ1c2JfZ2V0X2RldmljZV9kZXNjcmlwdG9yAAAAAAAAAAAAAAAAAAAAAAAAAABkZXJlZ2lzdGVyIGhvdHBsdWcgY2IgJWQAAAAAAAAAAGVycm9yIGFsbG9jYXRpbmcgaG90cGx1ZyBtZXNzYWdlAAAAAAAAAABuZXcgaG90cGx1ZyBjYiAlcCB3aXRoIGhhbmRsZSAlZAAAAAAAAAAAZnJlZWluZyBob3RwbHVnIGNiICVwIHdpdGggaGFuZGxlICVkAAAAAAAAAAAAAAAAdXNiaV9ob3RwbHVnX2RlcmVnaXN0ZXIAAAAAAAAAAABsaWJ1c2JfaG90cGx1Z19kZXJlZ2lzdGVyX2NhbGxiYWNrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbGlidXNiX2hvdHBsdWdfcmVnaXN0ZXJfY2FsbGJhY2sAAAAAAAAAAAAAAAAAAAAAdXNiaV9ob3RwbHVnX25vdGlmaWNhdGlvbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHJhbnNmZXIgJXAAAAAAAGZhaWxlZCB0byByZWFkIG1vbm90b25pYyBjbG9jaywgZXJybm89JWQAAAAAAAAAAGNhbmNlbCB0cmFuc2ZlciBmYWlsZWQgZXJyb3IgJWQAYXN5bmMgY2FuY2VsIGZhaWxlZCAlZCBlcnJubz0lZABwb2xsIGZkcyBtb2RpZmllZCwgcmVhbGxvY2F0aW5nAC4uLy4uL2xpYnVzYi9pby5jAAAAAAAAAGN0eC0+cG9sbGZkc19jbnQgPj0gaW50ZXJuYWxfbmZkcwBwb2xsIGZhaWxlZCAlZCBlcnI9JWQAY2F1Z2h0IGEgZmlzaCBvbiB0aGUgZXZlbnQgcGlwZQBzb21lb25lIHVwZGF0ZWQgdGhlIHBvbGwgZmRzAHNvbWVvbmUgcHVycG9zZWx5IGludGVycnVwdGVkAAAAAAAAc29tZW9uZSB1bnJlZ2lzdGVyZWQgYSBob3RwbHVnIGNiAHNvbWVvbmUgaXMgY2xvc2luZyBhIGRldmljZQBob3RwbHVnIG1lc3NhZ2UgcmVjZWl2ZWQAAGJhY2tlbmQgaGFuZGxlX3RyYW5zZmVyX2NvbXBsZXRpb24gZmFpbGVkIHdpdGggZXJyb3IgJWQAYmFja2VuZCBoYW5kbGVfZXZlbnRzIGZhaWxlZCB3aXRoIGVycm9yICVkAAAAAAAAcG9sbCgpICVkIGZkcyB3aXRoIHRpbWVvdXQgaW4gJWRtcwBwb2xsKCkgcmV0dXJuZWQgJWQAAABpbnRlcnByZXRpbmcgc2hvcnQgdHJhbnNmZXIgYXMgZXJyb3IAdHJhbnNmZXIgJXAgaGFzIGNhbGxiYWNrICVwAGRldGVjdGVkIHRpbWVvdXQgY2FuY2VsbGF0aW9uAABzb21lb25lIGVsc2UgaXMgY2xvc2luZyBhIGRldmljZQAAbm8gVVJCcywgbm8gdGltZW91dCEAAG5vIFVSQiB3aXRoIHRpbWVvdXQgb3IgYWxsIGhhbmRsZWQgYnkgT1M7IG5vIHRpbWVvdXQhAGZpcnN0IHRpbWVvdXQgYWxyZWFkeSBleHBpcmVkAG5leHQgdGltZW91dCBpbiAlZC4lMDZkcwBkb2luZyBvdXIgb3duIGV2ZW50IGhhbmRsaW5nAAAAAAAAAGV2ZW50IGhhbmRsZXIgd2FzIGFjdGl2ZSBidXQgd2VudCBhd2F5LCByZXRyeWluZwAAAAAAAAAAYW5vdGhlciB0aHJlYWQgaXMgZG9pbmcgZXZlbnQgaGFuZGxpbmcAYWRkIGZkICVkIGV2ZW50cyAlZAByZW1vdmUgZmQgJWQAY291bGRuJ3QgZmluZCBmZCAlZCB0byByZW1vdmUAAABleHRlcm5hbCBwb2xsaW5nIG9mIGxpYnVzYidzIGludGVybmFsIGRlc2NyaXB0b3JzIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIG9uIFdpbmRvd3MgcGxhdGZvcm1zAGRldmljZSAlZC4lZAAAAAAAAAAAY2FuY2VsbGluZyB0cmFuc2ZlciAlcCBmcm9tIGRpc2Nvbm5lY3QAAAAAAAAAAAAAdXNiaV9oYW5kbGVfZGlzY29ubmVjdAAAAAAAAAAAAABsaWJ1c2JfZ2V0X3BvbGxmZHMAAAAAAAAAAAAAAAAAAHVzYmlfcmVtb3ZlX3BvbGxmZAAAAAAAAAAAAAAAAAAAdXNiaV9hZGRfcG9sbGZkAGxpYnVzYl9nZXRfbmV4dF90aW1lb3V0AGhhbmRsZV90aW1lb3V0AABoYW5kbGVfZXZlbnRzAAAAAAAAAAAAAABsaWJ1c2JfaGFuZGxlX2V2ZW50c190aW1lb3V0X2NvbXBsZXRlZAAAAAAAAAAAAABsaWJ1c2JfaW50ZXJydXB0X2V2ZW50X2hhbmRsZXIAAGxpYnVzYl9ldmVudF9oYW5kbGVyX2FjdGl2ZQAAAAAAbGlidXNiX2V2ZW50X2hhbmRsaW5nX29rAAAAAAAAAABsaWJ1c2JfdHJ5X2xvY2tfZXZlbnRzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2JpX2hhbmRsZV90cmFuc2Zlcl9jYW5jZWxsYXRpb24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNiaV9oYW5kbGVfdHJhbnNmZXJfY29tcGxldGlvbgBsaWJ1c2JfY2FuY2VsX3RyYW5zZmVyAAAAAAAAAAAAAGNhbGN1bGF0ZV90aW1lb3V0AAAAAAAAAAAAAAAAAAAAbGlidXNiX3N1Ym1pdF90cmFuc2ZlcgAAAAAAAAAAAABsaWJ1c2JfZnJlZV90cmFuc2ZlcgAAAAAAAAAAAAAAAGxpYnVzYl9hbGxvY190cmFuc2ZlcgAAAAAAAAAAAAAAZW4AU3VjY2VzcwBJbnB1dC9PdXRwdXQgRXJyb3IASW52YWxpZCBwYXJhbWV0ZXIAQWNjZXNzIGRlbmllZCAoaW5zdWZmaWNpZW50IHBlcm1pc3Npb25zKQAAAAAAAAAATm8gc3VjaCBkZXZpY2UgKGl0IG1heSBoYXZlIGJlZW4gZGlzY29ubmVjdGVkKQBFbnRpdHkgbm90IGZvdW5kAFJlc291cmNlIGJ1c3kAT3BlcmF0aW9uIHRpbWVkIG91dABPdmVyZmxvdwBQaXBlIGVycm9yAAAAU3lzdGVtIGNhbGwgaW50ZXJydXB0ZWQgKHBlcmhhcHMgZHVlIHRvIHNpZ25hbCkASW5zdWZmaWNpZW50IG1lbW9yeQAAAAAAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgb3IgdW5pbXBsZW1lbnRlZCBvbiB0aGlzIHBsYXRmb3JtAE90aGVyIGVycm9yAEdlbHVrdABJbnZvZXItL3VpdHZvZXJmb3V0AE9uZ2VsZGlnIGFyZ3VtZW50AAAAAAAAVG9lZ2FuZyBnZXdlaWdlcmQgKG9udm9sZG9lbmRlIHRvZWdhbmdzcmVjaHRlbikAQXBwYXJhYXQgYmVzdGFhdCBuaWV0ICh2ZXJiaW5kaW5nIG1ldCBhcHBhcmFhdCB2ZXJicm9rZW4/KQBOaWV0IGdldm9uZGVuAEFwcGFyYWF0IG9mIGh1bHBicm9uIGlzIGJlemlnAEJld2Vya2luZyB2ZXJsb3BlbgBXYWFyZGUgaXMgdGUgZ3Jvb3QAR2Vicm9rZW4gcGlqcABPbmRlcmJyb2tlbiBzeXN0ZWVtYWFucm9lcAAAAE9udm9sZG9lbmRlIGdlaGV1Z2VuIGJlc2NoaWtiYWFyAAAAAAAAAABCZXdlcmtpbmcgd29yZHQgbmlldCBvbmRlcnN0ZXVuZABBbmRlcmUgZm91dABTdWNjw6hzAEVycmV1ciBkJ2VudHLDqWUvc29ydGllAFBhcmFtw6h0cmUgaW52YWxpZGUAAAAAAAAAAEFjY8OocyByZWZ1c8OpIChwZXJtaXNzaW9ucyBpbnN1ZmZpc2FudGVzKQAAAAAAAFDDqXJpcGjDqXJpcXVlIGludHJvdXZhYmxlIChwZXV0LcOqdHJlIGTDqWNvbm5lY3TDqSkARWzDqW1lbnQgaW50cm91dmFibGUAUmVzb3VyY2UgZMOpasOgIG9jY3Vww6llAE9wZXJhdGlvbiBleHBpcsOpZQBEw6lib3JkZW1lbnQARXJyZXVyIGRlIHBpcGUAAAAAAAAAQXBwZWwgc3lzdMOobWUgYWJhbmRvbm7DqSAocGV1dC3DqnRyZSDDoCBjYXVzZSBk4oCZdW4gc2lnbmFsKQBNw6ltb2lyZSBpbnN1ZmZpc2FudGUAAAAAAE9ww6lyYXRpb24gbm9uIHN1cHBvcnTDqWUgb3Igbm9uIGltcGzDqW1lbnTDqWUgc3VyIGNldHRlIHBsYXRlZm9ybWUAQXV0cmUgZXJyZXVyANCj0YHQv9C10YUAAAAAANCe0YjQuNCx0LrQsCDQstCy0L7QtNCwL9Cy0YvQstC+0LTQsAAAAADQndC10LLQtdGA0L3Ri9C5INC/0LDRgNCw0LzQ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AAAAAGZkX3RhYmxlW2ZkXS0+b3ZlcmxhcHBlZC5JbnRlcm5hbCA9PSBTVEFUVVNfV0FJVF8wAAAAAAAAdXNiaV9yZWFkAAAAAAAAAHVzYmlfd3JpdGUAAAAAAABjaGVja19wb2xsZmRzAAAAdXNiaV9wb2xsAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjb3VsZCBub3Qgd2FpdCBmb3IgdGltZXIgdGhyZWFkIHRvIHF1aXQAc3dpdGNoaW5nIGNvbnRleHQgJXAgdG8gdXNlIFVzYkRrIGJhY2tlbmQAVXNiRGsgYmFja2VuZCBub3QgYXZhaWxhYmxlADIwMDAAWFAAMjAwMwA4LjEAMTAAMjAwOAAyMDA4X1IyADIwMTIAMTEgb3IgbGF0ZXIAOAA3AFZpc3RhADIwMTJfUjIAMjAxNgBXaW5kb3dzICVzIFNQJXUuJXUgJXMANjQtYml0AFdpbmRvd3MgJXMgU1AldSAlcwBXaW5kb3dzICVzICVzAAAAAFMr/v89K/7/Jyv+/1Aq/v9QKv7/UCr+/1Aq/v9QKv7/UCr+/1Aq/v9QKv7/UCr+/1Aq/v9QKv7/UCr+/1Aq/v8DK/7/jSv+/2kr/v/fKv7/vir+/2xpYnVzYl9pbml0JTA4WABbJXVdIAAAAAAAAABXaW5kb3dzIGVycm9yIGNvZGUgJXUgKEZvcm1hdE1lc3NhZ2UgZXJyb3IgY29kZSAldSkAVW5rbm93biBlcnJvciBjb2RlICV1AAAAAAAAAFBvc3RUaHJlYWRNZXNzYWdlIGZhaWxlZCBmb3IgdGltZXIgdGhyZWFkOiAlcwAAAGNvdWxkIG5vdCBvYnRhaW4gYSB0aW1lciB2YWx1ZSB3aXRoaW4gcmVhc29uYWJsZSB0aW1lZnJhbWUgLSB0b28gbXVjaCBsb2FkPwAAAAAAV2FpdEZvclNpbmdsZU9iamVjdCBmYWlsZWQ6ICVzAABjaGVja2luZyBmZCAlZCB3aXRoIHJldmVudHMgPSAlMDR4AAAAAAAAaGFuZGxpbmcgSS9PIGNvbXBsZXRpb24gd2l0aCBlcnJjb2RlICV1LCBzaXplICV1AGRldGVjdGVkIGVuZHBvaW50IHN0YWxsAGRldGVjdGVkIHNlbWFwaG9yZSB0aW1lb3V0AAAAAABGYWlsZWQgdG8gY29weSBwYXJ0aWFsIGRhdGEgaW4gYWJvcnRlZCBvcGVyYXRpb246ICVkAGRldGVjdGVkIG9wZXJhdGlvbiBhYm9ydGVkAGRldGVjdGVkIGRldmljZSByZW1vdmVkAGRldGVjdGVkIEkvTyBlcnJvciAldTogJXMAAAAAAAAAYnVsayBzdHJlYW0gdHJhbnNmZXJzIGFyZSBub3QgeWV0IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtAHVua25vd24gZW5kcG9pbnQgdHlwZSAlZAAAAGNvdWxkIG5vdCBmaW5kIGEgbWF0Y2hpbmcgdHJhbnNmZXIgZm9yIGZkICVkAEV4AAAAAAAAAAAAY291bGQgbm90IGNyZWF0ZSBzZW1hcGhvcmU6ICVzAABmYWlsdXJlIHRvIGFjY2VzcyBzZW1hcGhvcmU6ICVzAEtlcm5lbDMyAAAAAAAAAABjb3VsZCBub3QgcmVzb2x2ZSBETEwgZnVuY3Rpb25zAElzV293NjRQcm9jZXNzAElzV293NjRQcm9jZXNzQQBJc1dvdzY0UHJvY2Vzc1cAQ2FuY2VsSW9FeAAAAAAAAABXaWxsIHVzZSBDYW5jZWxJbyVzIGZvciBJL08gY2FuY2VsbGF0aW9uAFVzZXIzMgBHZXRNZXNzYWdlQQBQZWVrTWVzc2FnZUEAR2V0TWVzc2FnZUFBAEdldE1lc3NhZ2VBVwBQb3N0VGhyZWFkTWVzc2FnZUEAUGVla01lc3NhZ2VBQQBQZWVrTWVzc2FnZUFXAFBvc3RUaHJlYWRNZXNzYWdlQUEAUG9zdFRocmVhZE1lc3NhZ2VBVwAAAAAAAABmYWlsZWQgdG8gZGV0ZWN0IFdpbmRvd3MgdmVyc2lvbgAAAAAAAAAAaGlyZXMgdGltZXIgYXZhaWxhYmxlIChGcmVxdWVuY3k6ICVsbHUgSHopAAAAAAAAY291bGQgbm90IGdldCBwcm9jZXNzIGFmZmluaXR5OiAlcwAAAAAAAHRpbWVyIHRocmVhZCB3aWxsIHJ1biBvbiBjb3JlICMlZABjb3VsZCBub3QgY3JlYXRlIGV2ZW50OiAlcwAAAAB1bmFibGUgdG8gY3JlYXRlIHRpbWVyIHRocmVhZCAtIGFib3J0aW5nAAAAAAAAAAB1bmFibGUgdG8gc2V0IHRpbWVyIHRocmVhZCBhZmZpbml0eSwgdGltZXIgZGlzY3JlcGFuY2llcyBtYXkgYXJpc2UAAAAAAABmYWlsZWQgdG8gd2FpdCBmb3IgdGltZXIgdGhyZWFkIHRvIGJlY29tZSByZWFkeSAtIGFib3J0aW5nAAAAAAAAbm8gaGlyZXMgdGltZXIgYXZhaWxhYmxlIG9uIHRoaXMgcGxhdGZvcm0AaGFzaCB0YWJsZSBhbHJlYWR5IGFsbG9jYXRlZAB1c2luZyAlbHUgZW50cmllcyBoYXNoIHRhYmxlAAAAAABjb3VsZCBub3QgYWxsb2NhdGUgc3BhY2UgZm9yIGhhc2ggdGFibGUAVXNiRGsgYmFja2VuZCBpcyBhdmFpbGFibGUAAAAAAABVc2JEayBiYWNrZW5kIGlzIG5vdCBhdmFpbGFibGUAAFNldEV2ZW50IGZhaWxlZCBmb3IgdGltZXIgaW5pdCBldmVudDogJXMAAAAAAAAAAEdldE1lc3NhZ2UgZmFpbGVkIGZvciB0aW1lciB0aHJlYWQ6ICVzAABTZXRFdmVudCBmYWlsZWQgZm9yIHRpbWVyIHJlcXVlc3Q6ICVzAHRpbWVyIHRocmVhZCBxdWl0dGluZwBoYXNoIGNvbGxpc2lvbiAoJyVzJyB2cyAnJXMnKQAAAAAAAABoYXNoIHRhYmxlIGlzIGZ1bGwgKCVsdSBlbnRyaWVzKQAAAAAAAAAAY291bGQgbm90IGR1cGxpY2F0ZSBzdHJpbmcgZm9yIGhhc2ggdGFibGUAAAAAAAAAaHRhYl9jcmVhdGUAAAAAAAAAAAAAAAAAd2luZG93c19jbG9ja19nZXR0aW1lX3RocmVhZGVkAAB3aW5kb3dzX2luaXRfY2xvY2sAAAAAAAAAAAAAAAAAAGdldF93aW5kb3dzX3ZlcnNpb24AAAAAAAAAAAAAAAAAd2luZG93c19pbml0X2RsbHMAAAAAAAAAd2luZG93c19pbml0AAAAAAAAAAAAAAAAd2luZG93c19kZXN0cm95X2Nsb2NrAAAAAAAAAAAAAAB3aW5kb3dzX3NldF9vcHRpb24AAAAAAAAAAAAAAAAAAHdpbmRvd3NfdHJhbnNmZXJfY2FsbGJhY2sAAAAAAAAAd2luZG93c19oYW5kbGVfY2FsbGJhY2sAAAAAAAAAAAB3aW5kb3dzX2hhbmRsZV9ldmVudHMAAAAAAAAAAAAAAHdpbmRvd3NfY2xvY2tfZ2V0dGltZQAAAGh0YWJfaGFzaABXaW5kb3dzAAAAAAAAAPJxYmsAAAAAAAABAAAAAABwnWBrAAAAAOCUYGsAAAAAcJBgawAAAAAQjWBrAAAAAAAAAAAAAAAAII1gawAAAABAjWBrAAAAAGCNYGsAAAAAgI1gawAAAACgjWBrAAAAANCNYGsAAAAA8I1gawAAAAAQjmBrAAAAADCOYGsAAAAAUI5gawAAAABwjmBrAAAAAJCOYGsAAAAAsI5gawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCOYGsAAAAA8I5gawAAAAAQj2BrAAAAADCPYGsAAAAAAJlgawAAAAAAAAAAAAAAAHCXYGsAAAAACAAAAAAAAABYBQAAAAAAAIgCAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ2FuY2VsSW9FeCBmYWlsZWQ6ICVzAEFib3J0UGlwZSBmYWlsZWQ6ICVzAHVua25vd24gZW5kcG9pbnQgdHlwZSAlZABSZXNldERldmljZSBmYWlsZWQ6ICVzAFJlc2V0UGlwZSBmYWlsZWQ6ICVzAFNldEFsdHNldHRpbmcgZmFpbGVkOiAlcwAAAAAAAAAAQWxsb2NhdGlvbiBvZiBJc29jaHJvbm91c1BhY2tldHNBcnJheSBmYWlsZWQAAAAAQWxsb2NhdGlvbiBvZiBpc29jaHJvbm91c1Jlc3VsdHNBcnJheSBmYWlsZWQAAAAAV3JvbmcgdHJhbnNmZXIgdHlwZSAoJWQpIGluIHVzYmRrX2RvX2J1bGtfdHJhbnNmZXIAUmVhZFBpcGUvV3JpdGVQaXBlIGZhaWxlZDogJXMAQ29udHJvbFRyYW5zZmVyIGZhaWxlZDogJXMAJVMlUwBjYW5ub3QgZm9ybSBkZXZpY2UgaWRlbnRpdHkAAAAAZmFpbGVkIHRvIGFsbG9jYXRlIGNvbmZpZ3VyYXRpb24gZGVzY3JpcHRvcnMgaG9sZGVyAAAAAABmYWlsZWQgdG8gcmV0cmlldmUgY29uZmlndXJhdGlvbiBkZXNjcmlwdG9ycwAAAABmYWlsZWQgdG8gYWxsb2NhdGUgYSBuZXcgZGV2aWNlIHN0cnVjdHVyZQAAAAAAAABjYW5ub3QgYXBwZW5kIG5ldyBkZXZpY2UgdG8gbGlzdABSZWRpcmVjdG9yIHNodXRkb3duIGZhaWxlZABSZWRpcmVjdG9yIHN0YXJ0dXAgZmFpbGVkAAAAZmFpbGVkIHRvIG9wZW4gc2VydmljZSBjb250cm9sIG1hbmFnZXI6ICVzAFVzYkRrAAAAAAAAAABmYWlsZWQgdG8gb3BlbiBVc2JEayBzZXJ2aWNlOiAlcwBVc2JEa0hlbHBlcgAAAABGYWlsZWQgdG8gbG9hZCBVc2JEa0hlbHBlci5kbGw6ICVzAFVzYkRrX0dldERldmljZXNMaXN0AFVzYkRrSGVscGVyIEFQSSAlcyBub3QgZm91bmQ6ICVzAFVzYkRrX1JlbGVhc2VEZXZpY2VzTGlzdABVc2JEa19TdGFydFJlZGlyZWN0AFVzYkRrX1N0b3BSZWRpcmVjdAAAAAAAAAAAVXNiRGtfR2V0Q29uZmlndXJhdGlvbkRlc2NyaXB0b3IAAAAAAAAAAFVzYkRrX1JlbGVhc2VDb25maWd1cmF0aW9uRGVzY3JpcHRvcgBVc2JEa19SZWFkUGlwZQBVc2JEa19Xcml0ZVBpcGUAVXNiRGtfQWJvcnRQaXBlAFVzYkRrX1Jlc2V0UGlwZQBVc2JEa19TZXRBbHRzZXR0aW5nAFVzYkRrX1Jlc2V0RGV2aWNlAAAAAAAAAFVzYkRrX0dldFJlZGlyZWN0b3JTeXN0ZW1IYW5kbGUAZ2V0X3VzYmRrX3Byb2NfYWRkcgAAAAAAAAAAAAAAAABsb2FkX3VzYmRrX2hlbHBlcl9kbGwAAAB1c2Jka19pbml0AAAAAAAAAAAAAAAAAAB1c2Jka19jYWNoZV9jb25maWdfZGVzY3JpcHRvcnMAAHVzYmRrX2dldF9zZXNzaW9uX2lkX2Zvcl9kZXZpY2UAdXNiZGtfZ2V0X2RldmljZV9saXN0AAAAdXNiZGtfb3BlbgAAAAAAAHVzYmRrX2Nsb3NlAAAAAAAAAAAAAAAAAHVzYmRrX3NldF9pbnRlcmZhY2VfYWx0c2V0dGluZwAAdXNiZGtfY2xlYXJfaGFsdAAAAAAAAAAAAAAAAAAAAAB1c2Jka19yZXNldF9kZXZpY2UAAAAAAAAAAAAAAAAAAHVzYmRrX2RvX2NvbnRyb2xfdHJhbnNmZXIAAAAAAAAAdXNiZGtfZG9fYnVsa190cmFuc2ZlcgAAAAAAAAAAAAB1c2Jka19kb19pc29fdHJhbnNmZXIAAAAAAAAAAAAAAHVzYmRrX3N1Ym1pdF90cmFuc2ZlcgAAAAAAAAAAAAAAdXNiZGtfYWJvcnRfdHJhbnNmZXJzAAAAAAAAAAAAAAB1c2Jka19jYW5jZWxfdHJhbnNmZXIAAAAAAAAAAAAAAPC5YGsAAAAAALhgawAAAACQtWBrAAAAAJC4YGsAAAAAMLhgawAAAABAs2BrAAAAACC5YGsAAAAAYLNgawAAAABAqWBrAAAAAJCpYGsAAAAAoKlgawAAAAAAuWBrAAAAABC5YGsAAAAAYK1gawAAAADwrGBrAAAAAJCsYGsAAAAAgLlgawAAAABgsWBrAAAAAICrYGsAAAAA8KpgawAAAACwqWBrAAAAAMCpYGsAAAAA0KlgawAAAAAAAAAAAAAAAGRyaXZlcgB1cHBlciBmaWx0ZXIgZHJpdmVyAGxvd2VyIGZpbHRlciBkcml2ZXIAAHVuc3VwcG9ydGVkIEFQSSBjYWxsIGZvciAnJXMnICh1bnJlY29nbml6ZWQgZGV2aWNlIGRyaXZlcikAYWJvcnRfY29udHJvbABhYm9ydF90cmFuc2ZlcnMAdW5rbm93biBlbmRwb2ludCB0eXBlICVkAAAAAAAAAHNldCBpbnRlcmZhY2UgYWx0c2V0dGluZyBub3Qgc3VwcG9ydGVkIGZvciBhbHRzZXR0aW5nID4wAGNsYWltZWQgaW50ZXJmYWNlICVkAGNvcHlfdHJhbnNmZXJfZGF0YQAAAAAAAAAAZmFpbGVkIHRvIHNldCBQSVBFX1RSQU5TRkVSX1RJTUVPVVQgZm9yIGNvbnRyb2wgZW5kcG9pbnQgJTAyWAAAAGZhaWxlZCB0byBkaXNhYmxlIFNIT1JUX1BBQ0tFVF9URVJNSU5BVEUgZm9yIGVuZHBvaW50ICUwMlgAAAAAAABmYWlsZWQgdG8gZGlzYWJsZSBJR05PUkVfU0hPUlRfUEFDS0VUUyBmb3IgZW5kcG9pbnQgJTAyWAAAAAAAAAAAZmFpbGVkIHRvIGVuYWJsZSBBTExPV19QQVJUSUFMX1JFQURTIGZvciBlbmRwb2ludCAlMDJYAABmYWlsZWQgdG8gZW5hYmxlIEFVVE9fQ0xFQVJfU1RBTEwgZm9yIGVuZHBvaW50ICUwMlgAAAAAAHByb2dyYW0gYXNzZXJ0aW9uIGZhaWxlZDogaW52YWxpZCBpbnRlcmZhY2VfbnVtYmVyAAAAAAAAdW5hYmxlIHRvIG1hdGNoIGVuZHBvaW50IHRvIGFuIG9wZW4gaW50ZXJmYWNlIC0gY2FuY2VsbGluZyB0cmFuc2ZlcgBzdWJtaXRfaXNvX3RyYW5zZmVyAHN1Ym1pdF9idWxrX3RyYW5zZmVyAAAAAHVuYWJsZSB0byBtYXRjaCBlbmRwb2ludCB0byBhbiBvcGVuIGludGVyZmFjZSAtIGNhbm5vdCBjbGVhcgBjbGVhcl9oYWx0AGF1dG8tcmVsZWFzZWQgaW50ZXJmYWNlICVkAAAAAAAAZmFpbGVkIHRvIGF1dG8tcmVsZWFzZSBpbnRlcmZhY2UgJWQgKCVzKQAAAAAAAAAAdW5zdXBwb3J0ZWQgdHJhbnNmZXIgdHlwZSAlZCAodW5yZWNvZ25pemVkIGRldmljZSBkcml2ZXIpAAAAAAAAAGZvdW5kIGVuZHBvaW50ICUwMlggb24gaW50ZXJmYWNlICVkAAAAAABlbmRwb2ludCAlMDJYIG5vdCBmb3VuZCBvbiBhbnkgaW50ZXJmYWNlAAAAAAAAAABhdHRlbXB0aW5nIGNvbnRyb2wgdHJhbnNmZXIgdGFyZ2V0ZWQgdG8gaW50ZXJmYWNlICVkAAAAAHRyeWluZyB0byBza2lwIHJlc3RyaWN0ZWQgaW50ZXJmYWNlICMlZCAoSElEIGtleWJvYXJkIG9yIG1vdXNlPykAdXNpbmcgaW50ZXJmYWNlICVkAAAAAABubyBsaWJ1c2Igc3VwcG9ydGVkIGludGVyZmFjZXMgdG8gY29tcGxldGUgcmVxdWVzdAAAAAAAAGNvdWxkIG5vdCByZWFkIGNvbmZpZyBkZXNjcmlwdG9yOiBlcnJvciAlZAAAAAAAAG5vIGVuZHBvaW50cyBmb3VuZCBmb3IgaW50ZXJmYWNlICVkAAAAAAAocmUpYXNzaWduZWQgZW5kcG9pbnQgJTAyWCB0byBpbnRlcmZhY2UgJWQAc2V0X2ludGVyZmFjZV9hbHRzZXR0aW5nAGNsYWltX2ludGVyZmFjZQBPVkVSRkxPVyEAAABtYXRjaGVkIGVuZHBvaW50ICUwMlggd2l0aCBpbnRlcmZhY2UgJWQARmx1c2hpbmcgb2YgSElEIHF1ZXVlIGZhaWxlZDogJXMAd2lsbCB1c2UgaW50ZXJmYWNlICVkAABDYW5jZWxJb0V4IG5vdCBzdXBwb3J0ZWQgZm9yIHN1YiBBUEkgJXMAQWJvcnRQaXBlIGZhaWxlZDogJXMAcmVzZXR0aW5nIGVwICUwMlgAAEFib3J0UGlwZSAocGlwZSBhZGRyZXNzICUwMlgpIGZhaWxlZDogJXMAAAAAAAAAAEZsdXNoUGlwZSAocGlwZSBhZGRyZXNzICUwMlgpIGZhaWxlZDogJXMAAAAAAAAAAFJlc2V0UGlwZSAocGlwZSBhZGRyZXNzICUwMlgpIGZhaWxlZDogJXMAUmVzZXRQaXBlIGZhaWxlZDogJXMAAABpbnRlcmZhY2UgbXVzdCBiZSBjbGFpbWVkIGZpcnN0AFNldEN1cnJlbnRBbHRlcm5hdGVTZXR0aW5nIGZhaWxlZDogJXMAaW5wdXQAb3V0cHV0AGZlYXR1cmUAAAAAAABwcm9ncmFtIGFzc2VydGlvbiBmYWlsZWQgLSBwcml2YXRlIEhJRCBzdHJ1Y3R1cmUgaXMgdW5pdGlhbGl6ZWQAY291bGQgbm90IG9wZW4gSElEIGRldmljZSBpbiBSL1cgbW9kZSAoa2V5Ym9hcmQgb3IgbW91c2U/KSAtIHRyeWluZyB3aXRob3V0AAAAAABjb3VsZCBub3Qgb3BlbiBkZXZpY2UgJXMgKGludGVyZmFjZSAlZCk6ICVzAAAAAABjb3VsZCBub3QgZ2FpbiBhY2Nlc3MgdG8gSElEIHRvcCBjb2xsZWN0aW9uIChIaWREX0dldEF0dHJpYnV0ZXMpAAAAAAAAAABzZXQgbWF4aW11bSBpbnB1dCBidWZmZXIgc2l6ZSB0byAlZAAAAAAAY291bGQgbm90IHJlYWQgSElEIHByZXBhcnNlZCBkYXRhIChIaWREX0dldFByZXBhcnNlZERhdGEpAAAAAAAAAGNvdWxkIG5vdCBwYXJzZSBISUQgY2FwYWJpbGl0aWVzIChIaWRQX0dldENhcHMpACV1IEhJRCAlcyByZXBvcnQgdmFsdWUocykgZm91bmQAICBSZXBvcnQgSUQ6IDB4JTAyWAAAAAAAcHJvZ3JhbSBhc3NlcnRpb24gZmFpbGVkOiB6ZXJvIGFuZCBub256ZXJvIHJlcG9ydCBJRHMgdXNlZCBmb3IgJXMAAAAAAAAAICBjb3VsZCBub3QgcHJvY2VzcyAlcyByZXBvcnQgSURzAGhpZABIaWREX0dldEF0dHJpYnV0ZXMASGlkRF9HZXRIaWRHdWlkAEhpZERfR2V0QXR0cmlidXRlc0EASGlkRF9HZXRBdHRyaWJ1dGVzVwBIaWREX0dldFByZXBhcnNlZERhdGEASGlkRF9HZXRIaWRHdWlkQQBIaWREX0dldEhpZEd1aWRXAEhpZERfRnJlZVByZXBhcnNlZERhdGEASGlkRF9HZXRQcmVwYXJzZWREYXRhQQBIaWREX0dldFByZXBhcnNlZERhdGFXAEhpZERfR2V0TWFudWZhY3R1cmVyU3RyaW5nAEhpZERfRnJlZVByZXBhcnNlZERhdGFBAEhpZERfRnJlZVByZXBhcnNlZERhdGFXAEhpZERfR2V0UHJvZHVjdFN0cmluZwBIaWREX0dldE1hbnVmYWN0dXJlclN0cmluZ0EASGlkRF9HZXRNYW51ZmFjdHVyZXJTdHJpbmdXAEhpZERfR2V0U2VyaWFsTnVtYmVyU3RyaW5nAEhpZERfR2V0UHJvZHVjdFN0cmluZ0EASGlkRF9HZXRQcm9kdWN0U3RyaW5nVwBIaWREX0dldEluZGV4ZWRTdHJpbmcASGlkRF9HZXRTZXJpYWxOdW1iZXJTdHJpbmdBAEhpZERfR2V0U2VyaWFsTnVtYmVyU3RyaW5nVwBIaWRQX0dldENhcHMASGlkRF9HZXRJbmRleGVkU3RyaW5nQQBIaWREX0dldEluZGV4ZWRTdHJpbmdXAEhpZERfU2V0TnVtSW5wdXRCdWZmZXJzAEhpZFBfR2V0Q2Fwc0EASGlkUF9HZXRDYXBzVwBIaWREX0dldFBoeXNpY2FsRGVzY3JpcHRvcgBIaWREX1NldE51bUlucHV0QnVmZmVyc0EASGlkRF9TZXROdW1JbnB1dEJ1ZmZlcnNXAEhpZERfRmx1c2hRdWV1ZQBIaWREX0dldFBoeXNpY2FsRGVzY3JpcHRvckEASGlkRF9HZXRQaHlzaWNhbERlc2NyaXB0b3JXAEhpZFBfR2V0VmFsdWVDYXBzAEhpZERfRmx1c2hRdWV1ZUEASGlkRF9GbHVzaFF1ZXVlVwBIaWRQX0dldFZhbHVlQ2Fwc0EASGlkUF9HZXRWYWx1ZUNhcHNXAGxpYnVzYksAAAAAAGxpYnVzYksgRExMIGlzIG5vdCBhdmFpbGFibGUsIHdpbGwgdXNlIG5hdGl2ZSBXaW5VU0IAV2luVVNCAAAAAABXaW5VU0IgRExMIGlzIG5vdCBhdmFpbGFibGUgZWl0aGVyLCB5b3Ugd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgZGV2aWNlcyBvdXRzaWRlIG9mIGVudW1lcmF0aW9uAAAAAAAAAHVzaW5nIGxpYnVzYksgRExMIGZvciB1bml2ZXJzYWwgYWNjZXNzAExpYktfR2V0VmVyc2lvbgBsaWJ1c2JLIHZlcnNpb246ICVkLiVkLiVkLiVkAExpYktfR2V0UHJvY0FkZHJlc3MATGliS19HZXRQcm9jQWRkcmVzcygpIG5vdCBmb3VuZCBpbiBsaWJ1c2JLIERMTABXaW5Vc2JfQWJvcnRQaXBlAFdpblVzYl9Db250cm9sVHJhbnNmZXIAV2luVXNiX0ZsdXNoUGlwZQBXaW5Vc2JfRnJlZQBXaW5Vc2JfR2V0QXNzb2NpYXRlZEludGVyZmFjZQBXaW5Vc2JfSW5pdGlhbGl6ZQBXaW5Vc2JfUmVhZFBpcGUAV2luVXNiX1Jlc2V0UGlwZQAAAABXaW5Vc2JfU2V0Q3VycmVudEFsdGVybmF0ZVNldHRpbmcAV2luVXNiX1NldFBpcGVQb2xpY3kAV2luVXNiX1dyaXRlUGlwZQBXaW5Vc2JfSXNvUmVhZFBpcGUAV2luVXNiX0lzb1dyaXRlUGlwZQBpbml0YWxpemVkIHN1YiBBUEkgJXMAAAAARmFpbGVkIHRvIGluaXRhbGl6ZSBzdWIgQVBJICVzAGNhbmNlbCBmYWlsZWQ6ICVzAHJlYWRpbmcgJWQgaXNvIHBhY2tldHMAd3JpdGluZyAlZCBpc28gcGFja2V0cwAASXNvUmVhZFBpcGUvSXNvV3JpdGVQaXBlIGZhaWxlZDogJXMAcmVhZGluZyAlZCBieXRlcwB3cml0aW5nICVkIGJ5dGVzAFJlYWRQaXBlL1dyaXRlUGlwZSBmYWlsZWQ6ICVzAAAAAABhdXRvLWNsYWltZWQgaW50ZXJmYWNlICVkIGZvciBjb250cm9sIHJlcXVlc3QAAABwcm9ncmFtIGFzc2VydGlvbiBmYWlsZWQgLSBhdXRvY2xhaW1fY291bnQgd2FzIG5vbnplcm8AAGNvdWxkIG5vdCBhdXRvLWNsYWltIGFueSBpbnRlcmZhY2UAAAAAAAByZWFkaW5nICVkIGJ5dGVzIChyZXBvcnQgSUQ6IDB4MDApAAAAAAAAd3JpdGluZyAlZCBieXRlcyAocmVwb3J0IElEOiAweCUwMlgpAEhJRCB0cmFuc2ZlciBmYWlsZWQ6ICVzAAAAAHByb2dyYW0gYXNzZXJ0aW9uIGZhaWxlZCAtIG5vIGRhdGEgd2FzIHRyYW5zZmVycmVkAHJlc2V0X2RldmljZQByZWxlYXNlX2ludGVyZmFjZQBvcGVuAENmZ21ncjMyAENNX0dldF9QYXJlbnQAQ01fR2V0X0NoaWxkAENNX0dldF9QYXJlbnRBAENNX0dldF9QYXJlbnRXAEFkdkFQSTMyAENNX0dldF9DaGlsZEEAQ01fR2V0X0NoaWxkVwBSZWdRdWVyeVZhbHVlRXhXAFJlZ0Nsb3NlS2V5AFJlZ1F1ZXJ5VmFsdWVFeFdBAFJlZ1F1ZXJ5VmFsdWVFeFdXAE9MRTMyAFJlZ0Nsb3NlS2V5QQBSZWdDbG9zZUtleVcASUlERnJvbVN0cmluZwBTZXR1cEFQSQBJSURGcm9tU3RyaW5nQQBJSURGcm9tU3RyaW5nVwBTZXR1cERpR2V0Q2xhc3NEZXZzQQBTZXR1cERpRW51bURldmljZUluZm8AU2V0dXBEaUdldENsYXNzRGV2c0FBAFNldHVwRGlHZXRDbGFzc0RldnNBVwBTZXR1cERpRW51bURldmljZUludGVyZmFjZXMAU2V0dXBEaUVudW1EZXZpY2VJbmZvQQBTZXR1cERpRW51bURldmljZUluZm9XAFNldHVwRGlHZXREZXZpY2VJbnN0YW5jZUlkQQBTZXR1cERpRW51bURldmljZUludGVyZmFjZXNBAFNldHVwRGlFbnVtRGV2aWNlSW50ZXJmYWNlc1cAAAAAAABTZXR1cERpR2V0RGV2aWNlSW50ZXJmYWNlRGV0YWlsQQBTZXR1cERpR2V0RGV2aWNlSW5zdGFuY2VJZEFBAFNldHVwRGlHZXREZXZpY2VJbnN0YW5jZUlkQVcAAAAAAABTZXR1cERpR2V0RGV2aWNlUmVnaXN0cnlQcm9wZXJ0eUEAAAAAAAAAU2V0dXBEaUdldERldmljZUludGVyZmFjZURldGFpbEFBAAAAAAAAAFNldHVwRGlHZXREZXZpY2VJbnRlcmZhY2VEZXRhaWxBVwBTZXR1cERpRGVzdHJveURldmljZUluZm9MaXN0AABTZXR1cERpR2V0RGV2aWNlUmVnaXN0cnlQcm9wZXJ0eUFBAAAAAAAAU2V0dXBEaUdldERldmljZVJlZ2lzdHJ5UHJvcGVydHlBVwBTZXR1cERpT3BlbkRldlJlZ0tleQBTZXR1cERpRGVzdHJveURldmljZUluZm9MaXN0QQBTZXR1cERpRGVzdHJveURldmljZUluZm9MaXN0VwAAAAAAU2V0dXBEaU9wZW5EZXZpY2VJbnRlcmZhY2VSZWdLZXkAU2V0dXBEaU9wZW5EZXZSZWdLZXlBAFNldHVwRGlPcGVuRGV2UmVnS2V5VwAAAABTZXR1cERpT3BlbkRldmljZUludGVyZmFjZVJlZ0tleUEAAAAAAAAAU2V0dXBEaU9wZW5EZXZpY2VJbnRlcmZhY2VSZWdLZXlXAAAAAAAAAGNvdWxkIG5vdCByZXNvbHZlIERMTCBmdW5jdGlvbnMAZXJyb3IgaW5pdGlhbGl6aW5nICVzIGJhY2tlbmQAAABjb3VsZCBub3QgYWNjZXNzIGludGVyZmFjZSAlZDogJXMAAAAAAAAAQ291bGQgbm90IG9idGFpbiBkZXZpY2UgaW5mbyBkYXRhIGZvciBpbmRleCAldTogJXMAAAAAAABDb3VsZCBub3Qgb2J0YWluIGludGVyZmFjZSBkYXRhIGZvciBpbmRleCAldTogJXMAAAAAAAAAAGNvdWxkIG5vdCBhY2Nlc3MgaW50ZXJmYWNlIGRhdGEgKGR1bW15KSBmb3IgaW5kZXggJXU6ICVzAAAAAAAAAABwcm9ncmFtIGFzc2VydGlvbiBmYWlsZWQgLSBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvbXM3OTI5MDEuYXNweCBpcyB3cm9uZy4AAAAAAABjb3VsZCBub3QgYWxsb2NhdGUgaW50ZXJmYWNlIGRhdGEgZm9yIGluZGV4ICV1LgBjb3VsZCBub3QgYWNjZXNzIGludGVyZmFjZSBkYXRhIChhY3R1YWwpIGZvciBpbmRleCAldTogJXMATABVAHMAYgAwAAAAXFwuXGxpYnVzYjAtJTA0dQAAYXNzaWduZWQgbGlidXNiMCBzeW1ib2xpYyBsaW5rICVzAHsAAAAAAGNvdWxkIG5vdCBpbml0aWFsaXplIGZpbHRlciBkcml2ZXIgZm9yICVzAGNvdWxkIG5vdCBvcGVuIGRldmljZSAlczogJXMAAGF1dG8tY2xhaW1lZCBpbnRlcmZhY2UgMCAocmVxdWlyZWQgdG8gY2xhaW0gJWQgd2l0aCBXaW5VU0IpAAAAAABmYWlsZWQgdG8gYXV0by1jbGFpbSBpbnRlcmZhY2UgMCAocmVxdWlyZWQgdG8gY2xhaW0gJWQgd2l0aCBXaW5VU0IpOiAlcwBjb3VsZCBub3QgY2xhaW0gaW50ZXJmYWNlICVkOiAlcwBQQ0lcVkVOXyUwNGh4JkRFVl8lMDRoeCUqcwAAAAAAeyUwOFgtJTA0WC0lMDRYLSUwMlglMDJYLSUwMlglMDJYJTAyWCUwMlglMDJYJTAyWH0AAFVTQgBmYWlsZWQgdG8gYWxsb2MgZ3VpZCBsaXN0AGZhaWxlZCB0byBhbGxvYyB1bnJlZiBsaXN0AAAAAGZhaWxlZCB0byBvYnRhaW4gZGV2aWNlIGluZm8gbGlzdDogJXMAAABwcm9ncmFtIGFzc2VydGlvbiBmYWlsZWQgLSBmb3VuZCBtb3JlIHRoYW4gJXUgYnVzZXMsIHNraXBwaW5nIHRoZSByZXN0LgBDb3VsZCBub3Qgb2J0YWluIGRldmljZSBpbmZvIGRhdGEgZm9yICVzIGluZGV4ICV1OiAlcwAAAENvdWxkIG5vdCBvYnRhaW4gaW50ZXJmYWNlIGRhdGEgZm9yICVzIGRldkluc3QgJVg6ICVzAAAAY291bGQgbm90IGFjY2VzcyBpbnRlcmZhY2UgZGF0YSAoZHVtbXkpIGZvciAlcyBkZXZJbnN0ICVYOiAlcwAAAHByb2dyYW0gYXNzZXJ0aW9uIGZhaWxlZCAtIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczc5MjkwMS5hc3B4IGlzIHdyb25nAAAAAAAAAGNvdWxkIG5vdCBhbGxvY2F0ZSBpbnRlcmZhY2UgZGF0YSBmb3IgJXMgZGV2SW5zdCAlWAAAAAAAY291bGQgbm90IGFjY2VzcyBpbnRlcmZhY2UgZGF0YSAoYWN0dWFsKSBmb3IgJXMgZGV2SW5zdCAlWDogJXMAAGNvdWxkIG5vdCBhbGxvY2F0ZSBpbnRlcmZhY2UgcGF0aCBmb3IgJXMgZGV2SW5zdCAlWAAAAAAAY291bGQgbm90IG9idGFpbiBkZXZpY2UgaW5mbyBzZXQgZm9yIFBuUCBlbnVtZXJhdG9yICclcyc6ICVzAAAAAGNvdWxkIG5vdCBvYnRhaW4gZGV2aWNlIGluZm8gZGF0YSBmb3IgUG5QIGVudW1lcmF0b3IgJyVzJyBpbmRleCAldTogJXMAAGNvdWxkIG5vdCByZWFkIHRoZSBkZXZpY2UgaW5zdGFuY2UgSUQgZm9yIGRldkluc3QgJVgsIHNraXBwaW5nAABjb3VsZCBub3QgcmVhZCBlbnVtZXJhdG9yIHN0cmluZyBmb3IgZGV2aWNlICclcyc6ICVzAAAAAGZvdW5kIG5ldyBQblAgZW51bWVyYXRvciBzdHJpbmcgJyVzJwAAAABjb3VsZCBub3QgYWxsb2NhdGUgZW51bWVyYXRvciBzdHJpbmcgJyVzJwAAAAAAAAB0b28gbWFueSBlbnVtZXJhdG9yIHN0cmluZ3MsIHNvbWUgZGV2aWNlcyBtYXkgbm90IGJlIGFjY2Vzc2libGUAVGhlIGZvbGxvd2luZyBkZXZpY2UgaGFzIG5vIGRyaXZlcjogJyVzJwAAAAAAAAAAbGlidXNiIHdpbGwgbm90IGJlIGFibGUgdG8gYWNjZXNzIGl0AAAAAEQAZQB2AGkAYwBlAEkAbgB0AGUAcgBmAGEAYwBlAEcAVQBJAEQAcwAAAAAAAAAAAEQAZQB2AGkAYwBlAEkAbgB0AGUAcgBmAGEAYwBlAEcAVQBJAEQAAABmYWlsZWQgdG8gcmVhbGxvYyBndWlkIGxpc3QAZmFpbGVkIHRvIGFsbG9jIGlmX2d1aWQAAAAAAGRldmljZSAnJXMnIGhhcyBtYWxmb3JtZWQgRGV2aWNlSW50ZXJmYWNlR1VJRCBzdHJpbmcsIHNraXBwaW5nAGV4dHJhIEdVSUQ6ICVzAAAAdW5leHBlY3RlZCB0eXBlL3NpemUgb2YgRGV2aWNlSW50ZXJmYWNlR1VJRCBmb3IgJyVzJwAAAABjb3VsZCBub3QgZGV0ZWN0IGluc3RhbGxhdGlvbiBzdGF0ZSBvZiBkcml2ZXIgZm9yICclcyc6ICVzAAAAAAAAZHJpdmVyIGZvciBkZXZpY2UgJyVzJyBpcyByZXBvcnRpbmcgYW4gaXNzdWUgKGNvZGU6ICV1KSAtIHNraXBwaW5nACVzKHMpOiAlcwBjb3VsZCBub3QgYWNjZXNzICVzOiAlcwBtYXRjaGVkICVzIG5hbWUgYWdhaW5zdCAlcwB1bmxpc3RlZCBhbmNlc3RvciBmb3IgJyVzJyAobm9uIFVTQiBISUQsIG5ld2x5IGNvbm5lY3RlZCwgZXRjLikgLSBpZ25vcmluZwAAAAAAAGFsbG9jYXRpbmcgbmV3IGRldmljZSBmb3Igc2Vzc2lvbiBbJWxYXQBmb3VuZCBleGlzdGluZyBkZXZpY2UgZm9yIHNlc3Npb24gWyVsWF0AZGV2aWNlIGluc3RhbmNlIElEIGZvciBzZXNzaW9uIFslbFhdIGNoYW5nZWQAAAAAY291bGQgbm90IHJlYWxsb2MgbGlzdCBmb3IgdW5yZWYgLSBhYm9ydGluZwAAAAAAY291bGQgbm90IGdldCBjaGlsZCBkZXZpbnN0IGZvciAnJXMnAAAAAHByb2dyYW0gYXNzZXJ0aW9uIGZhaWxlZCAtIEhDRCAnJXMnIGNoaWxkIG5vdCBmb3VuZAAAAAAAYXNzaWduaW5nIEhDRCAnJXMnIGJ1cyBudW1iZXIgJXUAAAAAAAAAAGNvdWxkIG5vdCBpbmZlciBWSUQvUElEIG9mIEhDRCByb290IGh1YiBmcm9tICclcycAAAAAAAAAY291bGQgbm90IHJldHJpZXZlIHBvcnQgbnVtYmVyIGZvciBkZXZpY2UgJyVzJzogJXMAAAAAAABwYXJlbnQgZm9yIGRldmljZSAnJXMnIGlzIG5vdCBhIGh1YgAAAAAAcHJvZ3JhbSBhc3NlcnRpb24gZmFpbGVkIC0gZmlyc3QgYW5jZXN0b3IgaXMgbm90IHBhcmVudABjb3VsZCBub3Qgb3BlbiBodWIgJXM6ICVzAAAAAAAAAGNvdWxkIG5vdCBnZXQgbm9kZSBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGZvciBkZXZpY2UgJyVzJzogJXMAAABkZXZpY2UgJyVzJyBpcyBubyBsb25nZXIgY29ubmVjdGVkIQAAAAAAZm91bmQgJXUgY29uZmlndXJhdGlvbnMgKGFjdGl2ZSBjb25mOiAldSkAAAAAAAAAY291bGQgbm90IGFsbG9jYXRlIGNvbmZpZ3VyYXRpb24gZGVzY3JpcHRvciBhcnJheSBmb3IgJyVzJwAAAAAAAGNvdWxkIG5vdCBhY2Nlc3MgY29uZmlndXJhdGlvbiBkZXNjcmlwdG9yICV1IChkdW1teSkgZm9yICclcyc6ICVzAAAAAAAAAHVuZXhwZWN0ZWQgY29uZmlndXJhdGlvbiBkZXNjcmlwdG9yICV1IHNpemUgKGR1bW15KSBmb3IgJyVzJwAAAABjb3VsZCBub3QgYWxsb2NhdGUgY29uZmlndXJhdGlvbiBkZXNjcmlwdG9yICV1IGJ1ZmZlciBmb3IgJyVzJwAAY291bGQgbm90IGFjY2VzcyBjb25maWd1cmF0aW9uIGRlc2NyaXB0b3IgJXUgKGFjdHVhbCkgZm9yICclcyc6ICVzAAAAAAAAdW5leHBlY3RlZCBjb25maWd1cmF0aW9uIGRlc2NyaXB0b3IgJXUgc2l6ZSAoYWN0dWFsKSBmb3IgJyVzJwAAAGRlc2NyaXB0b3IgJXUgbm90IGEgY29uZmlndXJhdGlvbiBkZXNjcmlwdG9yIGZvciAnJXMnAAAAY2FjaGVkIGNvbmZpZyBkZXNjcmlwdG9yICV1IChiQ29uZmlndXJhdGlvblZhbHVlPSV1LCAldSBieXRlcykAAGNvdWxkIG5vdCBnZXQgbm9kZSBjb25uZWN0aW9uIGluZm9ybWF0aW9uIChWMikgZm9yIGRldmljZSAnJXMnOiAlcwAAAAAAAHByb2dyYW0gYXNzZXJ0aW9uIGZhaWxlZCAtIGRldmljZSBhZGRyZXNzIG92ZXJmbG93AHVua25vd24gZGV2aWNlIHNwZWVkICV1AAAAAAAAKGJ1czogJXUsIGFkZHI6ICV1LCBkZXB0aDogJXUsIHBvcnQ6ICV1KTogJyVzJwAAc2V0dGluZyBISUQgaW50ZXJmYWNlIGZvciBbJWxYXToAAAAAAAAAAHByb2dyYW0gYXNzZXJ0aW9uIGZhaWxlZDogcGFyZW50IGlzIG5vdCBISUQAAAAAAHByb2dyYW0gYXNzZXJ0aW9uIGZhaWxlZDogbWF4IFVTQiBpbnRlcmZhY2VzIHJlYWNoZWQgZm9yIEhJRCBkZXZpY2UAAAAAAGludGVyZmFjZVslZF0gYWxyZWFkeSBzZXQgdG8gJXMAaW50ZXJmYWNlWyV1XSA9ICVzAAAAAAAAc2V0dGluZyBjb21wb3NpdGUgaW50ZXJmYWNlIGZvciBbJWxYXToATUlfAAAAAAAAZmFpbHVyZSB0byByZWFkIGludGVyZmFjZSBudW1iZXIgZm9yICVzLCB1c2luZyBkZWZhdWx0IHZhbHVlAAAAAGludGVyZmFjZSAlZCB0b28gbGFyZ2UgLSBpZ25vcmluZyBpbnRlcmZhY2UgcGF0aCAlcwAAAAAAaW50ZXJmYWNlWyVkXSBhbHJlYWR5IHNldCAtIGlnbm9yaW5nIEhJRCBjb2xsZWN0aW9uOiAlcwBpbnRlcmZhY2VbJWRdID0gJXMAAAAAAABjYW5ub3Qgc2V0IGNvbmZpZ3VyYXRpb24gb3RoZXIgdGhhbiB0aGUgZGVmYXVsdCBvbmUAQ29udHJvbFRyYW5zZmVyIGZhaWxlZDogJXMATElCVVNCX0RUX0RFVklDRQBMSUJVU0JfRFRfQ09ORklHAExJQlVTQl9EVF9TVFJJTkcATElCVVNCX0RUX0hJRABMSUJVU0JfRFRfUkVQT1JUAExJQlVTQl9EVF9QSFlTSUNBTAB1bnN1cHBvcnRlZAB1bnN1cHBvcnRlZCBISUQgY29udHJvbCByZXF1ZXN0AHByb2dyYW0gYXNzZXJ0aW9uIGZhaWxlZDogaGlkX2J1ZmZlciBpcyBub3QgTlVMTABpbnZhbGlkIHNpemUgKCV1KQB1bmtub3duIEhJRCByZXBvcnQgdHlwZSAlZAByZXBvcnQgSUQ6IDB4JTAyWABtaXNtYXRjaGVkIHJlcG9ydCBJRCAoZGF0YSBpcyAlMDJYLCBwYXJhbWV0ZXIgaXMgJTAyWCkAAEZhaWxlZCB0byBXcml0ZSBISUQgT3V0cHV0IFJlcG9ydDogJXMAAABwcm9ncmFtIGFzc2VydGlvbiBmYWlsZWQgLSB3cml0ZSBjb21wbGV0ZWQgc3luY2hyb25vdXNseSwgYnV0IG5vIGRhdGEgd2FzIHdyaXR0ZW4ARmFpbGVkIHRvIFJlYWQgSElEIFJlcG9ydDogJXMAcHJvZ3JhbSBhc3NlcnRpb24gZmFpbGVkIC0gcmVhZCBjb21wbGV0ZWQgc3luY2hyb25vdXNseSwgYnV0IG5vIGRhdGEgd2FzIHJlYWQAAAAMo/7/SKL+/7mj/v+go/7/hqP+/0ij/v8vpP7/yKX+/96k/v9Tp/7/L6T+/y+k/v8vpP7/L6T+/y+k/v8vpP7/L6T+/y+k/v8vpP7/L6T+/y+k/v8vpP7/L6T+/y+k/v8vpP7/L6T+/y+k/v8vpP7/L6T+/y+k/v8vpP7/L6T+/y+k/v8vpP7/L6T+/y+k/v8vpP7/L6T+/y+k/v8Zp/7/wKb+/4Cm/v8AAAAAAAAAAGNvbXBvc2l0ZV9jbGFpbV9pbnRlcmZhY2UAAAAAAAAAY29tcG9zaXRlX3NldF9pbnRlcmZhY2VfYWx0c2V0dGluZwAAAAAAAAAAAAAAAAAAY29tcG9zaXRlX3JlbGVhc2VfaW50ZXJmYWNlAAAAAABjb21wb3NpdGVfY2xlYXJfaGFsdAAAAAAAAAAAAAAAAGNvbXBvc2l0ZV9zdWJtaXRfYnVsa190cmFuc2ZlcgAAY29tcG9zaXRlX3N1Ym1pdF9pc29fdHJhbnNmZXIAAABnZXRfaW50ZXJmYWNlX2J5X2VuZHBvaW50AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjb21wb3NpdGVfc3VibWl0X2NvbnRyb2xfdHJhbnNmZXIAAAAAAAAAAAAAAAAAAABjb21wb3NpdGVfYWJvcnRfY29udHJvbAAAAAAAAAAAAGNvbXBvc2l0ZV9hYm9ydF90cmFuc2ZlcnMAAAAAAAAAY29tcG9zaXRlX2NvcHlfdHJhbnNmZXJfZGF0YQAAAAB3aW51c2J4X2luaXQAAAAAd2ludXNieF9vcGVuAAAAAHdpbnVzYnhfY29uZmlndXJlX2VuZHBvaW50cwAAAAAAZ2V0X2ludGVyZmFjZV9kZXRhaWxzX2ZpbHRlcgAAAAB3aW51c2J4X2NsYWltX2ludGVyZmFjZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aW51c2J4X3NldF9pbnRlcmZhY2VfYWx0c2V0dGluZwAAAAAAAAAAAAAAAAAAAAB3aW51c2J4X2NsZWFyX2hhbHQAAAAAAAAAAAAAAAAAAHdpbnVzYnhfcmVzZXRfZGV2aWNlAAAAAAAAAAAAAAAAd2ludXNieF9zdWJtaXRfYnVsa190cmFuc2ZlcgAAAAB3aW51c2J4X3N1Ym1pdF9pc29fdHJhbnNmZXIAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aW51c2J4X3N1Ym1pdF9jb250cm9sX3RyYW5zZmVyAHdpbnVzYnhfYWJvcnRfdHJhbnNmZXJzAAAAAAAAAAAAd2ludXNieF9jb3B5X3RyYW5zZmVyX2RhdGEAAAAAAABoaWRfb3BlbgAAAAAAAAAAaGlkX2NsYWltX2ludGVyZmFjZQAAAAAAAAAAAAAAAABoaWRfc2V0X2ludGVyZmFjZV9hbHRzZXR0aW5nAAAAAGhpZF9jbGVhcl9oYWx0AABoaWRfc3VibWl0X2J1bGtfdHJhbnNmZXIAAAAAAAAAAF9oaWRfZ2V0X3JlcG9ydABfaGlkX3NldF9yZXBvcnQAX2hpZF9nZXRfZGVzY3JpcHRvcgAAAAAAYXV0b19jbGFpbQAAAAAAAAAAAAAAAAAAaGlkX3N1Ym1pdF9jb250cm9sX3RyYW5zZmVyAAAAAABoaWRfYWJvcnRfdHJhbnNmZXJzAAAAAAAAAAAAAAAAAGhpZF9jb3B5X3RyYW5zZmVyX2RhdGEAAHdpbnVzYl9pbml0AAAAAAAAAAAAAAAAAHNldF9jb21wb3NpdGVfaW50ZXJmYWNlAAAAAAAAAAAAc2V0X2hpZF9pbnRlcmZhY2UAAAAAAAAAAAAAAAAAAABjYWNoZV9jb25maWdfZGVzY3JpcHRvcnMAAAAAAAAAAGluaXRfZGV2aWNlAAAAAABlbnVtZXJhdGVfaGNkX3Jvb3RfaHViAABnZXRfYXBpX3R5cGUAAAAAAAAAAAAAAABnZXRfZGV2aW5mb19kYXRhAAAAAAAAAAAAAAAAAAAAAGdldF9pbnRlcmZhY2VfZGV0YWlscwAAAAAAAAAAAAAAd2ludXNiX2dldF9kZXZpY2VfbGlzdAAAd2ludXNiX29wZW4AAAAAAAAAAAAAAAAAd2ludXNiX2NsYWltX2ludGVyZmFjZQAA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8OL+/wAAAAAAAAAAmuP+/4Dj/v+Q4/7/wOP+/9Dj/v+A4/7/AAAAAAAAAAAobnVsbCkATmFOAEluZgAAKABuAHUAbABsACkAAAAAANIL///YBf//2AX//+wL///YBf//9Ar//9gF//8LC///2AX//9gF//+AC///vAv//9gF//+HCf//oAn//9gF//+8Cf//2AX//9gF///YBf//2AX//9gF///YBf//2AX//9gF///YBf//2AX//9gF///YBf//2AX//9gF///YBf//2AX//9wJ///YBf//FAr//9gF//9MCv//hAr//7wK///YBf//Qgj//9gF///YBf//cAn//9gF///YBf//2AX//9gF///YBf//2AX//wkM///YBf//2AX//9gF///YBf//UAb//9gF///YBf//2AX//9gF///YBf//2AX//9gF///YBf//ygf//9gF//9HB///wAb//2oI//8ACf//OAn//6II///ABv//qAb//9gF///CCP//4gj//4wH//9QBv//Agj//9gF///YBf//Gwf//6gG//9QBv//2AX//9gF//9QBv//2AX//6gG//8AAAAASW5maW5pdHkATmFOADAAAAAAAAAAAPg/YUNvY6eH0j+zyGCLKIrGP/t5n1ATRNM/BPp9nRYtlDwyWkdVE0TTPwAAAAAAAPA/AAAAAAAAJEAAAAAAAAAIQAAAAAAAABxAAAAAAAAAFEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAADgPwAAAAAAAAAABQAAABkAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwPwAAAAAAACRAAAAAAAAAWUAAAAAAAECPQAAAAAAAiMNAAAAAAABq+EAAAAAAgIQuQQAAAADQEmNBAAAAAITXl0EAAAAAZc3NQQAAACBfoAJCAAAA6HZIN0IAAACilBptQgAAQOWcMKJCAACQHsS81kIAADQm9WsMQwCA4Dd5w0FDAKDYhVc0dkMAyE5nbcGrQwA9kWDkWOFDQIy1eB2vFURQ7+LW5BpLRJLVTQbP8IBEAAAAAAAAAAC8idiXstKcPDOnqNUj9kk5Paf0RP0PpTKdl4zPCLpbJUNvrGQoBsgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDgN3nDQUMXbgW1tbiTRvX5P+kDTzhN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XABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AH8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAbGlidXNiLTEuMC5kbGwAR1VJRF9ERVZJTlRFUkZBQ0VfTElCVVNCMF9GSUxURVIAR1VJRF9ERVZJTlRFUkZBQ0VfVVNCX0RFVklDRQBHVUlEX0RFVklOVEVSRkFDRV9VU0JfSE9TVF9DT05UUk9MTEVSAEdVSURfREVWSU5URVJGQUNFX1VTQl9IVUIASU5WQUxJRF9XSU5GRABhY3RpdmVfY29udGV4dHNfbGlzdABhY3RpdmVfY29udGV4dHNfbG9jawBkaXNjb3ZlcmVkX2RldnNfYXBwZW5kAGh0YWJfaGFzaABsaWJ1c2JfYWxsb2Nfc3RyZWFtcwBsaWJ1c2JfYWxsb2NfdHJhbnNmZXIAbGlidXNiX2F0dGFjaF9rZXJuZWxfZHJpdmVyAGxpYnVzYl9idWxrX3RyYW5zZmVyAGxpYnVzYl9jYW5jZWxfdHJhbnNmZXIAbGlidXNiX2NsYWltX2ludGVyZmFjZQBsaWJ1c2JfY2xlYXJfaGFsdABsaWJ1c2JfY2xvc2UAbGlidXNiX2NvbnRyb2xfdHJhbnNmZXIAbGlidXNiX2RldGFjaF9rZXJuZWxfZHJpdmVyAGxpYnVzYl9kZXZfbWVtX2FsbG9jAGxpYnVzYl9kZXZfbWVtX2ZyZWUAbGlidXNiX2Vycm9yX25hbWUAbGlidXNiX2V2ZW50X2hhbmRsZXJfYWN0aXZlAGxpYnVzYl9ldmVudF9oYW5kbGluZ19vawBsaWJ1c2JfZXhpdABsaWJ1c2JfZnJlZV9ib3NfZGVzY3JpcHRvcgBsaWJ1c2JfZnJlZV9jb25maWdfZGVzY3JpcHRvcgBsaWJ1c2JfZnJlZV9jb250YWluZXJfaWRfZGVzY3JpcHRvcgBsaWJ1c2JfZnJlZV9kZXZpY2VfbGlzdABsaWJ1c2JfZnJlZV9wb2xsZmRzAGxpYnVzYl9mcmVlX3NzX2VuZHBvaW50X2NvbXBhbmlvbl9kZXNjcmlwdG9yAGxpYnVzYl9mcmVlX3NzX3VzYl9kZXZpY2VfY2FwYWJpbGl0eV9kZXNjcmlwdG9yAGxpYnVzYl9mcmVlX3N0cmVhbXMAbGlidXNiX2ZyZWVfdHJhbnNmZXIAbGlidXNiX2ZyZWVfdXNiXzJfMF9leHRlbnNpb25fZGVzY3JpcHRvcgBsaWJ1c2JfZ2V0X2FjdGl2ZV9jb25maWdfZGVzY3JpcHRvcgBsaWJ1c2JfZ2V0X2Jvc19kZXNjcmlwdG9yAGxpYnVzYl9nZXRfYnVzX251bWJlcgBsaWJ1c2JfZ2V0X2NvbmZpZ19kZXNjcmlwdG9yAGxpYnVzYl9nZXRfY29uZmlnX2Rlc2NyaXB0b3JfYnlfdmFsdWUAbGlidXNiX2dldF9jb25maWd1cmF0aW9uAGxpYnVzYl9nZXRfY29udGFpbmVyX2lkX2Rlc2NyaXB0b3IAbGlidXNiX2dldF9kZXZpY2UAbGlidXNiX2dldF9kZXZpY2VfYWRkcmVzcwBsaWJ1c2JfZ2V0X2RldmljZV9kZXNjcmlwdG9yAGxpYnVzYl9nZXRfZGV2aWNlX2xpc3QAbGlidXNiX2dldF9kZXZpY2Vfc3BlZWQAbGlidXNiX2dldF9tYXhfaXNvX3BhY2tldF9zaXplAGxpYnVzYl9nZXRfbWF4X3BhY2tldF9zaXplAGxpYnVzYl9nZXRfbmV4dF90aW1lb3V0AGxpYnVzYl9nZXRfcGFyZW50AGxpYnVzYl9nZXRfcG9sbGZkcwBsaWJ1c2JfZ2V0X3BvcnRfbnVtYmVyAGxpYnVzYl9nZXRfcG9ydF9udW1iZXJzAGxpYnVzYl9nZXRfcG9ydF9wYXRoAGxpYnVzYl9nZXRfc3NfZW5kcG9pbnRfY29tcGFuaW9uX2Rlc2NyaXB0b3IAbGlidXNiX2dldF9zc191c2JfZGV2aWNlX2NhcGFiaWxpdHlfZGVzY3JpcHRvcgBsaWJ1c2JfZ2V0X3N0cmluZ19kZXNjcmlwdG9yX2FzY2lpAGxpYnVzYl9nZXRfdXNiXzJfMF9leHRlbnNpb25fZGVzY3JpcHRvcgBsaWJ1c2JfZ2V0X3ZlcnNpb24AbGlidXNiX2hhbmRsZV9ldmVudHMAbGlidXNiX2hhbmRsZV9ldmVudHNfY29tcGxldGVkAGxpYnVzYl9oYW5kbGVfZXZlbnRzX2xvY2tlZABsaWJ1c2JfaGFuZGxlX2V2ZW50c190aW1lb3V0AGxpYnVzYl9oYW5kbGVfZXZlbnRzX3RpbWVvdXRfY29tcGxldGVkAGxpYnVzYl9oYXNfY2FwYWJpbGl0eQBsaWJ1c2JfaG90cGx1Z19kZXJlZ2lzdGVyX2NhbGxiYWNrAGxpYnVzYl9ob3RwbHVnX3JlZ2lzdGVyX2NhbGxiYWNrAGxpYnVzYl9pbml0AGxpYnVzYl9pbnRlcnJ1cHRfZXZlbnRfaGFuZGxlcgBsaWJ1c2JfaW50ZXJydXB0X3RyYW5zZmVyAGxpYnVzYl9rZXJuZWxfZHJpdmVyX2FjdGl2ZQBsaWJ1c2JfbG9ja19ldmVudF93YWl0ZXJzAGxpYnVzYl9sb2NrX2V2ZW50cwBsaWJ1c2Jfb3BlbgBsaWJ1c2Jfb3Blbl9kZXZpY2Vfd2l0aF92aWRfcGlkAGxpYnVzYl9wb2xsZmRzX2hhbmRsZV90aW1lb3V0cwBsaWJ1c2JfcmVmX2RldmljZQBsaWJ1c2JfcmVsZWFzZV9pbnRlcmZhY2UAbGlidXNiX3Jlc2V0X2RldmljZQBsaWJ1c2Jfc2V0X2F1dG9fZGV0YWNoX2tlcm5lbF9kcml2ZXIAbGlidXNiX3NldF9jb25maWd1cmF0aW9uAGxpYnVzYl9zZXRfZGVidWcAbGlidXNiX3NldF9pbnRlcmZhY2VfYWx0X3NldHRpbmcAbGlidXNiX3NldF9vcHRpb24AbGlidXNiX3NldF9wb2xsZmRfbm90aWZpZXJzAGxpYnVzYl9zZXRsb2NhbGUAbGlidXNiX3N0cmVycm9yAGxpYnVzYl9zdWJtaXRfdHJhbnNmZXIAbGlidXNiX3RyYW5zZmVyX2dldF9zdHJlYW1faWQAbGlidXNiX3RyYW5zZmVyX3NldF9zdHJlYW1faWQAbGlidXNiX3RyeV9sb2NrX2V2ZW50cwBsaWJ1c2JfdW5sb2NrX2V2ZW50X3dhaXRlcnMAbGlidXNiX3VubG9ja19ldmVudHMAbGlidXNiX3VucmVmX2RldmljZQBsaWJ1c2Jfd2FpdF9mb3JfZXZlbnQAcENhbmNlbElvRXgAdXNiX2FwaV9iYWNrZW5kAHVzYmRrX2JhY2tlbmQAdXNiaV9hZGRfcG9sbGZkAHVzYmlfYWxsb2NfZGV2aWNlAHVzYmlfYmFja2VuZAB1c2JpX2NsZWFyX2V2ZW50AHVzYmlfY2xvc2UAdXNiaV9jb25kX2Jyb2FkY2FzdAB1c2JpX2NvbmRfZGVzdHJveQB1c2JpX2NvbmRfaW5pdAB1c2JpX2NvbmRfdGltZWR3YWl0AHVzYmlfY29uZF93YWl0AHVzYmlfY29ubmVjdF9kZXZpY2UAdXNiaV9jcmVhdGVfZmQAdXNiaV9kZWZhdWx0X2NvbnRleHQAdXNiaV9kZXZpY2VfY2FjaGVfZGVzY3JpcHRvcgB1c2JpX2Rpc2Nvbm5lY3RfZGV2aWNlAHVzYmlfZ2V0X2NvbmZpZ19pbmRleF9ieV92YWx1ZQB1c2JpX2dldF9kZXZpY2VfYnlfc2Vzc2lvbl9pZAB1c2JpX2hhbmRsZV9kaXNjb25uZWN0AHVzYmlfaGFuZGxlX3RyYW5zZmVyX2NhbmNlbGxhdGlvbgB1c2JpX2hhbmRsZV90cmFuc2Zlcl9jb21wbGV0aW9uAHVzYmlfaG90cGx1Z19kZXJlZ2lzdGVyAHVzYmlfaG90cGx1Z19tYXRjaAB1c2JpX2hvdHBsdWdfbm90aWZpY2F0aW9uAHVzYmlfaW9fZXhpdAB1c2JpX2lvX2luaXQAdXNiaV9sb2cAdXNiaV9sb2dfdgB1c2JpX211dGV4X3N0YXRpY19sb2NrAHVzYmlfcGFyc2VfZGVzY3JpcHRvcgB1c2JpX3BpcGUAdXNiaV9wb2xsAHVzYmlfcmVhZAB1c2JpX3JlbW92ZV9wb2xsZmQAdXNiaV9zYW5pdGl6ZV9kZXZpY2UAdXNiaV9zaWduYWxfZXZlbnQAdXNiaV9zaWduYWxfdHJhbnNmZXJfY29tcGxldGlvbgB1c2JpX3dyaXRlAHdpbmRvd3NfZXJyb3Jfc3RyAHdpbmRvd3NfZm9yY2Vfc3luY19jb21wbGV0aW9uAHdpbmRvd3NfdmVyc2lvbgB3aW51c2JfYmFja2VuZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAPpbAwAAAAAABFwDAAAAAAAOXAMAAAAAABhcAwAAAAAAIlwDAAAAAAAuXAMAAAAAAAAAAAAAAAAAOFwDAAAAAAAAAAAAAAAAAE4EQ2xvc2VTZXJ2aWNlSGFuZGxlAAD/BU9wZW5TQ01hbmFnZXJBAAABBk9wZW5TZXJ2aWNlQQAAeABDYW5jZWxJbwAAjQBDbG9zZUhhbmRsZQDFAENyZWF0ZUV2ZW50QQAAzABDcmVhdGVGaWxlQQDzAENyZWF0ZVNlbWFwaG9yZUEAABsBRGVsZXRlQ3JpdGljYWxTZWN0aW9uACsBRGV2aWNlSW9Db250cm9sAD8BRW50ZXJDcml0aWNhbFNlY3Rpb24AALYBRm9ybWF0TWVzc2FnZUEAALsBRnJlZUxpYnJhcnkAKAJHZXRDdXJyZW50UHJvY2VzcwApAkdldEN1cnJlbnRQcm9jZXNzSWQALQJHZXRDdXJyZW50VGhyZWFkSWQAAHYCR2V0TGFzdEVycm9yAACwAkdldE92ZXJsYXBwZWRSZXN1bHQAxgJHZXRQcm9jQWRkcmVzcwAAxwJHZXRQcm9jZXNzQWZmaW5pdHlNYXNrAAABA0dldFN5c3RlbVRpbWVBc0ZpbGVUaW1lADQDR2V0VmVyc2lvbkV4QQB8A0luaXRpYWxpemVDcml0aWNhbFNlY3Rpb24AlwNJc0RCQ1NMZWFkQnl0ZUV4AADYA0xlYXZlQ3JpdGljYWxTZWN0aW9uAADcA0xvYWRMaWJyYXJ5QQAADARNdWx0aUJ5dGVUb1dpZGVDaGFyAGsEUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIAbARRdWVyeVBlcmZvcm1hbmNlRnJlcXVlbmN5AJIEUmVhZEZpbGUAAKwEUmVsZWFzZVNlbWFwaG9yZQAAvgRSZXNldEV2ZW50AAAaBVNldEV2ZW50AABXBVNldFRocmVhZEFmZmluaXR5TWFzawCCBVNsZWVwAIUFU2xlZXBFeACSBVRlcm1pbmF0ZVRocmVhZACjBVRsc0FsbG9jAACkBVRsc0ZyZWUApQVUbHNHZXRWYWx1ZQCmBVRsc1NldFZhbHVlAKwFVHJ5RW50ZXJDcml0aWNhbFNlY3Rpb24AyQVWZXJTZXRDb25kaXRpb25NYXNrAMwFVmVyaWZ5VmVyc2lvbkluZm9BAADUBVZpcnR1YWxQcm90ZWN0AADWBVZpcnR1YWxRdWVyeQAA3QVXYWl0Rm9yTXVsdGlwbGVPYmplY3RzAADfBVdhaXRGb3JTaW5nbGVPYmplY3QACwZXaWRlQ2hhclRvTXVsdGlCeXRlAB8GV3JpdGVGaWxlAEAAX19fbGNfY29kZXBhZ2VfZnVuYwBDAF9fX21iX2N1cl9tYXhfZnVuYwAAVABfX2lvYl9mdW5jAAB5AF9hbXNnX2V4aXQAAHoAX2Fzc2VydACHAF9iZWdpbnRocmVhZGV4AAC+AF9lcnJubwAAHQFfaW5pdHRlcm0AgwFfbG9jawCFAl9zdHJkdXAAiAJfc3RyaWNtcAAAkgJfc3RybmljbXAAygJfdW5sb2NrAIoDYWJvcnQAlwNhdG9pAACbA2NhbGxvYwAAvgNmcHV0YwC/A2ZwdXRzAMMDZnJlZQAA0ANmd3JpdGUAANQDZ2V0YwAA1gNnZXRlbnYAAOMDaXNsb3dlcgDmA2lzc3BhY2UA5wNpc3VwcGVyAPUDaXN4ZGlnaXQAAPkDbG9jYWxlY29udgAA/wNtYWxsb2MAAAcEbWVtY3B5AAAIBG1lbW1vdmUACQRtZW1zZXQAABwEcmVhbGxvYwA3BHN0cmNtcAAAPARzdHJlcnJvcgAAPgRzdHJsZW4AAEEEc3RybmNtcABHBHN0cnN0cgAASQRzdHJ0b2sAAEsEc3RydG9sAABMBHN0cnRvdWwAXAR0b2xvd2VyAF0EdG91cHBlcgBgBHVuZ2V0YwAAYwR2ZnByaW50ZgAAfQR3Y3NsZW4AAAAAX19jaGtfZmFpbAAAAAAAUAMAAFADAABQAwBBRFZBUEkzMi5kbGwAAAAAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwAUUAMAFFADABRQAwBLRVJORUwzMi5kbGwAAAAAKFADAChQAwAoUAMAKFADAChQAwAoUAMAKFADAChQAwAoUAMAKFADAChQAwAoUAMAKFADAChQAwAoUAMAKFADAChQAwAoUAMAKFADAChQAwAoUAMAKFADAChQAwAoUAMAKFADAChQAwAoUAMAKFADAChQAwAoUAMAKFADAChQAwAoUAMAKFADAChQAwAoUAMAKFADAChQAwAoUAMAKFADAChQAwAoUAMAKFADAChQAwAoUAMAbXN2Y3J0LmRsbAAAPFADAGxpYnNzcC0wLmRsbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBgawAAAAAAAAAAAAAAAAAAAAAAAAAAUE9hawAAAAAgT2FrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAJBAAASAAAAFiAAwAsBAAAAAAAAAAAAAAsBDQAAABWAFMAXwBWAEUA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aV9nZXRfZGV2aWNlX2J5X3Nlc3Npb25faWQAbGlidXNiX2dldF9idXNfbnVtYmVyAGxpYnVzYl9nZXRfcG9ydF9udW1iZXIAbGlidXNiX2dldF9wYXJlbnQAbGlidXNiX2dldF9kZXZpY2VfYWRkcmVzcwBsaWJ1c2JfZ2V0X2RldmljZV9zcGVlZABsaWJ1c2JfcmVmX2RldmljZQBsaWJ1c2JfZ2V0X2RldmljZQBsaWJ1c2JfZGV2X21lbV9hbGxvYwBsaWJ1c2JfZGV2X21lbV9mcmVlAGxpYnVzYl9zZXRfYXV0b19kZXRhY2hfa2VybmVsX2RyaXZlcgBsaWJ1c2Jfc2V0X2RlYnVnAGxpYnVzYl9zZXRfb3B0aW9uAGxpYnVzYl9oYXNfY2FwYWJpbGl0eQB1c2JpX2xvZ192AHVzYmlfc2FuaXRpemVfZGV2aWNlAGxpYnVzYl9nZXRfcG9ydF9udW1iZXJzAGxpYnVzYl9nZXRfcG9ydF9wYXRoAGxpYnVzYl9nZXRfbWF4X3BhY2tldF9zaXplAGxpYnVzYl9nZXRfbWF4X2lzb19wYWNrZXRfc2l6ZQBsaWJ1c2JfdW5yZWZfZGV2aWNlLnBhcnQuMABsaWJ1c2JfdW5yZWZfZGV2aWNlAGxpYnVzYl9mcmVlX2RldmljZV9saXN0AGRpc2NvdmVyZWRfZGV2c19hcHBlbmQAbGlidXNiX2dldF9kZXZpY2VfbGlzdAB1c2JpX3NpZ25hbF9ldmVudAB1c2JpX2NsZWFyX2V2ZW50AGxpYnVzYl9vcGVuAGxpYnVzYl9vcGVuX2RldmljZV93aXRoX3ZpZF9waWQAbGlidXNiX2dldF9jb25maWd1cmF0aW9uAGxpYnVzYl9zZXRfY29uZmlndXJhdGlvbgBsaWJ1c2JfY2xhaW1faW50ZXJmYWNlAGxpYnVzYl9yZWxlYXNlX2ludGVyZmFjZQBsaWJ1c2Jfc2V0X2ludGVyZmFjZV9hbHRfc2V0dGluZwBsaWJ1c2JfY2xlYXJfaGFsdABsaWJ1c2JfcmVzZXRfZGV2aWNlAGxpYnVzYl9hbGxvY19zdHJlYW1zAGxpYnVzYl9mcmVlX3N0cmVhbXMAbGlidXNiX2tlcm5lbF9kcml2ZXJfYWN0aXZlAGxpYnVzYl9kZXRhY2hfa2VybmVsX2RyaXZlcgBsaWJ1c2JfYXR0YWNoX2tlcm5lbF9kcml2ZXIAbGlidXNiX2luaXQAbGlidXNiX2V4aXQAbGlidXNiX2Nsb3NlAGxpYnVzYl9lcnJvcl9uYW1lAGxpYnVzYl9nZXRfdmVyc2lvbgBjbGVhcl9pbnRlcmZhY2UAdXNiaV9wYXJzZV9kZXNjcmlwdG9yAHJhd19kZXNjX3RvX2NvbmZpZwB1c2JpX2RldmljZV9jYWNoZV9kZXNjcmlwdG9yAGxpYnVzYl9nZXRfZGV2aWNlX2Rlc2NyaXB0b3IAbGlidXNiX2dldF9hY3RpdmVfY29uZmlnX2Rlc2NyaXB0b3IAbGlidXNiX2dldF9jb25maWdfZGVzY3JpcHRvcgB1c2JpX2dldF9jb25maWdfaW5kZXhfYnlfdmFsdWUAbGlidXNiX2dldF9jb25maWdfZGVzY3JpcHRvcl9ieV92YWx1ZQBsaWJ1c2JfZnJlZV9jb25maWdfZGVzY3JpcHRvcgBsaWJ1c2JfZ2V0X3NzX2VuZHBvaW50X2NvbXBhbmlvbl9kZXNjcmlwdG9yAGxpYnVzYl9mcmVlX3NzX2VuZHBvaW50X2NvbXBhbmlvbl9kZXNjcmlwdG9yAGxpYnVzYl9nZXRfYm9zX2Rlc2NyaXB0b3IAbGlidXNiX2ZyZWVfYm9zX2Rlc2NyaXB0b3IAbGlidXNiX2dldF91c2JfMl8wX2V4dGVuc2lvbl9kZXNjcmlwdG9yAGxpYnVzYl9mcmVlX3VzYl8yXzBfZXh0ZW5zaW9uX2Rlc2NyaXB0b3IAbGlidXNiX2dldF9zc191c2JfZGV2aWNlX2NhcGFiaWxpdHlfZGVzY3JpcHRvcgBsaWJ1c2JfZnJlZV9zc191c2JfZGV2aWNlX2NhcGFiaWxpdHlfZGVzY3JpcHRvcgBsaWJ1c2JfZ2V0X2NvbnRhaW5lcl9pZF9kZXNjcmlwdG9yAGxpYnVzYl9mcmVlX2NvbnRhaW5lcl9pZF9kZXNjcmlwdG9yAGxpYnVzYl9nZXRfc3RyaW5nX2Rlc2NyaXB0b3JfYXNjaWkAdXNiaV9ob3RwbHVnX21hdGNoX2NiAGxpYnVzYl9ob3RwbHVnX2RlcmVnaXN0ZXJfY2FsbGJhY2sucGFydC4wAHVzYmlfaG90cGx1Z19tYXRjaAB1c2JpX2hvdHBsdWdfbm90aWZpY2F0aW9uAGxpYnVzYl9ob3RwbHVnX3JlZ2lzdGVyX2NhbGxiYWNrAGxpYnVzYl9ob3RwbHVnX2RlcmVnaXN0ZXJfY2FsbGJhY2sAdXNiaV9ob3RwbHVnX2RlcmVnaXN0ZXIAbGlidXNiX2ZyZWVfdHJhbnNmZXIucGFydC4wAGxpYnVzYl9hbGxvY190cmFuc2ZlcgBsaWJ1c2JfZnJlZV90cmFuc2ZlcgBsaWJ1c2Jfc3VibWl0X3RyYW5zZmVyAGxpYnVzYl9jYW5jZWxfdHJhbnNmZXIAaGFuZGxlX3RpbWVvdXRzX2xvY2tlZABoYW5kbGVfZXZlbnRzAGxpYnVzYl90cmFuc2Zlcl9zZXRfc3RyZWFtX2lkAGxpYnVzYl90cmFuc2Zlcl9nZXRfc3RyZWFtX2lkAHVzYmlfaGFuZGxlX3RyYW5zZmVyX2NvbXBsZXRpb24AdXNiaV9oYW5kbGVfdHJhbnNmZXJfY2FuY2VsbGF0aW9uAHVzYmlfc2lnbmFsX3RyYW5zZmVyX2NvbXBsZXRpb24AbGlidXNiX3RyeV9sb2NrX2V2ZW50cwBsaWJ1c2JfbG9ja19ldmVudHMAbGlidXNiX3VubG9ja19ldmVudHMAbGlidXNiX2V2ZW50X2hhbmRsaW5nX29rAGxpYnVzYl9ldmVudF9oYW5kbGVyX2FjdGl2ZQBsaWJ1c2JfaW50ZXJydXB0X2V2ZW50X2hhbmRsZXIAbGlidXNiX2xvY2tfZXZlbnRfd2FpdGVycwBsaWJ1c2JfdW5sb2NrX2V2ZW50X3dhaXRlcnMAbGlidXNiX3dhaXRfZm9yX2V2ZW50AGxpYnVzYl9wb2xsZmRzX2hhbmRsZV90aW1lb3V0cwBsaWJ1c2JfZ2V0X25leHRfdGltZW91dABsaWJ1c2JfaGFuZGxlX2V2ZW50c190aW1lb3V0X2NvbXBsZXRlZABsaWJ1c2JfaGFuZGxlX2V2ZW50c190aW1lb3V0AGxpYnVzYl9oYW5kbGVfZXZlbnRzAGxpYnVzYl9oYW5kbGVfZXZlbnRzX2NvbXBsZXRlZABsaWJ1c2JfaGFuZGxlX2V2ZW50c19sb2NrZWQAbGlidXNiX3NldF9wb2xsZmRfbm90aWZpZXJzAHVzYmlfYWRkX3BvbGxmZAB1c2JpX2lvX2luaXQAdXNiaV9yZW1vdmVfcG9sbGZkAHVzYmlfaW9fZXhpdABsaWJ1c2JfZ2V0X3BvbGxmZHMAbGlidXNiX2ZyZWVfcG9sbGZkcwB1c2JpX2hhbmRsZV9kaXNjb25uZWN0AGxpYnVzYl9zZXRsb2NhbGUAbGlidXNiX3N0cmVycm9yAHN5bmNfdHJhbnNmZXJfY2IAc3luY190cmFuc2Zlcl93YWl0X2Zvcl9jb21wbGV0aW9uAGRvX3N5bmNfYnVsa190cmFuc2ZlcgBsaWJ1c2JfY29udHJvbF90cmFuc2ZlcgBsaWJ1c2JfYnVsa190cmFuc2ZlcgBsaWJ1c2JfaW50ZXJydXB0X3RyYW5zZmVyAGNyZWF0ZV9mZABjaGVja19wb2xsZmRzAHVzYmlfY3JlYXRlX2ZkAHVzYmlfcG9sbAB1c2JpX2Nsb3NlAHVzYmlfcGlwZQB1c2JpX3dyaXRlAHVzYmlfcmVhZAB1c2JpX2NvbmRfaW50d2FpdAB1c2JpX211dGV4X3N0YXRpY19sb2NrAHVzYmlfY29uZF9pbml0AHVzYmlfY29uZF93YWl0AHVzYmlfY29uZF90aW1lZHdhaXQAdXNiaV9jb25kX2Jyb2FkY2FzdAB1c2JpX2NvbmRfZGVzdHJveQB3aW5kb3dzX2dldF9kZXZpY2VfbGlzdAB3aW5kb3dzX29wZW4Ad2luZG93c19jbG9zZQB3aW5kb3dzX2dldF9kZXZpY2VfZGVzY3JpcHRvcgB3aW5kb3dzX2dldF9hY3RpdmVfY29uZmlnX2Rlc2NyaXB0b3IAd2luZG93c19nZXRfY29uZmlnX2Rlc2NyaXB0b3IAd2luZG93c19nZXRfY29uZmlnX2Rlc2NyaXB0b3JfYnlfdmFsdWUAd2luZG93c19nZXRfY29uZmlndXJhdGlvbgB3aW5kb3dzX3NldF9jb25maWd1cmF0aW9uAHdpbmRvd3NfY2xhaW1faW50ZXJmYWNlAHdpbmRvd3NfcmVsZWFzZV9pbnRlcmZhY2UAd2luZG93c19zZXRfaW50ZXJmYWNlX2FsdHNldHRpbmcAd2luZG93c19jbGVhcl9oYWx0AHdpbmRvd3NfcmVzZXRfZGV2aWNlAHdpbmRvd3NfZGVzdHJveV9kZXZpY2UAd2luZG93c19zdWJtaXRfdHJhbnNmZXIAd2luZG93c19jYW5jZWxfdHJhbnNmZXIAd2luZG93c19jbGVhcl90cmFuc2Zlcl9wcml2AGh0YWJfZGVzdHJveQB3aW5kb3dzX2Rlc3Ryb3lfY2xvY2sAd2luZG93c19zZXRfb3B0aW9uAGdldF93aW5kb3dzX3ZlcnNpb24Ad2luZG93c19leGl0AHdpbmRvd3NfZXJyb3Jfc3RyAHdpbmRvd3NfY2xvY2tfZ2V0dGltZQB3aW5kb3dzX2hhbmRsZV9ldmVudHMAd2luZG93c19pbml0AHdpbmRvd3NfY2xvY2tfZ2V0dGltZV90aHJlYWRlZABodGFiX2hhc2gAd2luZG93c19mb3JjZV9zeW5jX2NvbXBsZXRpb24AdXNiZGtfZ2V0X2NvbmZpZ19kZXNjcmlwdG9yX2J5X3ZhbHVlAHVzYmRrX2dldF9jb25maWd1cmF0aW9uAHVzYmRrX3NldF9jb25maWd1cmF0aW9uAHVzYmRrX2NvcHlfdHJhbnNmZXJfZGF0YQB1c2Jka19nZXRfdHJhbnNmZXJfZmQAdXNiZGtfZ2V0X292ZXJsYXBwZWRfcmVzdWx0AHVzYmRrX2NsZWFyX3RyYW5zZmVyX3ByaXYAdXNiZGtfY2FuY2VsX3RyYW5zZmVyAHVzYmRrX3Jlc2V0X2RldmljZQB1c2Jka19jbGVhcl9oYWx0AHVzYmRrX3NldF9pbnRlcmZhY2VfYWx0c2V0dGluZwB1c2Jka19kb19pc29fdHJhbnNmZXIAdXNiZGtfZG9fYnVsa190cmFuc2ZlcgB1c2Jka19kb19jb250cm9sX3RyYW5zZmVyAHVzYmRrX3N1Ym1pdF90cmFuc2ZlcgB1c2Jka19nZXRfZGV2aWNlX2Rlc2NyaXB0b3IAdXNiZGtfZ2V0X2NvbmZpZ19kZXNjcmlwdG9yAHVzYmRrX2dldF9zZXNzaW9uX2lkX2Zvcl9kZXZpY2UAdXNiZGtfY2FjaGVfY29uZmlnX2Rlc2NyaXB0b3JzAHVzYmRrX2dldF9kZXZpY2VfbGlzdAB1c2Jka19leGl0AHVzYmRrX2Nsb3NlAHVzYmRrX29wZW4AdXNiZGtfY2xhaW1faW50ZXJmYWNlAHVzYmRrX3JlbGVhc2VfaW50ZXJmYWNlAHVzYmRrX2dldF9hY3RpdmVfY29uZmlnX2Rlc2NyaXB0b3IAdXNiZGtfZGVzdHJveV9kZXZpY2UAdXNiZGtfaW5pdAB3aW51c2JfZ2V0X2NvbmZpZ19kZXNjcmlwdG9yX2J5X3ZhbHVlAHdpbnVzYl9jbG9zZQB3aW51c2JfZ2V0X2NvbmZpZ3VyYXRpb24Ad2ludXNiX2NvcHlfdHJhbnNmZXJfZGF0YQB3aW51c2JfZ2V0X3RyYW5zZmVyX2ZkAHdpbnVzYnhfcmVsZWFzZV9pbnRlcmZhY2UAaW50ZXJmYWNlX2J5X2VuZHBvaW50AHdpbnVzYnhfYWJvcnRfY29udHJvbABoaWRfcmVsZWFzZV9pbnRlcmZhY2UAd2ludXNiX2dldF9vdmVybGFwcGVkX3Jlc3VsdAB3aW51c2JfZGVzdHJveV9kZXZpY2UAd2ludXNiX2NhbmNlbF90cmFuc2ZlcgBoaWRfc2V0X2ludGVyZmFjZV9hbHRzZXR0aW5nAGhpZF9jbGFpbV9pbnRlcmZhY2UAd2ludXNieF9jb3B5X3RyYW5zZmVyX2RhdGEAd2ludXNieF9jb25maWd1cmVfZW5kcG9pbnRzAGNvbXBvc2l0ZV9hYm9ydF90cmFuc2ZlcnMAY29tcG9zaXRlX2Fib3J0X2NvbnRyb2wAY29tcG9zaXRlX3N1Ym1pdF9pc29fdHJhbnNmZXIAY29tcG9zaXRlX3N1Ym1pdF9idWxrX3RyYW5zZmVyAGNvbXBvc2l0ZV9jbGVhcl9oYWx0AHdpbnVzYl9jbGVhcl90cmFuc2Zlcl9wcml2AHdpbnVzYl9zdWJtaXRfdHJhbnNmZXIAY29tcG9zaXRlX3N1Ym1pdF9jb250cm9sX3RyYW5zZmVyAHdpbmRvd3NfYXNzaWduX2VuZHBvaW50cwB3aW51c2Jfc2V0X2ludGVyZmFjZV9hbHRzZXR0aW5nAHdpbnVzYl9jbGFpbV9pbnRlcmZhY2UAd2ludXNiX3NldF9jb25maWd1cmF0aW9uAHdpbnVzYl9nZXRfZGV2aWNlX2Rlc2NyaXB0b3IAd2ludXNiX2dldF9jb25maWdfZGVzY3JpcHRvcgBfaGlkX2dldF9zdHJpbmdfZGVzY3JpcHRvcgBoaWRfY29weV90cmFuc2Zlcl9kYXRhAGhpZF9jbGVhcl9oYWx0AHdpbnVzYnhfYWJvcnRfdHJhbnNmZXJzAHdpbnVzYnhfcmVzZXRfZGV2aWNlAGNvbXBvc2l0ZV9yZXNldF9kZXZpY2UAd2ludXNieF9jbGVhcl9oYWx0AHdpbnVzYnhfc2V0X2ludGVyZmFjZV9hbHRzZXR0aW5nAGdldF9hbmNlc3RvcgBzYW5pdGl6ZV9wYXRoAHdpbnVzYnhfb3BlbgBjb21wb3NpdGVfb3BlbgBoaWRfY2xvc2UAd2ludXNieF9jbG9zZQBjb21wb3NpdGVfY2xvc2UAd2ludXNiX2V4aXQAd2ludXNieF9pbml0AGhpZF9hYm9ydF90cmFuc2ZlcnMAd2ludXNieF9zdWJtaXRfaXNvX3RyYW5zZmVyAHdpbnVzYnhfc3VibWl0X2J1bGtfdHJhbnNmZXIAYXV0b19jbGFpbQBoaWRfc3VibWl0X2J1bGtfdHJhbnNmZXIAaGlkX3Jlc2V0X2RldmljZQB3aW51c2JfcmVzZXRfZGV2aWNlAHdpbnVzYl9jbGVhcl9oYWx0AHdpbnVzYl9yZWxlYXNlX2ludGVyZmFjZQB3aW51c2Jfb3BlbgBjb21wb3NpdGVfY29weV90cmFuc2Zlcl9kYXRhAGNvbXBvc2l0ZV9yZWxlYXNlX2ludGVyZmFjZQBjb21wb3NpdGVfc2V0X2ludGVyZmFjZV9hbHRzZXR0aW5nAGNvbXBvc2l0ZV9jbGFpbV9pbnRlcmZhY2UAd2ludXNieF9leGl0AHdpbnVzYl9pbml0AHdpbnVzYnhfY2xhaW1faW50ZXJmYWNlAHNzY2FuZi5jb25zdHByb3AuMABndWlkX3RvX3N0cmluZy5wYXJ0LjAuaXNyYS4wAHdpbnVzYl9nZXRfZGV2aWNlX2xpc3QAX2hpZF9nZXRfcmVwb3J0X2Rlc2NyaXB0b3IuaXNyYS4wAF9oaWRfZ2V0X2hpZF9kZXNjcmlwdG9yAHdpbnVzYnhfc3VibWl0X2NvbnRyb2xfdHJhbnNmZXIAd2ludXNiX2dldF9hY3RpdmVfY29uZmlnX2Rlc2NyaXB0b3IAaGlkX3N1Ym1pdF9jb250cm9sX3RyYW5zZmVyAF9fZG9fZ2xvYmFsX2R0b3JzAF9fZG9fZ2xvYmFsX2N0b3JzAF9fZHluX3Rsc19kdG9yAF9fZHluX3Rsc19pbml0AF9fdGxyZWdkdG9yAF9fcmVwb3J0X2Vycm9yAG1hcmtfc2VjdGlvbl93cml0YWJsZQBfcGVpMzg2X3J1bnRpbWVfcmVsb2NhdG9yAF9fbWluZ3d0aHJfcnVuX2tleV9kdG9ycy5wYXJ0LjAAX19fdzY0X21pbmd3dGhyX2FkZF9rZXlfZHRvcgBfX193NjRfbWluZ3d0aHJfcmVtb3ZlX2tleV9kdG9yAF9fbWluZ3dfVExTY2FsbGJhY2sAX1ZhbGlkYXRlSW1hZ2VCYXNlAF9GaW5kUEVTZWN0aW9uAF9GaW5kUEVTZWN0aW9uQnlOYW1lAF9fbWluZ3dfR2V0U2VjdGlvbkZvckFkZHJlc3MAX19taW5nd19HZXRTZWN0aW9uQ291bnQAX0ZpbmRQRVNlY3Rpb25FeGVjAF9HZXRQRUltYWdlQmFzZQBfSXNOb253cml0YWJsZUluQ3VycmVudEltYWdlAF9fbWluZ3dfZW51bV9pbXBvcnRfbGlicmFyeV9uYW1lcwBEbGxFbnRyeVBvaW50AF9fbWluZ3dfc25wcmludGYAb3B0aW1pemVfYWxsb2MAcmVsZWFzZV9wdHJzAHJlc2l6ZV93YnVmAGNsZWFudXBfcmV0dXJuAF9fbWluZ3dfc2Zvcm1hdABfX21pbmd3X3Zmc2NhbmYAX19taW5nd192c3NjYW5mAF9fbWluZ3dfdnNucHJpbnRmAF9fbWluZ3dfc3RydG9mAF9fc3RydG9sZABfX21pbmd3X3N0cnRvbGQAc3RydG9pbWF4AHN0cnRvdW1heABfX3Bmb3JtYXRfY3Z0AF9fcGZvcm1hdF9wdXRjAF9fcGZvcm1hdF93cHV0Y2hhcnMAX19wZm9ybWF0X3B1dGNoYXJzAF9fcGZvcm1hdF9wdXRzAF9fcGZvcm1hdF9lbWl0X2luZl9vcl9uYW4AX19wZm9ybWF0X3hpbnQuaXNyYS4wAF9fcGZvcm1hdF9pbnQuaXNyYS4wAF9fcGZvcm1hdF9lbWl0X3JhZGl4X3BvaW50AF9fcGZvcm1hdF9lbWl0X2Zsb2F0AF9fcGZvcm1hdF9lbWl0X2VmbG9hdABfX3Bmb3JtYXRfZWZsb2F0AF9fcGZvcm1hdF9mbG9hdABfX3Bmb3JtYXRfZ2Zsb2F0AF9fcGZvcm1hdF94bGRvdWJsZQBfX21pbmd3X3Bmb3JtYXQAX19ydl9hbGxvY19EMkEAX19ucnZfYWxsb2NfRDJBAF9fZnJlZWR0b2EAX19xdW9yZW1fRDJBAF9fcnNoaWZ0X0QyQQBfX3RyYWlsel9EMkEAZHRvYV9sb2NrAGR0b2FfbG9ja19jbGVhbnVwAF9fQmFsbG9jX0QyQQBfX0JmcmVlX0QyQQBfX211bHRhZGRfRDJBAF9faTJiX0QyQQBfX211bHRfRDJBAF9fcG93NW11bHRfRDJBAF9fbHNoaWZ0X0QyQQBfX2NtcF9EMkEAX19kaWZmX0QyQQBfX2IyZF9EMkEAX19kMmJfRDJBAF9fc3RyY3BfRDJBAF9faW5jcmVtZW50X0QyQQBydk9LLmNvbnN0cHJvcC4wLmlzcmEuMABfX2RlY3JlbWVudF9EMkEAX19zZXRfb25lc19EMkEAX19zdHJ0b2RnAF9fc3VtX0QyQQBfX2dldGhleF9EMkEAX19taW5nd19oZXhkaWdfaW5pdF9EMkEAX19oZXhuYW5fRDJBAF9fczJiX0QyQQBfX3JhdGlvX0QyQQBfX21hdGNoX0QyQQBfX2NvcHliaXRzX0QyQQBfX2FueV9vbl9EMkEAX19tYnJ0b3djX2NwAG1ic3J0b3djcwBfaW5pdGlhbGl6ZV9vbmV4aXRfdGFibGUAX3JlZ2lzdGVyX29uZXhpdF9mdW5jdGlvbgBfZXhlY3V0ZV9vbmV4aXRfdGFibGUAX193Y3J0b21iX2NwAHdjc3J0b21icwBfX2FjcnRfaW9iX2Z1bmMAcmVnaXN0ZXJfZnJhbWVfY3RvcgBfX2lvYl9mdW5jAF9fX21iX2N1cl9tYXhfZnVuYwBfX2Noa19mYWlsAF9fX2xjX2NvZGVwYWdlX2Z1bmMAX2Ftc2dfZXhpdABsb2NhbGVjb252AF9pbml0dGVybQA=">舊版的</a>就可以了</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;在 11 版 (latest) 的 VirtViewer Passthrough USB 時會 Crash&lt;br&gt;發現把 bin&amp;#x2F;libusb-1.0.dll 換成&lt;a download=&quot;libusb-1.0.dll&quot; href=&quot;data:applicatio</summary>
      
    
    
    
    <category term="ops" scheme="https://blog.leko.moe/categories/ops/"/>
    
    
    <category term="libusb" scheme="https://blog.leko.moe/tags/libusb/"/>
    
    <category term="proxmox" scheme="https://blog.leko.moe/tags/proxmox/"/>
    
    <category term="virt-viewer" scheme="https://blog.leko.moe/tags/virt-viewer/"/>
    
  </entry>
  
  <entry>
    <title>Jellyfin 新增 SSO 踩雷小記</title>
    <link href="https://blog.leko.moe/2023/01/28/Jellyfin-%E6%96%B0%E5%A2%9E-SSO-%E8%B8%A9%E9%9B%B7%E5%B0%8F%E8%A8%98/"/>
    <id>https://blog.leko.moe/2023/01/28/Jellyfin-%E6%96%B0%E5%A2%9E-SSO-%E8%B8%A9%E9%9B%B7%E5%B0%8F%E8%A8%98/</id>
    <published>2023-01-27T16:57:00.000Z</published>
    <updated>2026-04-07T16:35:08.844Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>這篇文章主要是紀錄在使用 <a href="https://github.com/9p4/jellyfin-plugin-sso">jellyfin-plugin-sso</a> 時踩到的小雷，不是完整的教學文章</p><span id="more"></span><h2 id="環境"><a href="#環境" class="headerlink" title="環境"></a>環境</h2><ul><li>Keycloak</li><li>Jellyfin</li></ul><p>使用的是 OIDC 方式。</p><h2 id="雷"><a href="#雷" class="headerlink" title="雷"></a>雷</h2><h3 id="Role-Claims"><a href="#Role-Claims" class="headerlink" title="Role Claims"></a>Role Claims</h3><p>由於在文件中有提到:</p><blockquote><p>roles: array of strings. This validates the SAML response against the Role attribute. If a user has any of these roles, then the user is authenticated. Leave blank to disable role checking.</p></blockquote><p>所以我有設定 Roles 限制。</p><p>使用的是 KeyCloak 的 Client Role (Clients-&gt;[YOUR_OID]-&gt;Roles)</p><p>不過插件卻怎樣都抓不到這個 Token 裡面應該有提供的 Roles 列表(在 <code>roleClaim</code> 設定 Path)。</p><p>看了半小時才發現，他檢查的是 ID Token 而不是 Access Token。</p><p>因此需要在 KeyCloak 中加一個 Mapper (Clients-&gt;[YOUR_OID]-&gt;Mappers)</p><ul><li>Client ID: 選好</li><li>Multivalued: ON</li><li>Token Claim Name: 跟 <code>roleClaim</code> 一樣就可以了，我用的是 <code>jellyfin_roles</code></li><li>Claim JSON Type: String</li><li>Add to ID token: ON</li><li>Add to access token: OFF</li><li>Add to userinfo: OFF</li></ul><p>這樣 Jellyfin 應該就抓得到 Roles 了。</p>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;p&gt;這篇文章主要是紀錄在使用 &lt;a href=&quot;https://github.com/9p4/jellyfin-plugin-sso&quot;&gt;jellyfin-plugin-sso&lt;/a&gt; 時踩到的小雷，不是完整的教學文章&lt;/p&gt;</summary>
    
    
    
    
    <category term="Jellyfin" scheme="https://blog.leko.moe/tags/Jellyfin/"/>
    
    <category term="SSO" scheme="https://blog.leko.moe/tags/SSO/"/>
    
  </entry>
  
  <entry>
    <title>x86/CHR RouterOS 也能上 ZeroTier!</title>
    <link href="https://blog.leko.moe/2023/01/05/x86-CHR-RouterOS-%E4%B9%9F%E8%83%BD%E4%B8%8A-ZeroTier/"/>
    <id>https://blog.leko.moe/2023/01/05/x86-CHR-RouterOS-%E4%B9%9F%E8%83%BD%E4%B8%8A-ZeroTier/</id>
    <published>2023-01-04T20:54:00.000Z</published>
    <updated>2026-04-07T16:35:08.847Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>RouterOS 7 支援了 ZeroTier，不過僅在 ARM 裝置上支援，不失為一個遺憾。</p><p>研究了一下，利用同樣是 RouterOS 7 支援的 Container，成功使用 ZeroTier route 到內網，實現了一個好方便的 VPN owo</p><span id="more"></span><h2 id="需求"><a href="#需求" class="headerlink" title="需求"></a>需求</h2><ul><li>x86&#x2F;CHR 且開啟 Container 功能的 RouterOS</li></ul><h2 id="目標"><a href="#目標" class="headerlink" title="目標"></a>目標</h2><p>我們的目標是讓 ZeroTier 發放 <code>10.121.125.128/26</code>，並成功連接到 <code>10.121.127.0/24</code> 的內網。</p><p>RouterOS 為 <code>10.121.127.0/24</code> 的 Gateway。</p><p>RouterOS 與 ZeroTier Container 以 <code>192.168.212.1/30</code> &lt;-&gt; <code>192.168.21.2/30</code> 連接。</p><p>ZeroTier Container 預計會拿到 <code>10.121.125.190/26</code> 的 IP。</p><h2 id="實作"><a href="#實作" class="headerlink" title="實作"></a>實作</h2><p>首先，我們建立一個 vETH，用於連接 Container 與 ROS：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">/interface/veth add address=192.168.212.2/30 gateway=192.168.212.1 name=zerotier</span><br><span class="line">/ip/address add address=192.168.212.1/30 interface=zerotier</span><br></pre></td></tr></table></figure><p>設定 NAT，讓 Container 可以上網。</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/ip/firewall/nat add action=masquerade chain=srcnat dst-address=!10.121.127.0/24 src-address=192.168.212.2</span><br></pre></td></tr></table></figure><p>設定 Static Route，讓 <code>10.121.127.0/24</code> 的設備回程走得通:</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/ip/route add dst-address=10.121.125.128/26 gateway=192.168.212.2 routing-table=main</span><br></pre></td></tr></table></figure><p>建立 Container:</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">/container/config set registry-url=https://registry-1.docker.io tmpdir=docker</span><br><span class="line">/container add remote-image=&quot;zerotier/zerotier&quot; interface=zerotier start-on-boot=yes</span><br></pre></td></tr></table></figure><p>接著，我們要在 ZeroTier 上新增一個網路。</p><p>在 <strong>IPv4 Auto-Assign</strong> 選擇 <strong>Advanced</strong>，讓他發放 <code>10.121.125.129</code> -&gt; <code>10.121.125.190</code> 的 IP。</p><p>在 <strong>Managed Routes</strong> Add Route。</p><table><thead><tr><th>Destination</th><th>Via</th><th>Comment</th></tr></thead><tbody><tr><td>10.121.125.128&#x2F;26</td><td>(留空)</td><td>新增 LAN</td></tr><tr><td>10.121.127.0&#x2F;24</td><td>10.121.125.190</td><td>到內網的 Route</td></tr></tbody></table><p>接著，在 ROS 上執行</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">/container/shell &lt;container id，第一次使用應該是 0&gt;</span><br><span class="line">zerotier-cli join &lt;id&gt;</span><br></pre></td></tr></table></figure><p>應該就能在 ZeroTier 網站上看到設備加入。</p><p>手動指定 IP 為 <code>10.121.125.190</code>，就大功告成了！</p><p>此時另一台設備加入，應該就能連接到 <code>10.121.127.0/24</code> 的內網了，收工。</p>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;p&gt;RouterOS 7 支援了 ZeroTier，不過僅在 ARM 裝置上支援，不失為一個遺憾。&lt;/p&gt;
&lt;p&gt;研究了一下，利用同樣是 RouterOS 7 支援的 Container，成功使用 ZeroTier route 到內網，實現了一個好方便的 VPN owo&lt;/p&gt;</summary>
    
    
    
    <category term="ops" scheme="https://blog.leko.moe/categories/ops/"/>
    
    
    <category term="Container" scheme="https://blog.leko.moe/tags/Container/"/>
    
    <category term="RouterOS" scheme="https://blog.leko.moe/tags/RouterOS/"/>
    
    <category term="ZeroTier" scheme="https://blog.leko.moe/tags/ZeroTier/"/>
    
  </entry>
  
  <entry>
    <title>自動把交大課表加入 Google 日曆</title>
    <link href="https://blog.leko.moe/2022/12/03/%E8%87%AA%E5%8B%95%E6%8A%8A%E4%BA%A4%E5%A4%A7%E8%AA%B2%E8%A1%A8%E5%8A%A0%E5%85%A5-Google-%E6%97%A5%E6%9B%86/"/>
    <id>https://blog.leko.moe/2022/12/03/%E8%87%AA%E5%8B%95%E6%8A%8A%E4%BA%A4%E5%A4%A7%E8%AA%B2%E8%A1%A8%E5%8A%A0%E5%85%A5-Google-%E6%97%A5%E6%9B%86/</id>
    <published>2022-12-02T18:22:00.000Z</published>
    <updated>2026-04-07T16:35:08.848Z</updated>
    
    <content type="html"><![CDATA[<p>嗨大家，我寫了一個把交大課表加入 Google 日曆的<a href="https://gist.github.com/lekoOwO/a2d42bb44b651ebc9b2335ddd92111fb">腳本</a><br>歡迎大家使用 OwO</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;嗨大家，我寫了一個把交大課表加入 Google 日曆的&lt;a href=&quot;https://gist.github.com/lekoOwO/a2d42bb44b651ebc9b2335ddd92111fb&quot;&gt;腳本&lt;/a&gt;&lt;br&gt;歡迎大家使用 OwO&lt;/p&gt;
</summary>
      
    
    
    
    <category term="dev" scheme="https://blog.leko.moe/categories/dev/"/>
    
    
    <category term="nctu" scheme="https://blog.leko.moe/tags/nctu/"/>
    
    <category term="nycu" scheme="https://blog.leko.moe/tags/nycu/"/>
    
  </entry>
  
  <entry>
    <title>中華電信 Mesh 開機紅燈問題</title>
    <link href="https://blog.leko.moe/2022/06/16/%E4%B8%AD%E8%8F%AF%E9%9B%BB%E4%BF%A1-Mesh-%E9%96%8B%E6%A9%9F%E7%B4%85%E7%87%88%E5%95%8F%E9%A1%8C/"/>
    <id>https://blog.leko.moe/2022/06/16/%E4%B8%AD%E8%8F%AF%E9%9B%BB%E4%BF%A1-Mesh-%E9%96%8B%E6%A9%9F%E7%B4%85%E7%87%88%E5%95%8F%E9%A1%8C/</id>
    <published>2022-06-15T17:50:00.000Z</published>
    <updated>2026-04-07T16:35:08.847Z</updated>
    
    <content type="html"><![CDATA[<p>中華電信給的那台 4T4R Wi-Fi 5 Mesh 白色圓盤在開機的時候三不五時會是紅燈狀態。</p><p>看了一下發現 這台路由器有很奇怪的行為 – 他會用他的 Ethernet MAC 以<code>D0:05:2A:22:22:22</code> 的名義要一個 DHCP</p><p>RouterOS 這時候會發 Lease 失敗，然後 Mesh 就會不開心 亮紅燈給你看，同時把 Wi-Fi 跟 Ethernet unbridge。</p><p>解決方法也很簡單，另外開一個 DHCP Server 發一個 Lease 給他，等亮藍燈再關掉 DHCP Server 就可以了。</p>]]></content>
    
    
      
      
    <summary type="html">&lt;p&gt;中華電信給的那台 4T4R Wi-Fi 5 Mesh 白色圓盤在開機的時候三不五時會是紅燈狀態。&lt;/p&gt;
&lt;p&gt;看了一下發現 這台路由器有很奇怪的行為 – 他會用他的 Ethernet MAC 以&lt;code&gt;D0:05:2A:22:22:22&lt;/code&gt; 的名義要一個 D</summary>
      
    
    
    
    <category term="ops" scheme="https://blog.leko.moe/categories/ops/"/>
    
    
  </entry>
  
  <entry>
    <title>LG Gram 開啟 TPM 功能</title>
    <link href="https://blog.leko.moe/2021/10/21/LG-Gram-%E9%96%8B%E5%95%9F-TPM-%E5%8A%9F%E8%83%BD/"/>
    <id>https://blog.leko.moe/2021/10/21/LG-Gram-%E9%96%8B%E5%95%9F-TPM-%E5%8A%9F%E8%83%BD/</id>
    <published>2021-10-21T05:52:00.000Z</published>
    <updated>2026-04-07T16:35:08.844Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>前陣子 Leko 把筆電 (LG Gram 14Z980) 送修後，回來的筆電發現居然 TPM 不見了</p><p>進 BIOS 發現 TPM 那欄顯示 <code>TPM Not Detected</code></p><p>還害我的 Windows 登不進去 :( (PIN 被 TPM 保護)</p><p>今天 Leko 找到找回 TPM 的方法了，網路上好像都沒有其他人有這問題，就記錄一下</p><span id="more"></span><h2 id="步驟"><a href="#步驟" class="headerlink" title="步驟"></a>步驟</h2><p>進 BIOS 後，按 <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>F7</kbd> 可以開啟隱藏設定</p><p>然後 <code>Advanced</code>-&gt;<code>Intel Advanced Menu</code>-&gt;<code>PCH-FW Configuration</code>-&gt;<code>PTT Configuration</code>-&gt;<code>TPM Device Selection</code> 選擇 <code>PTT</code></p><p>Save Changes and Exit 後</p><p>在 TPM 那邊選擇 <code>fTPM</code> (不要選擇 <code>TPM 2.0</code> 或 <code>TPM 1.2</code>，主機板上沒有獨立晶片)，進系統就可以發現 TPM 2.0 回來了 yay</p>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;p&gt;前陣子 Leko 把筆電 (LG Gram 14Z980) 送修後，回來的筆電發現居然 TPM 不見了&lt;/p&gt;
&lt;p&gt;進 BIOS 發現 TPM 那欄顯示 &lt;code&gt;TPM Not Detected&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;還害我的 Windows 登不進去 :( (PIN 被 TPM 保護)&lt;/p&gt;
&lt;p&gt;今天 Leko 找到找回 TPM 的方法了，網路上好像都沒有其他人有這問題，就記錄一下&lt;/p&gt;</summary>
    
    
    
    
  </entry>
  
  <entry>
    <title>用 Golang 建立一個簡單的 Reverse Proxy</title>
    <link href="https://blog.leko.moe/2021/06/26/%E7%94%A8-Golang-%E5%BB%BA%E7%AB%8B%E4%B8%80%E5%80%8B%E7%B0%A1%E5%96%AE%E7%9A%84-Reverse-Proxy/"/>
    <id>https://blog.leko.moe/2021/06/26/%E7%94%A8-Golang-%E5%BB%BA%E7%AB%8B%E4%B8%80%E5%80%8B%E7%B0%A1%E5%96%AE%E7%9A%84-Reverse-Proxy/</id>
    <published>2021-06-25T20:58:00.000Z</published>
    <updated>2026-04-07T16:35:08.848Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>雷雷寫上一篇文章的時候發現部落格的音樂 API 失效了，發現原本的作者有給新的 API ，但有限制一些 Header 才能用</p><p>於是雷雷就想寫一個 Reverse Proxy 幫忙轉發請求 ay</p><p>因為要放在 Docker 裡面，想了想還是 binary 好處理，於是把目標放在 Golang 上</p><span id="more"></span><h2 id="需求"><a href="#需求" class="headerlink" title="需求"></a>需求</h2><ul><li>Golang</li></ul><h2 id="實作"><a href="#實作" class="headerlink" title="實作"></a>實作</h2><h3 id="核心原始碼"><a href="#核心原始碼" class="headerlink" title="核心原始碼"></a>核心原始碼</h3><figure class="highlight go"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">func</span> <span class="title">main</span><span class="params">()</span></span> &#123;</span><br><span class="line"></span><br><span class="line">url, err := url.Parse(<span class="string">&quot;https://&quot;</span> + *remoteHost)</span><br><span class="line"><span class="keyword">if</span> err != <span class="literal">nil</span> &#123;</span><br><span class="line"><span class="built_in">panic</span>(err)</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">director := <span class="function"><span class="keyword">func</span><span class="params">(req *http.Request)</span></span> &#123;</span><br><span class="line">req.URL.Scheme = url.Scheme</span><br><span class="line">req.URL.Host = url.Host</span><br><span class="line">req.Host = url.Host</span><br><span class="line">req.Header.Set(<span class="string">&quot;Referer&quot;</span>, <span class="string">&quot;https://&quot;</span>+*referrer+<span class="string">&quot;/&quot;</span>)</span><br><span class="line">req.Header.Set(<span class="string">&quot;Origin&quot;</span>, <span class="string">&quot;https://&quot;</span>+*referrer)</span><br><span class="line">req.Header.Set(<span class="string">&quot;authority&quot;</span>, *remoteHost)</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">reverseProxy := httputil.NewSingleHostReverseProxy(url)</span><br><span class="line">reverseProxy.Director = director</span><br><span class="line">handler := handler&#123;proxy: reverseProxy&#125;</span><br><span class="line">http.Handle(<span class="string">&quot;/&quot;</span>, handler)</span><br><span class="line"></span><br><span class="line">http.ListenAndServe(fmt.Sprintf(<span class="string">&quot;:%d&quot;</span>, *port), <span class="literal">nil</span>)</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">type</span> handler <span class="keyword">struct</span> &#123;</span><br><span class="line">proxy *httputil.ReverseProxy</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">func</span> <span class="params">(h handler)</span></span> ServeHTTP(w http.ResponseWriter, r *http.Request) &#123;</span><br><span class="line">h.proxy.ServeHTTP(w, r)</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>這些就是最核心的 Code 了</p><p>可以看到我們先用 <code>httputil.NewSingleHostReverseProxy</code> 建一個 Reverse Proxy 起來</p><p>用 <code>director</code> 干涉 Income Request 後轉發到目標 (<code>url</code>) 上。</p><h3 id="干涉回應"><a href="#干涉回應" class="headerlink" title="干涉回應"></a>干涉回應</h3><p>除此之外，如果我們想要修改 Response Body 的某一部分的話，我們可以用 <code>ModifyResponse</code> 來實作:</p><figure class="highlight golang"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><span class="line">reverseProxy := httputil.NewSingleHostReverseProxy(url)</span><br><span class="line">reverseProxy.Director = director</span><br><span class="line">reverseProxy.ModifyResponse = rewriteBody</span><br><span class="line"><span class="comment">// Else Code...</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">func</span> <span class="title">rewriteBody</span><span class="params">(resp *http.Response)</span></span> (err <span class="type">error</span>) &#123;</span><br><span class="line">b, err := ioutil.ReadAll(resp.Body)</span><br><span class="line"><span class="keyword">if</span> err != <span class="literal">nil</span> &#123;</span><br><span class="line"><span class="keyword">return</span> err</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">err = resp.Body.Close()</span><br><span class="line"><span class="keyword">if</span> err != <span class="literal">nil</span> &#123;</span><br><span class="line"><span class="keyword">return</span> err</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">b = bytes.Replace(b, []<span class="type">byte</span>(<span class="string">&quot;before&quot;</span>), []<span class="type">byte</span>(<span class="string">&quot;after&quot;</span>, <span class="number">-1</span>)</span><br><span class="line">body := ioutil.NopCloser(bytes.NewReader(b))</span><br><span class="line">resp.Body = body</span><br><span class="line">resp.ContentLength = <span class="type">int64</span>(<span class="built_in">len</span>(b))</span><br><span class="line">resp.Header.Set(<span class="string">&quot;Content-Length&quot;</span>, strconv.Itoa(<span class="built_in">len</span>(b)))</span><br><span class="line"><span class="keyword">return</span> <span class="literal">nil</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>但這樣還不夠: 如果伺服器端開啟了壓縮(例如 <code>gzip</code>)，bytes 就會讀不到<br>因此我們要根據情況解壓縮:</p><figure class="highlight golang"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> reader io.ReadCloser</span><br><span class="line"><span class="keyword">switch</span> resp.Header.Get(<span class="string">&quot;Content-Encoding&quot;</span>) &#123;</span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;gzip&quot;</span>:</span><br><span class="line">reader, err = gzip.NewReader(resp.Body)</span><br><span class="line"><span class="keyword">defer</span> reader.Close()</span><br><span class="line"><span class="keyword">default</span>:</span><br><span class="line">reader = resp.Body</span><br><span class="line">&#125;</span><br><span class="line"><span class="built_in">delete</span>(resp.Header, <span class="string">&quot;Content-Encoding&quot;</span>)</span><br><span class="line"></span><br><span class="line">b, err := ioutil.ReadAll(reader)</span><br></pre></td></tr></table></figure><p>因此我們的 Code 最後可以像這樣:</p><figure class="highlight golang"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">package</span> main</span><br><span class="line"></span><br><span class="line"><span class="keyword">import</span> (</span><br><span class="line"><span class="string">&quot;bytes&quot;</span></span><br><span class="line"><span class="string">&quot;compress/gzip&quot;</span></span><br><span class="line"><span class="string">&quot;flag&quot;</span></span><br><span class="line"><span class="string">&quot;fmt&quot;</span></span><br><span class="line"><span class="string">&quot;io&quot;</span></span><br><span class="line"><span class="string">&quot;io/ioutil&quot;</span></span><br><span class="line"><span class="string">&quot;net/http&quot;</span></span><br><span class="line"><span class="string">&quot;net/http/httputil&quot;</span></span><br><span class="line"><span class="string">&quot;net/url&quot;</span></span><br><span class="line"><span class="string">&quot;strconv&quot;</span></span><br><span class="line">)</span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> remoteHost *<span class="type">string</span></span><br><span class="line"><span class="keyword">var</span> referrer *<span class="type">string</span></span><br><span class="line"><span class="keyword">var</span> myApiHost *<span class="type">string</span></span><br><span class="line"><span class="keyword">var</span> myApiHostSchema *<span class="type">string</span></span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">func</span> <span class="title">main</span><span class="params">()</span></span> &#123;</span><br><span class="line">port := flag.Int(<span class="string">&quot;p&quot;</span>, <span class="number">80</span>, <span class="string">&quot;HTTP API Port&quot;</span>)</span><br><span class="line">remoteHost = flag.String(<span class="string">&quot;r&quot;</span>, <span class="string">&quot;target.host&quot;</span>, <span class="string">&quot;Remote Host&quot;</span>)</span><br><span class="line">referrer = flag.String(<span class="string">&quot;f&quot;</span>, <span class="string">&quot;target.host&quot;</span>, <span class="string">&quot;Referrer&quot;</span>)</span><br><span class="line">myApiHost = flag.String(<span class="string">&quot;m&quot;</span>, <span class="string">&quot;localhost&quot;</span>, <span class="string">&quot;My API Host&quot;</span>)</span><br><span class="line">myApiHostSchema = flag.String(<span class="string">&quot;s&quot;</span>, <span class="string">&quot;http&quot;</span>, <span class="string">&quot;My API Host Schema&quot;</span>)</span><br><span class="line">flag.Parse()</span><br><span class="line"></span><br><span class="line">url, err := url.Parse(<span class="string">&quot;https://&quot;</span> + *remoteHost)</span><br><span class="line"><span class="keyword">if</span> err != <span class="literal">nil</span> &#123;</span><br><span class="line"><span class="built_in">panic</span>(err)</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">director := <span class="function"><span class="keyword">func</span><span class="params">(req *http.Request)</span></span> &#123;</span><br><span class="line">req.URL.Scheme = url.Scheme</span><br><span class="line">req.URL.Host = url.Host</span><br><span class="line">req.Host = url.Host</span><br><span class="line">req.Header.Set(<span class="string">&quot;Referer&quot;</span>, <span class="string">&quot;https://&quot;</span>+*referrer+<span class="string">&quot;/&quot;</span>)</span><br><span class="line">req.Header.Set(<span class="string">&quot;Origin&quot;</span>, <span class="string">&quot;https://&quot;</span>+*referrer)</span><br><span class="line">req.Header.Set(<span class="string">&quot;authority&quot;</span>, *remoteHost)</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">reverseProxy := httputil.NewSingleHostReverseProxy(url)</span><br><span class="line">reverseProxy.Director = director</span><br><span class="line">reverseProxy.ModifyResponse = rewriteBody</span><br><span class="line">handler := handler&#123;proxy: reverseProxy&#125;</span><br><span class="line">http.Handle(<span class="string">&quot;/&quot;</span>, handler)</span><br><span class="line"></span><br><span class="line">http.ListenAndServe(fmt.Sprintf(<span class="string">&quot;:%d&quot;</span>, *port), <span class="literal">nil</span>)</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">type</span> handler <span class="keyword">struct</span> &#123;</span><br><span class="line">proxy *httputil.ReverseProxy</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">func</span> <span class="params">(h handler)</span></span> ServeHTTP(w http.ResponseWriter, r *http.Request) &#123;</span><br><span class="line">h.proxy.ServeHTTP(w, r)</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">func</span> <span class="title">rewriteBody</span><span class="params">(resp *http.Response)</span></span> (err <span class="type">error</span>) &#123;</span><br><span class="line"><span class="keyword">var</span> reader io.ReadCloser</span><br><span class="line"><span class="keyword">switch</span> resp.Header.Get(<span class="string">&quot;Content-Encoding&quot;</span>) &#123;</span><br><span class="line"><span class="keyword">case</span> <span class="string">&quot;gzip&quot;</span>:</span><br><span class="line">reader, err = gzip.NewReader(resp.Body)</span><br><span class="line"><span class="keyword">defer</span> reader.Close()</span><br><span class="line"><span class="keyword">default</span>:</span><br><span class="line">reader = resp.Body</span><br><span class="line">&#125;</span><br><span class="line"><span class="built_in">delete</span>(resp.Header, <span class="string">&quot;Content-Encoding&quot;</span>)</span><br><span class="line"></span><br><span class="line">b, err := ioutil.ReadAll(reader)</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> err != <span class="literal">nil</span> &#123;</span><br><span class="line"><span class="keyword">return</span> err</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">err = resp.Body.Close()</span><br><span class="line"><span class="keyword">if</span> err != <span class="literal">nil</span> &#123;</span><br><span class="line"><span class="keyword">return</span> err</span><br><span class="line">&#125;</span><br><span class="line">b = bytes.Replace(b, []<span class="type">byte</span>(<span class="string">&quot;https:\\/\\/&quot;</span>+*remoteHost), []<span class="type">byte</span>(*myApiHostSchema+<span class="string">&quot;:\\/\\/&quot;</span>+*myApiHost), <span class="number">-1</span>)</span><br><span class="line">body := ioutil.NopCloser(bytes.NewReader(b))</span><br><span class="line">resp.Body = body</span><br><span class="line">resp.ContentLength = <span class="type">int64</span>(<span class="built_in">len</span>(b))</span><br><span class="line">resp.Header.Set(<span class="string">&quot;Content-Length&quot;</span>, strconv.Itoa(<span class="built_in">len</span>(b)))</span><br><span class="line"><span class="keyword">return</span> <span class="literal">nil</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>簡單又實用的一小段 Golang Code，耶比!</p>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;p&gt;雷雷寫上一篇文章的時候發現部落格的音樂 API 失效了，發現原本的作者有給新的 API ，但有限制一些 Header 才能用&lt;/p&gt;
&lt;p&gt;於是雷雷就想寫一個 Reverse Proxy 幫忙轉發請求 ay&lt;/p&gt;
&lt;p&gt;因為要放在 Docker 裡面，想了想還是 binary 好處理，於是把目標放在 Golang 上&lt;/p&gt;</summary>
    
    
    
    <category term="dev" scheme="https://blog.leko.moe/categories/dev/"/>
    
    
    <category term="golang" scheme="https://blog.leko.moe/tags/golang/"/>
    
  </entry>
  
  <entry>
    <title>把冷氣接上 HomeAssistant, Google Home 和 HomeKit</title>
    <link href="https://blog.leko.moe/2021/06/22/%E6%8A%8A%E5%86%B7%E6%B0%A3%E6%8E%A5%E4%B8%8A-HomeAssistant%E3%80%81Google-Home-%E5%92%8C-HomeKit/"/>
    <id>https://blog.leko.moe/2021/06/22/%E6%8A%8A%E5%86%B7%E6%B0%A3%E6%8E%A5%E4%B8%8A-HomeAssistant%E3%80%81Google-Home-%E5%92%8C-HomeKit/</id>
    <published>2021-06-21T20:00:00.000Z</published>
    <updated>2026-04-07T16:35:08.847Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><blockquote><p>好想用 Google Home 控制我的冷氣喔</p></blockquote><p>這個願望其實我已經想好多年了。</p><span id="more"></span><p>從大概三年前開始，買智慧插頭把床頭燈智慧化<br>到最近的智慧家電雨後春筍般地冒出<br>我的夢想(?)一直沒有改變(?)</p><p>Home Assistant 的相關專案也是絕讚活躍中<br>終於有一套合適的流程可以把任意的空調系統遙控器收進 HA 中<br>就在這邊紀錄一下 :D</p><p>PS. 本篇適合有用過 Home Assistant 的人看(?)<br>流程跟撇步介紹而已 沒有完整圖文教學<br>之後看情況再補基礎篇 :D</p><h2 id="需求"><a href="#需求" class="headerlink" title="需求"></a>需求</h2><ul><li>Home Assistant</li><li>Broadlink 牌的萬能遙控 (小米的也可以，但學習訊號的方式不同，暫時不介紹)</li><li>你的冷氣遙控器</li></ul><h2 id="本文"><a href="#本文" class="headerlink" title="本文"></a>本文</h2><h3 id="1-Home-Assistant-連接紅外線遙控"><a href="#1-Home-Assistant-連接紅外線遙控" class="headerlink" title="1. Home Assistant 連接紅外線遙控"></a>1. Home Assistant 連接紅外線遙控</h3><p>首先在 Home Assistant 裡面新增 Broadlink 的整合，並把萬能遙控連上去。</p><p><img src="https://i.imgur.com/qOwW8Ij.png"></p><h3 id="2-Home-Assistant-安裝-SmartIR-模組"><a href="#2-Home-Assistant-安裝-SmartIR-模組" class="headerlink" title="2. Home Assistant 安裝 SmartIR 模組"></a>2. Home Assistant 安裝 SmartIR 模組</h3><p>雷雷是用 HACS 安裝的，當然也可以照<a href="https://github.com/smartHomeHub/SmartIR/">專案</a>的 Readme 手動安裝。</p><h3 id="3-冷氣訊號"><a href="#3-冷氣訊號" class="headerlink" title="3. 冷氣訊號"></a>3. 冷氣訊號</h3><h4 id="檢查有沒有你的設定檔"><a href="#檢查有沒有你的設定檔" class="headerlink" title="檢查有沒有你的設定檔"></a>檢查有沒有你的設定檔</h4><p>如果你在 <a href="https://github.com/smartHomeHub/SmartIR/blob/master/docs/CLIMATE.md">Climate</a> 頁面有看到符合你的型號的冷氣，恭喜你 你很幸運 :D</p><p>直接把 Code 載下來放進 HA 的 <code>/config/custom_components/smartir/codes/climate/</code> 裡面</p><p>HA 設定檔新增</p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">smartir:</span></span><br><span class="line"></span><br><span class="line"><span class="attr">climate:</span></span><br><span class="line">  <span class="bullet">-</span> <span class="attr">platform:</span> <span class="string">smartir</span></span><br><span class="line">    <span class="attr">name:</span> [<span class="string">自己選一個名字吧</span> <span class="string">:D</span>]</span><br><span class="line">    <span class="attr">unique_id:</span> [<span class="string">取一個裝置</span> <span class="string">ID</span>]</span><br><span class="line">    <span class="attr">device_code:</span> [<span class="string">設定檔四位數字</span>]</span><br><span class="line">    <span class="attr">controller_data:</span> [<span class="string">你的</span> <span class="string">Broadlink</span> <span class="string">遙控器的</span> <span class="string">HA</span> <span class="string">裝置</span> <span class="string">ID</span>]</span><br><span class="line"><span class="comment"># 下面是可選的，但建議要有，連上 Google Home 或蘋果的時候才會比較完整</span></span><br><span class="line">    <span class="attr">temperature_sensor:</span> [<span class="string">溫度計裝置</span> <span class="string">ID</span>]</span><br><span class="line">    <span class="attr">humidity_sensor:</span> [<span class="string">溼度計裝置</span> <span class="string">ID</span>]</span><br><span class="line">    <span class="attr">power_sensor:</span> [<span class="string">Binary</span> <span class="string">裝置</span> <span class="string">ID，判斷冷氣是否開啟</span>]</span><br></pre></td></tr></table></figure><p>重開 HA 應該就可以看到冷氣遙控會動ㄌ yay</p><h4 id="製作設定檔"><a href="#製作設定檔" class="headerlink" title="製作設定檔"></a>製作設定檔</h4><p>但天不從人願，上面有設定檔的冷氣非常稀少<br>大部分冷氣應該都沒有設定檔<br>所以我們要自己錄一個，耗時約半小時。</p><h5 id="錄製訊號"><a href="#錄製訊號" class="headerlink" title="錄製訊號"></a>錄製訊號</h5><p>首先我們連到<a href="https://broadlinkirtools.leko.moe/">設定檔製作工具</a>，並連上自己的 HA。</p><p>Name 的欄位假設你的遙控器的 ID 是 <code>remote.my_remote</code> 的話，就填 <code>my_remote</code> 就可以了。</p><p>注意到 Operation Modes 只能是 <code>cool, heat, dry, fanOnly, auto</code> 的組合<br>Fan Modes 最好是 <code>auto, low, medium, high</code> 的組合，不過自行添加也沒關係</p><p>然後就可以開始學習了<br>學習完顯示綠色勾勾的時候，IR Code 會被紀錄在 <code>/config/.storage/broadlink_remote_[MAC_ADDR]_codes</code> 裡面</p><p>雷雷大約錄了 360 個訊號 (4個模式 * 6段風力 * 15 種溫度)</p><h5 id="轉換成設定檔"><a href="#轉換成設定檔" class="headerlink" title="轉換成設定檔"></a>轉換成設定檔</h5><p>戳一下網頁上的 <code>Export JSON file</code>，得到設定檔的雛形，並改名為 <code>sample.json</code></p><p>然後我們把剛剛錄下來的訊號取出來</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line">SOURCE_FILE = <span class="string">&quot;broadlink_remote_a043b032b4f4_codes&quot;</span></span><br><span class="line">DEST_FILE = <span class="string">&quot;irdb.json&quot;</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">import</span> json</span><br><span class="line"></span><br><span class="line"><span class="keyword">with</span> <span class="built_in">open</span>(SOURCE_FILE) <span class="keyword">as</span> f:</span><br><span class="line">    data = json.load(f)</span><br><span class="line"></span><br><span class="line">data = data[<span class="string">&quot;data&quot;</span>][<span class="string">&quot;climate&quot;</span>]</span><br><span class="line"></span><br><span class="line"><span class="keyword">with</span> <span class="built_in">open</span>(DEST_FILE, <span class="string">&quot;w+&quot;</span>, encoding=<span class="string">&quot;utf8&quot;</span>) <span class="keyword">as</span> f:</span><br><span class="line">    json.dump(data, f, ensure_ascii=<span class="literal">False</span>)</span><br></pre></td></tr></table></figure><p>得到 IRDB 後，我們塞進設定檔，得到最終成果 <code>result.json</code></p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> json</span><br><span class="line"></span><br><span class="line"><span class="keyword">with</span> <span class="built_in">open</span>(<span class="string">&quot;sample.json&quot;</span>, encoding=<span class="string">&quot;utf8&quot;</span>) <span class="keyword">as</span> f:</span><br><span class="line">    result = json.load(f)</span><br><span class="line"></span><br><span class="line"><span class="keyword">with</span> <span class="built_in">open</span>(<span class="string">&quot;irdb.json&quot;</span>, encoding=<span class="string">&quot;utf8&quot;</span>) <span class="keyword">as</span> f:</span><br><span class="line">    ir_data = json.load(f)</span><br><span class="line"></span><br><span class="line"><span class="keyword">for</span> op_mode <span class="keyword">in</span> result[<span class="string">&quot;operationModes&quot;</span>]:</span><br><span class="line">    <span class="keyword">for</span> fan_mode <span class="keyword">in</span> result[<span class="string">&quot;fanModes&quot;</span>]:</span><br><span class="line">        <span class="keyword">for</span> temp <span class="keyword">in</span> <span class="built_in">range</span>(result[<span class="string">&quot;minTemperature&quot;</span>], result[<span class="string">&quot;maxTemperature&quot;</span>] + <span class="number">1</span>):</span><br><span class="line">            temp = <span class="built_in">str</span>(temp)</span><br><span class="line">            result[<span class="string">&quot;commands&quot;</span>][op_mode][fan_mode][temp] = ir_data[<span class="string">f&quot;<span class="subst">&#123;op_mode&#125;</span>_<span class="subst">&#123;fan_mode&#125;</span>_<span class="subst">&#123;temp&#125;</span>&quot;</span>]</span><br><span class="line"></span><br><span class="line">result[<span class="string">&quot;commands&quot;</span>][<span class="string">&quot;off&quot;</span>] = ir_data[<span class="string">&quot;off&quot;</span>]</span><br><span class="line"></span><br><span class="line"><span class="keyword">with</span> <span class="built_in">open</span>(<span class="string">&quot;result.json&quot;</span>, <span class="string">&quot;w+&quot;</span>) <span class="keyword">as</span> f:</span><br><span class="line">    ir_data = json.dump(result, f)</span><br></pre></td></tr></table></figure><p>將設定檔改名為適當的<code>[四位數字].json</code> (所屬廠牌的數字區間，無人占用的數字)<br>照著剛剛提到的步驟，應該就可以讓 HA 順利遙控冷氣了。</p><p>塞進 HomeKit 和 Google Home 網路教學很多，在這裡就不提了<br>有機會應該會跟基礎篇一起出 :D</p><h2 id="後記"><a href="#後記" class="headerlink" title="後記"></a>後記</h2><p>寫文章好累喔</p>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;好想用 Google Home 控制我的冷氣喔&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;這個願望其實我已經想好多年了。&lt;/p&gt;</summary>
    
    
    
    <category term="dev" scheme="https://blog.leko.moe/categories/dev/"/>
    
    
    <category term="google-home" scheme="https://blog.leko.moe/tags/google-home/"/>
    
    <category term="homeassistant" scheme="https://blog.leko.moe/tags/homeassistant/"/>
    
    <category term="homekit" scheme="https://blog.leko.moe/tags/homekit/"/>
    
    <category term="iot" scheme="https://blog.leko.moe/tags/iot/"/>
    
    <category term="ir" scheme="https://blog.leko.moe/tags/ir/"/>
    
    <category term="smarthome" scheme="https://blog.leko.moe/tags/smarthome/"/>
    
  </entry>
  
  <entry>
    <title>Cloudflare Worker 的原生 HTML Parser</title>
    <link href="https://blog.leko.moe/2021/04/15/Cloudflare-Worker-%E7%9A%84%E5%8E%9F%E7%94%9F-HTML-Parser/"/>
    <id>https://blog.leko.moe/2021/04/15/Cloudflare-Worker-%E7%9A%84%E5%8E%9F%E7%94%9F-HTML-Parser/</id>
    <published>2021-04-14T17:26:00.000Z</published>
    <updated>2026-04-07T16:35:08.844Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>Leko 因為有些簡單的網頁解析想做，懶得自己 host，所以決定用 Cloudflare Worker。</p><p>豈料 CF Worker 裡面居然沒有 DOMParser 可以用 (官方: 太慢了)，只有他們自己出的 HTMLRewriter 可以用 (用於取代網頁的部分)。用於解析 HTML 實在是有點難用。</p><p>因此 Leko 把它的 HTMLRewriter 打包成可以解析 HTML 的版本。</p><span id="more"></span><h2 id="Code"><a href="#Code" class="headerlink" title="Code"></a>Code</h2><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> &#123;decode&#125; <span class="keyword">from</span> <span class="string">&#x27;html-entities&#x27;</span>;</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">ElementHandler</span> &#123;</span><br><span class="line">    <span class="title function_">constructor</span>(<span class="params">cb, attr</span>) &#123;</span><br><span class="line">        <span class="variable language_">this</span>.<span class="property">_cb</span> = cb;</span><br><span class="line">        <span class="variable language_">this</span>.<span class="property">_attr</span> = attr;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="title function_">element</span>(<span class="params">e</span>) &#123;</span><br><span class="line">        <span class="keyword">if</span> (<span class="variable language_">this</span>.<span class="property">_attr</span>) &#123;</span><br><span class="line">            <span class="variable language_">this</span>.<span class="title function_">_cb</span>(e.<span class="title function_">getAttribute</span>(<span class="variable language_">this</span>.<span class="property">_attr</span>))</span><br><span class="line">        &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">            <span class="variable language_">this</span>.<span class="title function_">_cb</span>()</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">DocumentHandler</span> &#123;</span><br><span class="line">    <span class="title function_">constructor</span>(<span class="params">onEnd</span>) &#123;</span><br><span class="line">        <span class="variable language_">this</span>.<span class="property">_onEnd</span> = onEnd;</span><br><span class="line">        <span class="variable language_">this</span>.<span class="property">_onText</span> = <span class="function">() =&gt;</span> &#123; &#125;;</span><br><span class="line">        <span class="variable language_">this</span>.<span class="property">_buffer</span> = <span class="string">&quot;&quot;</span></span><br><span class="line">        <span class="variable language_">this</span>.<span class="property">_doOnText</span> = <span class="literal">false</span>;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="title function_">end</span>(<span class="params">end</span>) &#123;</span><br><span class="line">        <span class="variable language_">this</span>.<span class="title function_">_onEnd</span>();</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="title function_">text</span>(<span class="params">text</span>) &#123;</span><br><span class="line">        <span class="keyword">if</span> (<span class="variable language_">this</span>.<span class="property">_doOnText</span>) &#123;</span><br><span class="line"><span class="variable language_">this</span>.<span class="property">_buffer</span> += text.<span class="property">text</span>;</span><br><span class="line">            <span class="keyword">if</span> (text.<span class="property">lastInTextNode</span>) &#123;</span><br><span class="line">                <span class="keyword">const</span> result = <span class="title function_">decode</span>(<span class="variable language_">this</span>.<span class="property">_buffer</span>);</span><br><span class="line"></span><br><span class="line">                <span class="variable language_">this</span>.<span class="property">_buffer</span> = <span class="string">&quot;&quot;</span>;</span><br><span class="line">                <span class="variable language_">this</span>.<span class="property">_doOnText</span> = <span class="literal">false</span>;</span><br><span class="line"></span><br><span class="line">                <span class="variable language_">this</span>.<span class="title function_">_onText</span>(result);</span><br><span class="line">            &#125;</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">set</span> <span class="title function_">onText</span>(<span class="params">cb</span>) &#123;</span><br><span class="line">        <span class="variable language_">this</span>.<span class="property">_doOnText</span> = <span class="literal">true</span>;</span><br><span class="line">        <span class="variable language_">this</span>.<span class="property">_onText</span> = cb;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">TextHandlerFactory</span>(<span class="params">cb, dh</span>) &#123;</span><br><span class="line">    <span class="keyword">return</span> <span class="keyword">new</span> <span class="title class_">ElementHandler</span>(<span class="function">() =&gt;</span> &#123;</span><br><span class="line">        dh.<span class="property">onText</span> = cb;</span><br><span class="line">    &#125;)</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">HTMLParser</span>(<span class="params">resp, tracks</span>) &#123;</span><br><span class="line">    <span class="keyword">return</span> <span class="keyword">new</span> <span class="title class_">Promise</span>(<span class="title function_">async</span> (resolve, reject) =&gt; &#123;</span><br><span class="line">        <span class="keyword">const</span> result = &#123;&#125;;</span><br><span class="line">        <span class="keyword">const</span> dh = <span class="keyword">new</span> <span class="title class_">DocumentHandler</span>(<span class="function">() =&gt;</span> <span class="title function_">resolve</span>(result));</span><br><span class="line">        <span class="keyword">let</span> newResp = <span class="keyword">new</span> <span class="title class_">HTMLRewriter</span>();</span><br><span class="line"></span><br><span class="line">        <span class="keyword">for</span> (<span class="keyword">let</span> [k, v] <span class="keyword">of</span> <span class="title class_">Object</span>.<span class="title function_">entries</span>(tracks)) &#123;</span><br><span class="line">            <span class="keyword">if</span> (!<span class="title class_">Array</span>.<span class="title function_">isArray</span>(v)) v = [v];</span><br><span class="line">            <span class="keyword">const</span> handler = (v.<span class="property">length</span> &gt; <span class="number">1</span> &amp;&amp; v[<span class="number">1</span>])</span><br><span class="line">                ? <span class="keyword">new</span> <span class="title class_">ElementHandler</span>(<span class="function"><span class="params">x</span> =&gt;</span> result[k] = x, v[<span class="number">1</span>])</span><br><span class="line">                : <span class="title class_">TextHandlerFactory</span>(<span class="function"><span class="params">x</span> =&gt;</span> result[k] = x, dh)</span><br><span class="line">            newResp = newResp.<span class="title function_">on</span>(v[<span class="number">0</span>], handler)</span><br><span class="line">        &#125;</span><br><span class="line">        newResp = newResp.<span class="title function_">onDocument</span>(dh).<span class="title function_">transform</span>(resp);</span><br><span class="line"></span><br><span class="line">        <span class="keyword">await</span> newResp.<span class="title function_">blob</span>()</span><br><span class="line">    &#125;)</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment">//-------- Usage --------//</span></span><br><span class="line"><span class="keyword">async</span> <span class="keyword">function</span> <span class="title function_">crawl</span>(<span class="params"></span>) &#123;</span><br><span class="line">    <span class="keyword">const</span> response = <span class="keyword">await</span> <span class="title function_">fetch</span>(<span class="variable constant_">URL</span>);</span><br><span class="line"></span><br><span class="line">    <span class="keyword">const</span> track = &#123;</span><br><span class="line">        <span class="attr">text</span>: <span class="string">&quot;#bodyText&quot;</span>, <span class="comment">// get innerText of #bodyText</span></span><br><span class="line">        <span class="attr">img</span>: [<span class="string">&quot;#avatar img&quot;</span>, <span class="string">&quot;src&quot;</span>], <span class="comment">// get attribute src of #avatar img</span></span><br><span class="line"><span class="attr">text2</span>: [<span class="string">&quot;#bodyText2&quot;</span>], <span class="comment">// this also works for getting innerText</span></span><br><span class="line"><span class="attr">text3</span>: [<span class="string">&quot;#bodyText3&quot;</span>, <span class="literal">null</span>] <span class="comment">// this also works too.</span></span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">const</span> data = <span class="keyword">await</span> <span class="title class_">HTMLParser</span>(response, track);</span><br><span class="line"></span><br><span class="line">    <span class="keyword">return</span> data; <span class="comment">// &#123;text, img, text2, text3&#125; with coresponding values.</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;p&gt;Leko 因為有些簡單的網頁解析想做，懶得自己 host，所以決定用 Cloudflare Worker。&lt;/p&gt;
&lt;p&gt;豈料 CF Worker 裡面居然沒有 DOMParser 可以用 (官方: 太慢了)，只有他們自己出的 HTMLRewriter 可以用 (用於取代網頁的部分)。用於解析 HTML 實在是有點難用。&lt;/p&gt;
&lt;p&gt;因此 Leko 把它的 HTMLRewriter 打包成可以解析 HTML 的版本。&lt;/p&gt;</summary>
    
    
    
    <category term="dev" scheme="https://blog.leko.moe/categories/dev/"/>
    
    
    <category term="隨手記錄" scheme="https://blog.leko.moe/tags/%E9%9A%A8%E6%89%8B%E8%A8%98%E9%8C%84/"/>
    
    <category term="Javascript" scheme="https://blog.leko.moe/tags/Javascript/"/>
    
    <category term="網路" scheme="https://blog.leko.moe/tags/%E7%B6%B2%E8%B7%AF/"/>
    
  </entry>
  
  <entry>
    <title>透過 ZeroTier 接入 IPv6 公網</title>
    <link href="https://blog.leko.moe/2021/04/11/%E9%80%8F%E9%81%8E-ZeroTier-%E6%8E%A5%E5%85%A5-IPv6-%E5%85%AC%E7%B6%B2/"/>
    <id>https://blog.leko.moe/2021/04/11/%E9%80%8F%E9%81%8E-ZeroTier-%E6%8E%A5%E5%85%A5-IPv6-%E5%85%AC%E7%B6%B2/</id>
    <published>2021-04-11T09:06:00.000Z</published>
    <updated>2026-04-07T16:35:08.848Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>Leko 其實一直都在煩惱，有沒有甚麼 VPN 可以支援 L2 讓我能發 SLAAC 的 :(</p><p>昨天和友人在聊天的時候，對方正在用 OpenVPN 打 Tunnel，我靈光一現突然想到，ZeroTier 不也是 L2 的嗎?</p><p>試了一下果真成功了，就在這邊紀錄一下。</p><span id="more"></span><h2 id="環境"><a href="#環境" class="headerlink" title="環境"></a>環境</h2><p>Leko 的環境如下:</p><ul><li>RouterOS VM (發放 DHCP-PD 給有 ZT 的 CT)</li><li>Ubuntu 18.04 CT (ZeroTier Host，負責發 SLAAC)</li></ul><p>環境非常自由，前二者只要能達到括號內的需求應該都可以，甚至可以放在同一台。</p><h3 id="CT-網路說明"><a href="#CT-網路說明" class="headerlink" title="CT 網路說明"></a>CT 網路說明</h3><p>網路卡 <code>int0</code> 負責上網 (接入公網)，這裡我的配置是帶有 UPnP 的 IPv4 NAT。<br>(UPnP 讓 ZeroTier 可以自動穿透)</p><p>網路卡 <code>eth0</code> 用來接收 RouterOS 發放的 DHCP-PD。</p><h2 id="步驟"><a href="#步驟" class="headerlink" title="步驟"></a>步驟</h2><p>以下操作都假設在 root 下進行。</p><p>因為 Ubuntu 預設有一個 <code>systemd-resolved</code> 負責解析 Hostname，占用 53 Port 會影響我們後續操作，因此我們先把它關掉:</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">root@CT:~# systemctl disable systemd-resolved</span><br><span class="line">root@CT:~# systemctl stop systemd-resolved</span><br></pre></td></tr></table></figure><p>然後我們拿一些必要套件。</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">root@CT:~# apt update &amp;&amp; apt install curl wide-dhcpv6-client gnupg2 dnsmasq</span><br><span class="line">root@CT:~# curl -s https://install.zerotier.com | bash</span><br></pre></td></tr></table></figure><p>接著加入我們的 ZeroTier Network:</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">root@CT:~# zerotier-cli join [ID]</span><br></pre></td></tr></table></figure><p>然後把新增的網路卡名稱記著，之後會用到:</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">root@CT:~# ip a</span><br></pre></td></tr></table></figure><p>接著開啟轉發:</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">root@CT:~# nano /etc/sysctl.conf</span><br><span class="line">root@CT:~# sysctl -p</span><br></pre></td></tr></table></figure><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"># /etc/sysctl.conf</span><br><span class="line"></span><br><span class="line">net.ipv4.conf.all.forwarding = 1</span><br><span class="line">net.ipv6.conf.all.disable_ipv6 = 0</span><br><span class="line">net.ipv6.conf.default.disable_ipv6 = 0</span><br><span class="line">net.ipv6.conf.lo.disable_ipv6 = 0</span><br><span class="line">net.ipv6.conf.default.forwarding = 1</span><br><span class="line">net.ipv6.conf.all.forwarding = 1</span><br><span class="line">net.ipv6.conf.all.proxy_ndp = 1</span><br><span class="line">net.ipv6.conf.all.accept_ra = 2</span><br></pre></td></tr></table></figure><p>然後設定 DHCPv6-PD 並重新啟動，注意把 config 內的 <code>ztnfapdryf</code> 換成自己的 ZT 網卡名稱:</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">root@CT:~# nano /etc/wide-dhcpv6/dhcp6c.conf</span><br><span class="line">root@CT:~# nano /etc/systemd/system/wide-dhcpv6.service</span><br><span class="line">root@CT:~# systemctl enable wide-dhcpv6.service</span><br><span class="line">root@CT:~# reboot</span><br></pre></td></tr></table></figure><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><span class="line"># /etc/wide-dhcpv6/dhcp6c.conf</span><br><span class="line"></span><br><span class="line">interface eth0 &#123;</span><br><span class="line"># request a non-temporary address</span><br><span class="line">    # request prefix delegation address</span><br><span class="line">    send ia-pd 1;</span><br><span class="line">    request domain-name-servers;</span><br><span class="line">    request domain-name;</span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line">id-assoc pd 1 &#123;</span><br><span class="line">        prefix ::/64 infinity;</span><br><span class="line">        prefix-interface ztnfapdryf &#123;</span><br><span class="line">                sla-len 0;</span><br><span class="line"></span><br><span class="line">                # elated with ia-pd to configure subnet on lan interface - eth1</span><br><span class="line">                sla-id 1;</span><br><span class="line"></span><br><span class="line">                # &quot;postfix&quot; of IPv6 address on lan interface.</span><br><span class="line">                # if not configured interface will has EUI-64 (mac based) address.</span><br><span class="line">                # In this case, eth1 will get a IPv6 ending with ::1</span><br><span class="line">                ifid 1;</span><br><span class="line">        &#125;;</span><br><span class="line">&#125;;</span><br></pre></td></tr></table></figure><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"># /etc/systemd/system/wide-dhcpv6.service</span><br><span class="line"></span><br><span class="line">[Unit]</span><br><span class="line">Description=wide-dhcpv6</span><br><span class="line">Before=dnsmasq.service</span><br><span class="line">After=network.target ypbind.service nfs.service nfsserver.service rpcbind.service SuSEfirewall2_init.service</span><br><span class="line"></span><br><span class="line">[Service]</span><br><span class="line">ExecStart=/usr/sbin/dhcp6c -c /etc/wide-dhcpv6/dhcp6c.conf -P default -d -D -f eth0</span><br><span class="line">RemainAfterExit=true</span><br><span class="line"></span><br><span class="line">[Install]</span><br><span class="line">WantedBy=multi-user.target</span><br></pre></td></tr></table></figure><p>重新啟動後，應該可以看到 ZeroTier 的網卡上多了一個 <code>[Prefix]::1</code> 的 IP。</p><p>接著我們設定 SLAAC 和 RA，注意把 config 內的 <code>ztnfapdryf</code> 換成自己的 ZT 網卡名稱:</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">root@CT:~# nano /etc/dnsmasq.conf</span><br><span class="line">root@CT:~# systemctl enable dnsmasq.service</span><br><span class="line">root@CT:~# systemctl restart dnsmasq.service</span><br></pre></td></tr></table></figure><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"># /etc/dnsmasq.conf</span><br><span class="line"></span><br><span class="line">except-interface=eth0</span><br><span class="line">bogus-priv</span><br><span class="line">enable-ra</span><br><span class="line"></span><br><span class="line"># Create a IPv6 range from address on the interface. The ::1 is related to the ifid in /etc/wide-dhcpv6/dhcp6c.conf.</span><br><span class="line">dhcp-range=tag:ztnfapdryf,::1,constructor:ztnfapdryf, ra-names, 12h</span><br><span class="line"></span><br><span class="line"># ra-names - it gives DNS names to IPv6 hosts</span><br><span class="line">local=/lan/</span><br></pre></td></tr></table></figure><p>然後我們新增預設路由並讓他開機自動啟動:</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">root@CT:~# nano route.sh</span><br><span class="line">root@CT:~# nano /etc/init/route.conf</span><br></pre></td></tr></table></figure><p>請將 <code>fe80::908c:eeff:fe18:5c56 </code> 換成上游的 IP，<code>ztnfapdryf</code> 換成 ZT 的網卡名稱:</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">#!/bin/sh</span><br><span class="line"></span><br><span class="line"># route.sh</span><br><span class="line">ip -6 r add default via fe80::908c:eeff:fe18:5c56 dev eth0</span><br><span class="line">ip6tables -A FORWARD -m state --state NEW -i ztnfapdryf -o eth0 -j ACCEPT</span><br><span class="line">ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT</span><br><span class="line">ip6tables -P FORWARD DROP</span><br></pre></td></tr></table></figure><p>接著在 ZT 內新增一段預設路由:</p><p><img src="https://i.imgur.com/QQzhC3N.png"></p><p>其中 <code>10.147.18.45</code> 是我的 CT IP，記得換成你的哦。</p><p>然後 ZT 加入其他 Peer 的時候記得開啟 Allow Default Route 跟 Allow Global，應該就能拿到 IPv6 了。</p><p><img src="https://i.imgur.com/XhIuzZ2.png"></p><p>yay</p><p>附上完整的指令列表:</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br></pre></td><td class="code"><pre><span class="line">#!/bin/sh</span><br><span class="line"></span><br><span class="line">systemctl disable systemd-resolved</span><br><span class="line">systemctl stop systemd-resolved</span><br><span class="line"></span><br><span class="line">apt update</span><br><span class="line">apt install curl wide-dhcpv6-client gnupg2 dnsmasq</span><br><span class="line">curl -s https://install.zerotier.com | bash</span><br><span class="line"></span><br><span class="line">zerotier-cli join [ID]</span><br><span class="line"># ztnfapdryf</span><br><span class="line"></span><br><span class="line">nano /etc/sysctl.conf</span><br><span class="line">sysctl -p</span><br><span class="line"></span><br><span class="line">nano /etc/wide-dhcpv6/dhcp6c.conf</span><br><span class="line">nano /etc/systemd/system/wide-dhcpv6.service</span><br><span class="line">systemctl enable wide-dhcpv6.service</span><br><span class="line">reboot</span><br><span class="line"></span><br><span class="line">nano /etc/dnsmasq.conf</span><br><span class="line">systemctl enable dnsmasq.service</span><br><span class="line">systemctl restart dnsmasq.service</span><br><span class="line"></span><br><span class="line">nano route.sh</span><br><span class="line">nano /etc/init/route.conf</span><br></pre></td></tr></table></figure>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;p&gt;Leko 其實一直都在煩惱，有沒有甚麼 VPN 可以支援 L2 讓我能發 SLAAC 的 :(&lt;/p&gt;
&lt;p&gt;昨天和友人在聊天的時候，對方正在用 OpenVPN 打 Tunnel，我靈光一現突然想到，ZeroTier 不也是 L2 的嗎?&lt;/p&gt;
&lt;p&gt;試了一下果真成功了，就在這邊紀錄一下。&lt;/p&gt;</summary>
    
    
    
    <category term="ops" scheme="https://blog.leko.moe/categories/ops/"/>
    
    
    <category term="ZeroTier" scheme="https://blog.leko.moe/tags/ZeroTier/"/>
    
    <category term="IPv6" scheme="https://blog.leko.moe/tags/IPv6/"/>
    
  </entry>
  
  <entry>
    <title>我的線上動畫庫 - 讓 SubtitlesOctopus 的 ASS 字體按需載入</title>
    <link href="https://blog.leko.moe/2021/02/03/%E6%88%91%E7%9A%84%E7%B7%9A%E4%B8%8A%E5%8B%95%E7%95%AB%E5%BA%AB-%E8%AE%93-SubtitlesOctopus-%E7%9A%84-ASS-%E5%AD%97%E9%AB%94%E6%8C%89%E9%9C%80%E8%BC%89%E5%85%A5/"/>
    <id>https://blog.leko.moe/2021/02/03/%E6%88%91%E7%9A%84%E7%B7%9A%E4%B8%8A%E5%8B%95%E7%95%AB%E5%BA%AB-%E8%AE%93-SubtitlesOctopus-%E7%9A%84-ASS-%E5%AD%97%E9%AB%94%E6%8C%89%E9%9C%80%E8%BC%89%E5%85%A5/</id>
    <published>2021-02-02T19:38:00.000Z</published>
    <updated>2026-04-07T16:35:08.847Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>前幾天 Leko 輾轉偶然知道 Jellyfin 的線上播放器的字幕渲染居然是用 SubtitlesOctopus (目前瀏覽器唯一可用的 libass 相容 ASS 字幕渲染)，真是驚為天人。<br>Leko 馬上架了一個來用，還因此不辭辛勞手動標記了動畫庫內六千多部動畫的 metadata (花了我整整三天，要得腱鞘炎了XDD)</p><p>一開始播放影音的時候會發現，奇怪我的中文字幕怎麼都變豆腐? </p><span id="more"></span><p>原來是因為他的 SubtitlesOctopus 預設沒有載入中文字體。</p><p>在官方的 Github Issues 內就有解法了 (載入 NotoCJK)，但 Leko 覺得還不夠 – 既然都可以讓他載入 NotoCJK 了，那我應該也可以讓他跟一般播放器一樣按需載入需要的字體才對。</p><p>沒想到居然滿容易的，不到半小時就解決了，在這裡紀錄一下解法。</p><blockquote><p>2021&#x2F;6&#x2F;9 更新: 本篇僅適用於 JellyFin 1.6.4 與其之前版本</p></blockquote><h2 id="前置"><a href="#前置" class="headerlink" title="前置"></a>前置</h2><ul><li>字體庫 (推薦 超级字体整合包 X)</li><li>JellyFin (假設使用 Docker 架設)</li><li>Windows 環境 (僅在設置時需要)</li><li><a href="https://bbs.vcb-s.com/forum.php?mod=viewthread&tid=3848">FontLoaderSub</a> (用來產生字體索引)</li><li>node.js (小腳本我用 Node.js 撰寫，因為很簡單，有能力的讀者可以用其他程式語言實現，或是小小修改後在瀏覽器內執行。)</li></ul><h2 id="內文"><a href="#內文" class="headerlink" title="內文"></a>內文</h2><h4 id="1-掛載字幕庫"><a href="#1-掛載字幕庫" class="headerlink" title="1. 掛載字幕庫"></a>1. 掛載字幕庫</h4><p>首先我們將字體庫 bind 到 Jellyfin 內的 <code>/jellyfin/jellyfin-web/libraries/fonts/Pack</code>。</p><h4 id="2-產生字幕索引"><a href="#2-產生字幕索引" class="headerlink" title="2. 產生字幕索引"></a>2. 產生字幕索引</h4><p>我們需要一個 <code>&#123;字幕名稱: 字幕檔案名稱&#125;</code> 的 JSON，用來配合接下來步驟解析的 ASS 字幕字體。</p><p>首先在字幕庫的根目錄放入 FontLoaderSub 並執行，讓它解析完後會產生一個 <code>fc-subs.db</code>，此即字幕索引</p><p>觀察可以得知它是一個 UTF-16LE 的文字檔案，格式是</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">檔案相對路徑</span><br><span class="line">t:字幕格式</span><br><span class="line">v:字幕版本</span><br><span class="line">字幕名稱 1</span><br><span class="line">字幕名稱 2</span><br><span class="line">...</span><br><span class="line">空白行</span><br></pre></td></tr></table></figure><p>的循環，我們可以寫一個簡單的腳本來把它變成我們需要的 JSON。</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// app.js</span></span><br><span class="line"><span class="keyword">const</span> fs = <span class="built_in">require</span>(<span class="string">&quot;fs&quot;</span>)</span><br><span class="line"></span><br><span class="line"><span class="keyword">const</span> <span class="variable constant_">SUBTITLE_DATABASE</span> = <span class="string">&quot;fc-subs.db&quot;</span></span><br><span class="line"><span class="keyword">const</span> <span class="variable constant_">OUTPUT</span> = <span class="string">&quot;font.json&quot;</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">const</span> db = fs.<span class="title function_">readFileSync</span>(<span class="variable constant_">SUBTITLE_DATABASE</span>, <span class="string">&#x27;utf16le&#x27;</span>).<span class="title function_">split</span>(<span class="string">&quot;\n&quot;</span>).<span class="title function_">map</span>(<span class="function"><span class="params">x</span> =&gt;</span> x.<span class="title function_">slice</span>(<span class="number">0</span>, -<span class="number">1</span>))</span><br><span class="line"></span><br><span class="line"><span class="keyword">const</span> result = &#123;&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">/*</span></span><br><span class="line"><span class="comment">    0: Font Path</span></span><br><span class="line"><span class="comment">    1: t</span></span><br><span class="line"><span class="comment">    2: v</span></span><br><span class="line"><span class="comment">    -1: Waiting for next block</span></span><br><span class="line"><span class="comment">*/</span></span><br><span class="line"><span class="keyword">let</span> stage = <span class="number">0</span>;</span><br><span class="line"><span class="keyword">let</span> fontPath = <span class="literal">null</span>;</span><br><span class="line"><span class="keyword">for</span> (<span class="keyword">const</span> line <span class="keyword">of</span> db) &#123;</span><br><span class="line">    <span class="keyword">switch</span> (stage) &#123;</span><br><span class="line"><span class="comment">// 這裡是因為我只想要 `超级字体整合包X` 目錄底下的字體</span></span><br><span class="line"><span class="comment">// 可以按需修改一下腳本</span></span><br><span class="line">        <span class="keyword">case</span> <span class="number">0</span>:</span><br><span class="line">            <span class="keyword">if</span> (!line.<span class="title function_">startsWith</span>(<span class="string">&quot;超级字体整合包X&quot;</span>)) &#123;</span><br><span class="line">                stage = -<span class="number">1</span>;</span><br><span class="line">                fontPath = <span class="literal">null</span>;</span><br><span class="line">            &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">                stage += <span class="number">1</span>;</span><br><span class="line">                fontPath = line.<span class="title function_">slice</span>(<span class="string">&quot;超级字体整合包X\\&quot;</span>.<span class="property">length</span>)</span><br><span class="line">            &#125;</span><br><span class="line">            <span class="keyword">continue</span>;</span><br><span class="line">        <span class="keyword">case</span> <span class="number">1</span>:</span><br><span class="line">        <span class="keyword">case</span> <span class="number">2</span>:</span><br><span class="line">            stage += <span class="number">1</span>;</span><br><span class="line">            <span class="keyword">continue</span>;</span><br><span class="line">        <span class="keyword">case</span> <span class="number">3</span>:</span><br><span class="line">            <span class="keyword">if</span> (line.<span class="property">length</span>) &#123;</span><br><span class="line">                result[line] = fontPath;</span><br><span class="line">            &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">                stage = <span class="number">0</span>;</span><br><span class="line">            &#125;</span><br><span class="line">            <span class="keyword">continue</span>;</span><br><span class="line">        <span class="keyword">case</span> -<span class="number">1</span>:</span><br><span class="line">            <span class="keyword">if</span> (line.<span class="property">length</span> !== <span class="number">0</span>) <span class="keyword">continue</span>;</span><br><span class="line">            stage = <span class="number">0</span>;</span><br><span class="line">            <span class="keyword">continue</span>;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">fs.<span class="title function_">writeFile</span>(<span class="variable constant_">OUTPUT</span>, <span class="title class_">JSON</span>.<span class="title function_">stringify</span>(result), <span class="string">&#x27;utf8&#x27;</span>, <span class="keyword">function</span> (<span class="params">err</span>) &#123;</span><br><span class="line">    <span class="keyword">if</span> (err) &#123;</span><br><span class="line">        <span class="variable language_">console</span>.<span class="title function_">log</span>(<span class="string">&quot;An error occured while writing JSON Object to File.&quot;</span>);</span><br><span class="line">        <span class="keyword">return</span> <span class="variable language_">console</span>.<span class="title function_">log</span>(err);</span><br><span class="line">    &#125;</span><br><span class="line"> </span><br><span class="line">    <span class="variable language_">console</span>.<span class="title function_">log</span>(<span class="string">&quot;JSON file has been saved.&quot;</span>);</span><br><span class="line">&#125;);</span><br><span class="line"></span><br></pre></td></tr></table></figure><p>執行後得到我想要的 <code>font.json</code>，會在第三步驟用到。</p><h4 id="3-Plugin-js"><a href="#3-Plugin-js" class="headerlink" title="3. Plugin.js"></a>3. Plugin.js</h4><p>Jellyfin 內的 SubtitlesOctopus 主要是在 <code>/jellyfin/jellyfin-web/plugins/htmlVideoPlayer/plugins.js</code> 內 Init 的，我們將他複製出來並 Prettify。</p><p>觀察到 <code>renderSsaAss()</code> 內 <code>options</code> 在初始化時有一個 <code>fonts</code> 欄位可以填入 <code>[]FontURL</code>，其預設值是 </p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">attachments.<span class="title function_">map</span>(<span class="keyword">function</span> (<span class="params">i</span>) &#123;</span><br><span class="line"><span class="keyword">return</span> apiClient.<span class="title function_">getUrl</span>(i.<span class="property">DeliveryUrl</span>);</span><br><span class="line">&#125;)</span><br></pre></td></tr></table></figure><p>簡單的觀察就可以得知我們可以用 <code>getTextTrackUrl(track, item)</code> 來拿到 ASS 字幕的 URL。</p><p>因此我們寫幾個簡單的函式來解析 ASS 字幕需要的字體並按需把他加入那個 <code>fonts</code> 欄位。</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// Leko Font Loading functions</span></span><br><span class="line"><span class="keyword">async</span> <span class="keyword">function</span> <span class="title function_">_lekoGetFontNames</span>(<span class="params">url</span>) &#123;</span><br><span class="line">    <span class="keyword">const</span> rawAssSubtitle = <span class="title function_">await</span> (<span class="keyword">await</span> <span class="title function_">fetch</span>(url)).<span class="title function_">text</span>();</span><br><span class="line"></span><br><span class="line">    <span class="keyword">let</span> isReachedStyleLine = <span class="literal">false</span></span><br><span class="line">    <span class="keyword">let</span> formatIndex = <span class="literal">null</span>;</span><br><span class="line">    <span class="keyword">let</span> result = <span class="keyword">new</span> <span class="title class_">Set</span>();</span><br><span class="line">    <span class="keyword">for</span> (<span class="keyword">const</span> lineRaw <span class="keyword">of</span> rawAssSubtitle.<span class="title function_">split</span>(<span class="string">&quot;\n&quot;</span>)) &#123;</span><br><span class="line">        <span class="keyword">const</span> line = lineRaw.<span class="title function_">trim</span>();</span><br><span class="line">        <span class="keyword">if</span> (!isReachedStyleLine) &#123;</span><br><span class="line">            <span class="keyword">if</span> (line === <span class="string">&quot;[V4+ Styles]&quot;</span>) &#123;</span><br><span class="line">                isReachedStyleLine = <span class="literal">true</span>;</span><br><span class="line">            &#125;</span><br><span class="line">            <span class="keyword">continue</span>;</span><br><span class="line">        &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">            <span class="keyword">if</span> (line.<span class="title function_">startsWith</span>(<span class="string">&quot;Format:&quot;</span>)) &#123; <span class="comment">// Format Line</span></span><br><span class="line">                formatIndex = line.<span class="title function_">slice</span>(<span class="string">&quot;Format:&quot;</span>.<span class="property">length</span>).<span class="title function_">split</span>(<span class="string">&quot;,&quot;</span>).<span class="title function_">findIndex</span>(<span class="function"><span class="params">x</span> =&gt;</span> x.<span class="title function_">includes</span>(<span class="string">&quot;Fontname&quot;</span>));</span><br><span class="line">            &#125; <span class="keyword">else</span> <span class="keyword">if</span> (line.<span class="title function_">startsWith</span>(<span class="string">&quot;Style:&quot;</span>)) &#123; <span class="comment">// Style Line</span></span><br><span class="line">                <span class="keyword">const</span> fontName = line.<span class="title function_">slice</span>(<span class="string">&quot;Style:&quot;</span>.<span class="property">length</span>).<span class="title function_">split</span>(<span class="string">&quot;,&quot;</span>)[formatIndex].<span class="title function_">trim</span>()</span><br><span class="line">                result.<span class="title function_">add</span>(fontName)</span><br><span class="line">            &#125; <span class="keyword">else</span> <span class="keyword">if</span> (line.<span class="title function_">startsWith</span>(<span class="string">&quot;[&quot;</span>)) &#123; <span class="comment">// Style Block Ended</span></span><br><span class="line">                <span class="keyword">break</span>;</span><br><span class="line">            &#125;</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">return</span> [...result];</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> _lekoFontListP = <span class="title function_">fetch</span>(<span class="string">`<span class="subst">$&#123;appRouter.baseUrl()&#125;</span>/libraries/fonts/font.json`</span>).<span class="title function_">then</span>(<span class="function"><span class="params">x</span> =&gt;</span> x.<span class="title function_">json</span>())</span><br><span class="line"></span><br><span class="line"><span class="keyword">async</span> <span class="keyword">function</span> <span class="title function_">_lekoFontnameToFilename</span>(<span class="params">fontname</span>) &#123;</span><br><span class="line">    <span class="keyword">const</span> fontList = <span class="keyword">await</span> _lekoFontListP;</span><br><span class="line">    <span class="keyword">return</span> fontList[fontname];</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">_lekoGetFontUrl</span>(<span class="params">filename, isBasicFont=<span class="literal">false</span></span>)&#123;</span><br><span class="line">    <span class="keyword">if</span> (isBasicFont) &#123;</span><br><span class="line">        <span class="keyword">return</span> <span class="string">`<span class="subst">$&#123;appRouter.baseUrl()&#125;</span>/libraries/fonts/<span class="subst">$&#123;filename&#125;</span>`</span></span><br><span class="line">    &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">        <span class="keyword">return</span> <span class="string">`<span class="subst">$&#123;appRouter.baseUrl()&#125;</span>/libraries/fonts/Pack/字体/超级字体整合包X/<span class="subst">$&#123;filename&#125;</span>`</span></span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>其中 <code>_lekoFontListP</code> 的 <code>font.json</code> 路徑可以自己調整 (我是把它掛到 <code>/jellyfin/jellyfin-web/libraries/fonts/font.json</code>)</p><p><code>_lekoGetFontUrl</code> 內的 <code>else</code> 區塊可以看到 <code>fonts/Pack...</code>，那個就是我們第一步驟掛進去的字體。</p><p>然後我們應用這些函式 – 在 <code>renderSsaAss()</code> 初始化 <code>var options</code> 前加入:</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">let</span> _lekoFonts = <span class="keyword">await</span> <span class="title function_">_lekoGetFontNames</span>(<span class="title function_">getTextTrackUrl</span>(track, item));</span><br><span class="line"><span class="keyword">for</span> (<span class="keyword">let</span> i = <span class="number">0</span>; i &lt; _lekoFonts.<span class="property">length</span>; i++) &#123;</span><br><span class="line">    _lekoFonts[i] = <span class="keyword">await</span> <span class="title function_">_lekoFontnameToFilename</span>(_lekoFonts[i]);</span><br><span class="line">    <span class="keyword">if</span> (_lekoFonts[i]) _lekoFonts[i] = <span class="title function_">_lekoGetFontUrl</span>(_lekoFonts[i]);</span><br><span class="line">&#125;</span><br><span class="line">_lekoFonts = _lekoFonts.<span class="title function_">filter</span>(<span class="function"><span class="params">x</span> =&gt;</span> x);</span><br></pre></td></tr></table></figure><p>然後 <code>options</code> 內 <code>fonts</code> 改為</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">fonts</span>: attachments.<span class="title function_">map</span>(<span class="keyword">function</span> (<span class="params">i</span>) &#123;</span><br><span class="line"><span class="keyword">return</span> apiClient.<span class="title function_">getUrl</span>(i.<span class="property">DeliveryUrl</span>);</span><br><span class="line">&#125;).<span class="title function_">concat</span>(_lekoFonts)</span><br></pre></td></tr></table></figure><p>也可以在此時順便加入一些預設的 CJK 字體。</p><p>最後我們將 <code>function renderSsaAss</code> 改為 <code>async</code>，並在有調用它的函數 <code>await</code> 它並適當的把一些函式改為 <code>async</code> 就大功告成。</p><p>最後的 <a href="https://gist.github.com/lekoOwO/03eb188c2266e3928699df18445d6bb1#file-plugin-js"><code>plugin.js</code></a> 供參。</p><p>清除瀏覽器快取後應該就能看到 JellyFin 動態按需載入所需字體了，yay!</p><p><img src="https://i.imgur.com/P3Uvb4Q.jpg" alt="file"></p>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;p&gt;前幾天 Leko 輾轉偶然知道 Jellyfin 的線上播放器的字幕渲染居然是用 SubtitlesOctopus (目前瀏覽器唯一可用的 libass 相容 ASS 字幕渲染)，真是驚為天人。&lt;br&gt;Leko 馬上架了一個來用，還因此不辭辛勞手動標記了動畫庫內六千多部動畫的 metadata (花了我整整三天，要得腱鞘炎了XDD)&lt;/p&gt;
&lt;p&gt;一開始播放影音的時候會發現，奇怪我的中文字幕怎麼都變豆腐? &lt;/p&gt;</summary>
    
    
    
    
    <category term="Jellyfin" scheme="https://blog.leko.moe/tags/Jellyfin/"/>
    
    <category term="Javascript" scheme="https://blog.leko.moe/tags/Javascript/"/>
    
    <category term="docker" scheme="https://blog.leko.moe/tags/docker/"/>
    
  </entry>
  
  <entry>
    <title>為 Docker 開啟 IPv6</title>
    <link href="https://blog.leko.moe/2020/11/07/%E7%82%BA-Docker-%E9%96%8B%E5%95%9F-IPv6/"/>
    <id>https://blog.leko.moe/2020/11/07/%E7%82%BA-Docker-%E9%96%8B%E5%95%9F-IPv6/</id>
    <published>2020-11-07T10:01:00.000Z</published>
    <updated>2026-04-07T16:35:08.848Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>繼之前的 <a href="/2020/02/19/%E5%BF%AB%E9%80%9F-Expose-Docker-%E5%85%A7%E7%9A%84-HTTP-Service/">Docker Nginx</a>，這次雷雷想要讓這個 Nginx container 拿到 IPv6，這樣就不用過路由器跟 Docker 的兩個 NAT，可以改善延遲 yay</p><span id="more"></span><h2 id="條件"><a href="#條件" class="headerlink" title="條件"></a>條件</h2><ul><li>跑 Docker 的主機 &#x2F; Container &#x2F; VM 有 RA </li><li>一段可配置的 v6 Prefix (&#x2F;80 以上)</li></ul><h2 id="實作"><a href="#實作" class="headerlink" title="實作"></a>實作</h2><p>我們以 Alpine Linux 為 Host 作為例子。</p><h3 id="1-Docker-開啟-IPv6"><a href="#1-Docker-開啟-IPv6" class="headerlink" title="1. Docker 開啟 IPv6"></a>1. Docker 開啟 IPv6</h3><p>為了安全，我們預設讓 bridge 發放 fd00 開頭的 Private IP 地址，而不是預計之後要發的 Public IP。</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_">~$ </span><span class="language-bash">nano /etc/docker/daemon.json</span></span><br></pre></td></tr></table></figure><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;ipv6&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;fixed-cidr-v6&quot;</span><span class="punctuation">:</span> <span class="string">&quot;fd00::/80&quot;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><p>可以自己換成自己喜歡的 Private IP Range。</p><p>完成後 <code>service docker restart</code>，確認 Bridge network 上的 Container 已經可以拿到 Private IPv6 了。</p><h3 id="2-NDP-Proxy"><a href="#2-NDP-Proxy" class="headerlink" title="2. NDP Proxy"></a>2. NDP Proxy</h3><p>雷雷的 SLAAC 是廣播在 <code>eth0</code> 上的。<br>為了讓 Docker 建立的其他網卡也能收到路由資訊，我們要建立一個 NDP Proxy。</p><p>用 <code>ip -6 neigh</code> 的方法要一個一個 IP 指定，太麻煩了，所以我們要用 <code>ndppd</code> 來解決。</p><p>在後面我們用 <code>&#123;HOST_V6_IFACE&#125;</code> 來代指這個 <code>eth0</code>。</p><br><h4 id="2-a-編譯安裝-ndppd"><a href="#2-a-編譯安裝-ndppd" class="headerlink" title="2.a 編譯安裝 ndppd"></a>2.a 編譯安裝 ndppd</h4><p>因為 Alpine Linux 上沒有 <code>ndppd</code>，所以我們要先編譯他。</p><p>使用 Ubuntu &#x2F; Debian 系的同學可以跳過這步 (?)</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_">#</span><span class="language-bash">!/bin/sh</span></span><br><span class="line"></span><br><span class="line">export NDPPD_VERSION=master</span><br><span class="line">apk --no-cache add --virtual .build-dependencies make g++ linux-headers patch wget ca-certificates libnl3-dev glib-dev \</span><br><span class="line">&amp;&amp; mkdir -p /usr/src \</span><br><span class="line">&amp;&amp; wget -qO- https://github.com/lekoOwO/ndppd/archive/$&#123;NDPPD_VERSION&#125;.tar.gz | tar -xzC /usr/src \</span><br><span class="line">&amp;&amp; cd /usr/src/ndppd-$&#123;NDPPD_VERSION&#125; \</span><br><span class="line">&amp;&amp; sed &#x27;s/\($&#123;LIBS&#125;\).*\($&#123;OBJS&#125;\)/\2 \1/&#x27; -i Makefile</span><br><span class="line">&amp;&amp; sed -i &#x27;s/return strerror_r(errno, buf, sizeof(buf));/\/\/ return strerror_r(errno, buf, sizeof(buf));\n    return &quot;errno: &quot;+errno;/g&#x27; src/logger.cc</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">編譯安裝</span></span><br><span class="line">CXXFLAGS=&quot; -I/usr/include/libnl3 &quot; LDFLAGS=&quot; -w &quot; make</span><br><span class="line">CXXFLAGS=&quot; -I/usr/include/libnl3 &quot; LDFLAGS=&quot; -w &quot; make install</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">安裝執行時期依賴</span></span><br><span class="line">apk add --no-cache libnl3 iproute2</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">新增 service 檔</span></span><br><span class="line">cat &lt;&lt; EOF &gt; /etc/init.d/ndppd</span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">!/sbin/openrc-run</span></span><br><span class="line"></span><br><span class="line">depend() &#123;</span><br><span class="line">    need net</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">command=&quot;/usr/local/sbin/ndppd&quot;</span><br><span class="line">command_args=&quot;-d -p /run/$&#123;RC_SVCNAME&#125;.pid -c /etc/ndppd.conf&quot;</span><br><span class="line">pidfile=&quot;/run/$&#123;RC_SVCNAME&#125;.pid&quot;</span><br><span class="line">EOF</span><br></pre></td></tr></table></figure><br><h4 id="2-b-在-Docker-裡新增用來發放-IPv6-的-network"><a href="#2-b-在-Docker-裡新增用來發放-IPv6-的-network" class="headerlink" title="2.b 在 Docker 裡新增用來發放 IPv6 的 network"></a>2.b 在 Docker 裡新增用來發放 IPv6 的 network</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_">~# </span><span class="language-bash">docker network create --ipv6 --subnet=&#123;MY_SUBNET&#125;::/&#123;MY_CIDR&#125; &#123;MY_NETWORK_NAME&#125;</span></span><br></pre></td></tr></table></figure><p>注意到 CIDR 至少要在 80 以上，太小會沒辦法發。</p><p>將回傳的 hash 記錄下來，用 <code>ip a</code> 檢查新增的網卡名字 (postfix 應該會跟 hash 前幾位一樣)</p><p>例如我的是 <code>br-179d885229e7</code>，在後面稱作 <code>&#123;MY_DOCKER_IFACE&#125;</code></p><br><h4 id="2-c-ndppd-設定"><a href="#2-c-ndppd-設定" class="headerlink" title="2.c ndppd 設定"></a>2.c ndppd 設定</h4><p>將設定檔內的花括號變數填入你自己的參數:</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_"># </span><span class="language-bash">/etc/ndppd.conf</span></span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">route-ttl &lt;<span class="built_in">integer</span>&gt; (NEW)</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">This tells <span class="string">&#x27;ndppd&#x27;</span> how often to reload the route file /proc/net/ipv6_route.</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">Default value is <span class="string">&#x27;30000&#x27;</span> (30 seconds).</span></span><br><span class="line"></span><br><span class="line">route-ttl 30000</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">address-ttl &lt;<span class="built_in">integer</span>&gt; (NEW)</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">This tells <span class="string">&#x27;ndppd&#x27;</span> how often to reload the IP address file /proc/net/if_inet6</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">Default value is <span class="string">&#x27;30000&#x27;</span> (30 seconds).</span></span><br><span class="line"></span><br><span class="line">address-ttl 30000</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">proxy &lt;interface&gt;</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">This sets up a listener, that will listen <span class="keyword">for</span> any Neighbor Solicitation</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">messages, and respond to them according to a <span class="built_in">set</span> of rules (see below).</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">&lt;interface&gt; is required. You may have several <span class="string">&#x27;proxy&#x27;</span> sections.</span></span><br><span class="line"></span><br><span class="line">proxy &#123;HOST_V6_IFACE&#125; &#123;</span><br><span class="line">   </span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">router &lt;<span class="built_in">yes</span>|no|<span class="literal">true</span>|<span class="literal">false</span>&gt;</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">This option turns on or off the router flag <span class="keyword">for</span> Neighbor Advertisement</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">messages. Default value is <span class="string">&#x27;true&#x27;</span>.</span></span><br><span class="line">   </span><br><span class="line">   router yes</span><br><span class="line"></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash"><span class="built_in">timeout</span> &lt;<span class="built_in">integer</span>&gt;</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">Controls how long to <span class="built_in">wait</span> <span class="keyword">for</span> a Neighbor Advertisment message before</span> </span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">invalidating the entry, <span class="keyword">in</span> milliseconds. Default value is <span class="string">&#x27;500&#x27;</span>.</span></span><br><span class="line"></span><br><span class="line">   timeout 500   </span><br><span class="line"></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">autowire &lt;<span class="built_in">yes</span>|no|<span class="literal">true</span>|<span class="literal">false</span>&gt;</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">Controls whether ndppd will automatically create host entries</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash"><span class="keyword">in</span> the routing tables when it receives Neighbor Advertisements on a</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">listening interface. The the default value is no.</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">Note: Autowire will ignore all rules with <span class="string">&#x27;auto&#x27;</span> or <span class="string">&#x27;static&#x27;</span> given it</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">is expected that the routes are already defined <span class="keyword">for</span> these paths</span></span><br><span class="line"></span><br><span class="line">   autowire no</span><br><span class="line"></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">keepalive &lt;<span class="built_in">yes</span>|no|<span class="literal">true</span>|<span class="literal">false</span>&gt;</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">Controls whether ndppd will automatically attempt to keep routing</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">sessions alive by actively sending out NDP Solicitations before the the</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">session is expired. The the default value is <span class="built_in">yes</span>.</span></span><br><span class="line">   </span><br><span class="line">   keepalive yes</span><br><span class="line"></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">retries &lt;<span class="built_in">integer</span>&gt;</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">Number of <span class="built_in">times</span> a NDP Solicitation will be sent out before the daemon</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">considers a route unreachable. The default value is 3</span></span><br><span class="line"></span><br><span class="line">   retries 3</span><br><span class="line"></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">promiscuous &lt;<span class="built_in">yes</span>|no|<span class="literal">true</span>|<span class="literal">false</span>&gt;</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">Controls whether ndppd will put the proxy listening interface into promiscuous</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">mode and hence will react to inbound and outbound NDP commands. This is</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">required <span class="keyword">for</span> machines behind the gateway to talk to each other <span class="keyword">in</span> more</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">complex topology scenarios. The the default value is no.</span></span><br><span class="line"></span><br><span class="line">   promiscuous no</span><br><span class="line">   </span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">ttl &lt;<span class="built_in">integer</span>&gt;</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">Controls how long a valid or invalid entry remains <span class="keyword">in</span> the cache, <span class="keyword">in</span></span> </span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">milliseconds. Default value is <span class="string">&#x27;30000&#x27;</span> (30 seconds).</span></span><br><span class="line">   </span><br><span class="line">   ttl 30000</span><br><span class="line"></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">rule &lt;ip&gt;[/&lt;mask&gt;]</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">This is a rule that the target address is to match against. If no netmask</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">is provided, /128 is assumed. You may have several rule sections, and the</span></span><br><span class="line"><span class="meta prompt_">   # </span><span class="language-bash">addresses may or may not overlap.</span></span><br><span class="line"></span><br><span class="line">   rule &#123;MY_SUBNET&#125;::/&#123;MY_CIDR&#125; &#123;</span><br><span class="line">      # Only one of &#x27;static&#x27;, &#x27;auto&#x27; and &#x27;interface&#x27; may be specified. Please</span><br><span class="line">      # read &#x27;ndppd.conf&#x27; manpage for details about the methods below.</span><br><span class="line"></span><br><span class="line">      # &#x27;auto&#x27; should work in most cases.</span><br><span class="line"></span><br><span class="line">      # static (NEW)</span><br><span class="line">      # &#x27;ndppd&#x27; will immediately answer any Neighbor Solicitation Messages</span><br><span class="line">      # (if they match the IP rule).</span><br><span class="line"></span><br><span class="line">      # iface &lt;interface&gt;</span><br><span class="line">      # &#x27;ndppd&#x27; will forward the Neighbor Solicitation Message through the</span><br><span class="line">      # specified interface - and only respond if a matching Neighbor</span><br><span class="line">      # Advertisement Message is received.</span><br><span class="line">      </span><br><span class="line">      # auto (NEW)</span><br><span class="line">      # Same as above, but instead of manually specifying the outgoing</span><br><span class="line">      # interface, &#x27;ndppd&#x27; will check for a matching route in /proc/net/ipv6_route.</span><br><span class="line"></span><br><span class="line">      # auto</span><br><span class="line"></span><br><span class="line">      iface &#123;MY_DOCKER_IFACE&#125;</span><br><span class="line"></span><br><span class="line">      # autovia &lt;yes|no|true|false&gt;</span><br><span class="line">      # Any addresses updated using NDP advertisments will use a gateway to</span><br><span class="line">      # route traffic on this particular interface (only works wiith the iface</span><br><span class="line">      # rule type). Default is no</span><br><span class="line"></span><br><span class="line">      autovia yes</span><br><span class="line"></span><br><span class="line">      # Note that before version 0.2.2 of &#x27;ndppd&#x27;, if you didn&#x27;t choose a</span><br><span class="line">      # method, it defaulted to &#x27;static&#x27;. For compatibility reasons we choose</span><br><span class="line">      # to keep this behavior - for now (it may be removed in a future version).</span><br><span class="line">   &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>然後我們啟用它，並讓它開機自動啟動:</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_">~# </span><span class="language-bash">rc-update add ndppd default</span></span><br><span class="line"><span class="meta prompt_">~# </span><span class="language-bash">service ndppd start</span></span><br></pre></td></tr></table></figure><h3 id="3-將-Container-加入網路"><a href="#3-將-Container-加入網路" class="headerlink" title="3. 將 Container 加入網路"></a>3. 將 Container 加入網路</h3><p>最後將你想 expose 的 Container 加入 <code>&#123;MY_NETWORK_NAME&#125;</code> 就大功告成啦!</p>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;p&gt;繼之前的 &lt;a href=&quot;/2020/02/19/%E5%BF%AB%E9%80%9F-Expose-Docker-%E5%85%A7%E7%9A%84-HTTP-Service/&quot;&gt;Docker Nginx&lt;/a&gt;，這次雷雷想要讓這個 Nginx container 拿到 IPv6，這樣就不用過路由器跟 Docker 的兩個 NAT，可以改善延遲 yay&lt;/p&gt;</summary>
    
    
    
    <category term="ops" scheme="https://blog.leko.moe/categories/ops/"/>
    
    
    <category term="docker" scheme="https://blog.leko.moe/tags/docker/"/>
    
  </entry>
  
  <entry>
    <title>亂改人家的 APP yay - APK 反編譯與 Smali 基礎 Coding (上)</title>
    <link href="https://blog.leko.moe/2020/08/28/%E4%BA%82%E6%94%B9%E4%BA%BA%E5%AE%B6%E7%9A%84-APP-yay-APK-%E5%8F%8D%E7%B7%A8%E8%AD%AF%E8%88%87-Smali-%E5%9F%BA%E7%A4%8E-Coding-%E4%B8%8A/"/>
    <id>https://blog.leko.moe/2020/08/28/%E4%BA%82%E6%94%B9%E4%BA%BA%E5%AE%B6%E7%9A%84-APP-yay-APK-%E5%8F%8D%E7%B7%A8%E8%AD%AF%E8%88%87-Smali-%E5%9F%BA%E7%A4%8E-Coding-%E4%B8%8A/</id>
    <published>2020-08-27T17:19:00.000Z</published>
    <updated>2026-04-07T16:35:08.847Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>Leko 今天 (2020-08-26) 在 Twitter 上看到一篇值得分享的好消息，想分享到 FB 上</p><p>剛好想起之前人家介紹的 Tuigram 還有 Twiger 可以把 tweet 變成圖片</p><p>用了才發現，兩個軟體居然都只支援分享到 Instagram 上 (Leko 不是很喜歡 IG :(</p><p>所以就想說改一下 APP 讓他們支援分享到任意 App 上 yay</p><table><thead><tr><th align="center"><img src="https://i.imgur.com/J8hg3x3.jpg"></th></tr></thead><tbody><tr><td align="center"><em>值得分享的好消息</em></td></tr></tbody></table><span id="more"></span><h2 id="會用到的東西"><a href="#會用到的東西" class="headerlink" title="會用到的東西"></a>會用到的東西</h2><ul><li>APK 檔</li><li>apktool</li><li>JADX</li><li>Android SDK</li></ul><p> </p><h2 id="本文"><a href="#本文" class="headerlink" title="本文"></a>本文</h2><h3 id="Tuigram-入門級"><a href="#Tuigram-入門級" class="headerlink" title="Tuigram (入門級)"></a>Tuigram (入門級)</h3><p>我們的目標很簡單，把原本的分享到 Instagram 的按鈕改成可以隨意分享</p><p> </p><h4 id="1-反編譯"><a href="#1-反編譯" class="headerlink" title="1. 反編譯"></a>1. 反編譯</h4><p><code>&gt; apktool.bat d &#39;.\Tuigram Share tweets on instagram_v1.1.7_apkpure.com.apk&#39; -r</code></p><p>在原地會看到一個新生出來的資料夾</p><p> </p><h4 id="2-看-Code"><a href="#2-看-Code" class="headerlink" title="2. 看 Code"></a>2. 看 Code</h4><p>用 JADX 開啟 APK</p><p>按放大鏡把 Text search 叫出來 (順便等他 Decompile 完)</p><p>想著總之先搜尋 <code>instagram</code> 吧，沒想到一搜就中，yay</p><p><img src="https://i.imgur.com/h6K0fru.jpg"></p><p> </p><h5 id="要代換的程式碼"><a href="#要代換的程式碼" class="headerlink" title="要代換的程式碼"></a>要代換的程式碼</h5><p>看一下<a href="https://developer.android.com/training/sharing/send#send-binary-content">官方 Doc</a>，可以看到我們需要的 Code</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="type">Intent</span> <span class="variable">shareIntent</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">Intent</span>();</span><br><span class="line">shareIntent.setAction(Intent.ACTION_SEND);</span><br><span class="line">shareIntent.putExtra(Intent.EXTRA_STREAM, uriToImage);</span><br><span class="line">shareIntent.setType(<span class="string">&quot;image/jpeg&quot;</span>);</span><br><span class="line">startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.send_to)));</span><br></pre></td></tr></table></figure><p>JADX 搜尋出來的 Code 如下</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">public</span> <span class="type">boolean</span> <span class="title function_">b</span><span class="params">(String str, String str2)</span> &#123;</span><br><span class="line">    <span class="type">Intent</span> <span class="variable">intent</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">Intent</span>(<span class="string">&quot;com.instagram.share.ADD_TO_STORY&quot;</span>);</span><br><span class="line">    <span class="type">Uri</span> <span class="variable">a2</span> <span class="operator">=</span> FileProvider.a(<span class="built_in">this</span>, <span class="string">&quot;com.vcoud.fileprovider&quot;</span>, <span class="keyword">new</span> <span class="title class_">File</span>(str2));</span><br><span class="line">    intent.setType(str);</span><br><span class="line">    intent.putExtra(<span class="string">&quot;interactive_asset_uri&quot;</span>, a2);</span><br><span class="line">    grantUriPermission(<span class="string">&quot;com.instagram.android&quot;</span>, a2, <span class="number">1</span>);</span><br><span class="line">    <span class="keyword">if</span> (getPackageManager().resolveActivity(intent, <span class="number">0</span>) == <span class="literal">null</span>) &#123;</span><br><span class="line">        <span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    startActivityForResult(intent, <span class="number">0</span>);</span><br><span class="line">    <span class="keyword">return</span> <span class="literal">true</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment">// 中間省略</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title function_">a</span><span class="params">(String str, String str2)</span> &#123;</span><br><span class="line">    <span class="type">Intent</span> <span class="variable">intent</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">Intent</span>(<span class="string">&quot;android.intent.action.SEND&quot;</span>);</span><br><span class="line">    intent.setType(str);</span><br><span class="line">    <span class="type">Uri</span> <span class="variable">a2</span> <span class="operator">=</span> FileProvider.a(<span class="built_in">this</span>, <span class="string">&quot;com.vcoud.fileprovider&quot;</span>, <span class="keyword">new</span> <span class="title class_">File</span>(str2));</span><br><span class="line">    intent.addFlags(<span class="number">1</span>);</span><br><span class="line">    intent.putExtra(<span class="string">&quot;android.intent.extra.STREAM&quot;</span>, a2);</span><br><span class="line">    intent.setComponent(<span class="keyword">new</span> <span class="title class_">ComponentName</span>(<span class="string">&quot;com.instagram.android&quot;</span>, <span class="string">&quot;com.instagram.share.handleractivity.ShareHandlerActivity&quot;</span>));</span><br><span class="line">    startActivity(intent);</span><br><span class="line">&#125;</span><br><span class="line"></span><br></pre></td></tr></table></figure><p>可以明顯的看出 <code>b</code> 是分享到 IG 限動，<code>a</code> 是普通的 IG 貼文</p><p><code>a</code> 跟我們的目標最像，所以我們改 <code>a</code> (差別只在 <code>a:7</code> 的 <code>setComponent</code> 還有範例 Code 的 <code>Intent.createChooser</code> )</p><p> </p><h4 id="3-改-Code"><a href="#3-改-Code" class="headerlink" title="3. 改 Code"></a>3. 改 Code</h4><p>我們打開步驟 1 生出的資料夾，在 <code>smali/com/vcoud/tuigram/MainActivity.smali</code> 找到我們的 target</p><p><img src="https://i.imgur.com/KOfHPVb.jpg"></p><p>首先我們要先把 <code>setComponent</code> 刪掉 (很顯然的就是 <code>.line 11</code> 的部分，全部註解掉)</p><p>接著加上 <code>Intent.createChooser</code> 的部分</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.send_to)));</span><br><span class="line"></span><br><span class="line"><span class="comment">// 事實上相當於</span></span><br><span class="line"><span class="type">String</span> <span class="variable">title</span> <span class="operator">=</span> getResources().getText(R.string.send_to);</span><br><span class="line"><span class="type">Intent</span> <span class="variable">chooser</span> <span class="operator">=</span> Intent.createChooser(shareIntent, title);</span><br><span class="line">startActivity(chooser)</span><br></pre></td></tr></table></figure><p>所以我們寫</p><figure class="highlight smali"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># String title = &quot;分享至&quot;</span></span><br><span class="line"><span class="comment"># 這個是上面的 getResources().getText(R.string.send_to)</span></span><br><span class="line"><span class="comment"># 會作為分享畫面的標題</span><span class="built_in"></span></span><br><span class="line"><span class="built_in">const-string </span>v1, <span class="string">&quot;分享至&quot;</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 在 .line 5 可以看到 new-instance v0, Landroid/content/Intent;</span></span><br><span class="line"><span class="comment"># 也就是 Intent</span></span><br><span class="line"><span class="comment"># v1 則是我們的 string</span></span><br><span class="line"><span class="comment"># 接受一個 Intent 和一個 CharSequence 作為參數，回傳一個 Intent</span></span><br><span class="line"><span class="comment"># 其中 createChooser 是一個 static method</span><span class="built_in"></span></span><br><span class="line"><span class="built_in">invoke-static </span>&#123;v0, v1&#125;, <span class="class">Landroid/content/Intent;</span>-&gt;createChooser(<span class="class">Landroid/content/Intent;</span><span class="class">Ljava/lang/CharSequence;</span>)<span class="class">Landroid/content/Intent;</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 把上一步驟的結果 (chooser) 移到 v1 裡 (v1 是不會再用到的 string 所以不用擔心)</span><span class="built_in"></span></span><br><span class="line"><span class="built_in">move-result-object </span>v1</span><br><span class="line"></span><br><span class="line"><span class="comment"># 接著我們 startActivity</span></span><br><span class="line"><span class="comment"># 注意到 class method 的第一個參數是 class instance，類似 python 裡的 Class function 第一個參數總是 self</span></span><br><span class="line"><span class="comment"># 原本他 call 的是 &#123;p0, v0&#125;，其中 v0 是原本的 Intent</span></span><br><span class="line"><span class="comment"># 現在我們把 v0 換成我們剛剛新建立的 chooser，也就是 v1 </span><span class="built_in"></span></span><br><span class="line"><span class="built_in">invoke-virtual </span>&#123;p0, v1&#125;, <span class="class">Landroid/content/Context;</span>-&gt;startActivity(<span class="class">Landroid/content/Intent;</span>)V</span><br></pre></td></tr></table></figure><p>結果長得像這樣</p><figure class="highlight smali"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line">    <span class="comment"># ...</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">    .line</span> 11</span><br><span class="line">    <span class="comment"># new-instance p1, Landroid/content/ComponentName;</span></span><br><span class="line"></span><br><span class="line">    <span class="comment"># const-string p2, &quot;com.instagram.android&quot;</span></span><br><span class="line"></span><br><span class="line">    <span class="comment"># const-string v1, &quot;com.instagram.share.handleractivity.ShareHandlerActivity&quot;</span></span><br><span class="line"></span><br><span class="line">    <span class="comment"># invoke-direct &#123;p1, p2, v1&#125;, Landroid/content/ComponentName;-&gt;&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V</span></span><br><span class="line"></span><br><span class="line">    <span class="comment"># invoke-virtual &#123;v0, p1&#125;, Landroid/content/Intent;-&gt;setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;</span></span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="keyword">    .line</span> 12</span><br><span class="line">   <span class="built_in"> const-string </span>v1, <span class="string">&quot;分享至&quot;</span></span><br><span class="line"></span><br><span class="line">   <span class="built_in"> invoke-static </span>&#123;v0, v1&#125;, <span class="class">Landroid/content/Intent;</span>-&gt;createChooser(<span class="class">Landroid/content/Intent;</span><span class="class">Ljava/lang/CharSequence;</span>)<span class="class">Landroid/content/Intent;</span></span><br><span class="line"></span><br><span class="line">   <span class="built_in"> move-result-object </span>v1</span><br><span class="line"></span><br><span class="line">   <span class="built_in"> invoke-virtual </span>&#123;p0, v1&#125;, <span class="class">Landroid/content/Context;</span>-&gt;startActivity(<span class="class">Landroid/content/Intent;</span>)V</span><br><span class="line"></span><br><span class="line">   <span class="built_in"> return-void</span></span><br><span class="line"><span class="built_in"></span><span class="keyword">.end method</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># ...</span></span><br></pre></td></tr></table></figure><p>儲存。</p><p> </p><h4 id="4-打包回去"><a href="#4-打包回去" class="headerlink" title="4. 打包回去"></a>4. 打包回去</h4><p><code>&gt; apktool.bat b &#39;.\Tuigram Share tweets on instagram_v1.1.7_apkpure.com\&#39;</code></p><p>結果會在　<code>.\Tuigram Share tweets on instagram_v1.1.7_apkpure.com\dist\</code> 裡面找到<br> build 好的 APK，簽名後裝進手機裡就大功告成辣 owo</p><p> </p><h5 id="4-1-簽名"><a href="#4-1-簽名" class="headerlink" title="4.1 簽名"></a>4.1 簽名</h5><p>首先建立 Keystore</p><p><code>&gt; keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000</code></p><p><code>keytool</code> 在 JDK 裡面有附</p><p> </p><p>接著簽名</p><p><code>&gt; %ANDROID_SDK%\build-tools\%VERSION%\apksigner.bat sign --ks %KEYSTORE% %APK_PATH%</code></p><p>把 <code>%ANDROID_SDK%</code>, <code>%VERSION%</code>, <code>%KEYSTORE%</code>, <code>%APK_PATH%</code> 換掉就可以簽名了</p><p> </p><table><thead><tr><th align="center"><img src="https://i.imgur.com/vgKtuww.jpg"></th></tr></thead><tbody><tr><td align="center"><em>yay</em></td></tr></tbody></table>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;p&gt;Leko 今天 (2020-08-26) 在 Twitter 上看到一篇值得分享的好消息，想分享到 FB 上&lt;/p&gt;
&lt;p&gt;剛好想起之前人家介紹的 Tuigram 還有 Twiger 可以把 tweet 變成圖片&lt;/p&gt;
&lt;p&gt;用了才發現，兩個軟體居然都只支援分享到 Instagram 上 (Leko 不是很喜歡 IG :(&lt;/p&gt;
&lt;p&gt;所以就想說改一下 APP 讓他們支援分享到任意 App 上 yay&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot;&gt;&lt;img src=&quot;https://i.imgur.com/J8hg3x3.jpg&quot;&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;&lt;em&gt;值得分享的好消息&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</summary>
    
    
    
    <category term="dev" scheme="https://blog.leko.moe/categories/dev/"/>
    
    
    <category term="Android" scheme="https://blog.leko.moe/tags/Android/"/>
    
    <category term="APK" scheme="https://blog.leko.moe/tags/APK/"/>
    
    <category term="apktool" scheme="https://blog.leko.moe/tags/apktool/"/>
    
    <category term="Java" scheme="https://blog.leko.moe/tags/Java/"/>
    
    <category term="Smali" scheme="https://blog.leko.moe/tags/Smali/"/>
    
    <category term="reverse" scheme="https://blog.leko.moe/tags/reverse/"/>
    
  </entry>
  
  <entry>
    <title>快速 Expose Docker 內的 HTTP Service</title>
    <link href="https://blog.leko.moe/2020/02/19/%E5%BF%AB%E9%80%9F-Expose-Docker-%E5%85%A7%E7%9A%84-HTTP-Service/"/>
    <id>https://blog.leko.moe/2020/02/19/%E5%BF%AB%E9%80%9F-Expose-Docker-%E5%85%A7%E7%9A%84-HTTP-Service/</id>
    <published>2020-02-19T14:45:00.000Z</published>
    <updated>2026-04-07T16:35:08.847Z</updated>
    
    <content type="html"><![CDATA[<p>更新: 作者現在更習慣用 Caddy 來實現，這篇僅供參考 owo</p><span id="more"></span><h2>前言</h2>相信有些人應該會有「部署 Docker Service 後不知道怎麼 expose」的困擾<p>要 expose 不同 service 到不同的 host port 再用本機的 Nginx 反代也略顯雞肋 (而且還要寫 nginx config 跟放證書好麻煩)</p><p>這篇要教大家怎麼不佔用一堆 host port 也可以 expose 各種 HTTP service</p><h2>先備條件</h2><ul>     <li>Docker 基礎 (不會 docker 要 expose 甚麼東西 ww)</li>     <li>每個服務一個 domain / subdomain (因為會用到 SNI)</li>     <li>至少一個 Port expose 到公網上 (通常是 80，有 HTTPS 的話外加一個 443)</li></ul><h2>正文</h2><h3>第一次部署 Nginx Proxy Manager</h3><ol>     <li><h4>首先部署 Nginx Proxy Manager (<a href="https://github.com/jc21/nginx-proxy-manager/blob/master/doc/example/docker-compose.yml">docker-compose.yml</a>)</h4>** 小提醒: 記得先建好 YAML 裡面 services/app/volumes 指定的檔案/資料夾路徑，Leko 是直接用 Docker Volume 取代<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_">$ </span><span class="language-bash"><span class="built_in">mkdir</span> nginx-proxy-manager</span></span><br><span class="line"><span class="meta prompt_">$ </span><span class="language-bash"><span class="built_in">cd</span> nginx-proxy-manager</span></span><br><span class="line"><span class="meta prompt_">/nginx-proxy-manager$ </span><span class="language-bash">wget https://raw.githubusercontent.com/jc21/nginx-proxy-manager/master/doc/example/docker-compose.yml</span></span><br><span class="line"><span class="meta prompt_">/nginx-proxy-manager$ </span><span class="language-bash"><span class="built_in">touch</span> config.json</span></span><br><span class="line"><span class="meta prompt_">/nginx-proxy-manager$ </span><span class="language-bash"><span class="built_in">mkdir</span> data</span></span><br><span class="line"><span class="meta prompt_">/nginx-proxy-manager$ </span><span class="language-bash"><span class="built_in">mkdir</span> letsencrypt</span></span><br><span class="line"><span class="meta prompt_">/nginx-proxy-manager$ </span><span class="language-bash">docker-compose up -d</span></span><br></pre></td></tr></table></figure></li>     <li><h4>用瀏覽器連接至 <a href="http://localhost:81">http://localhost:81</a> 進行配置</h4>在非本機 Server 上配置時請記得不要用 localhost XD第一次登入的帳密是 <code>admin@example.com</code>/<code>changeme</code></li>     <li><h4>新增一個 Docker network 用於 Reversy Proxy 並與 Nginx Proxy Manager 連接</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_">$ </span><span class="language-bash">docker network create reverse-proxy</span></span><br><span class="line"><span class="meta prompt_">$ </span><span class="language-bash">docker network connect reverse-proxy nginxproxymanager_app_1</span></span><br></pre></td></tr></table></figure>&nbsp;</li></ol><h3>設定容器</h3><ol>     <li><h4>將 Service Container 連接至 Reverse Proxy 用的 Docker network</h4>這裡以我新寫的專案 bb 為例 (Container 名稱為 <code>bb_bb_1</code>)<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_">$ </span><span class="language-bash">docker network connect reverse-proxy bb_bb_1</span></span><br></pre></td></tr></table></figure></li>     <li><h4>在 Nginx Proxy Manager 內設定一個新的 Proxy Host</h4>Domain Names 填入該 Service 預計要被 Expose 至的 Domain,Scheme 選擇該 HTTP Service 的 Scheme,Forward Hostname 填入 Container name (用 Docker network 連接的用意在此),Forward Port 填入該 Service 在容器內部使用的 Port<p>** 小提醒: 記得要先設定好 Domain 的 A&#x2F;CNAME 等 Record<br>以 bb 為例，設定如下<br><img src="https://i.imgur.com/XPbEbWb.png" /></li><br>     <li></p><h4>(選擇性, 建議) SSL 證書 (啟用 HTTPS 才有 SNI 可以用喔)</h4>切換至 SSL 頁籤，選擇 "Request a new SSL Certificate"在下面填入你的 Email 並同意 Let's Encrypt ToS** 小提醒: 記得保持 80 Port 為開啟狀態，不要被防火牆擋住<img src="https://i.imgur.com/B58bsla.png" /></li>     <li><h4>按下 Save 讓設定生效，如果有選擇申請 SSL 證書的話在這裡也會一併申請。</h4></li>     <li><h4>搭啦~ 完成ㄌ!</h4><img src="https://i.imgur.com/W4HDnge.png" /><img src="https://i.imgur.com/DSkHEdO.png" />可以看到 HTTPS 已經成功上線了，也沒有占用除了 Nginx Proxy Manager 使用的 80、443、81 以外的 Port。SSL 證書還會自動更新!</li></ol><h2>備註</h2>其實神奇蹦蹦 Nginx Proxy Manager 還可以拿來加入 HTTP Basic Auth (配合 HTTPS 後其實算蠻安全的)、加入 CORS Header、自動 HTTPS 跳轉等功能，有興趣的話可以玩玩看 Advanced 分區。<h4>驗證登入</h4><img src="https://i.imgur.com/GijnQuo.png" /><h4>CORS</h4>CORS 需要一個有點小 Tricky 的技巧，要在 Custom Location 新增一個 / 的 location 再在裡面的 Advanced (齒輪 Icon) 加入 CORS code。(範例)<figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br></pre></td><td class="code"><pre><span class="line">set $cors &quot;&quot;<span class="comment">;</span></span><br><span class="line">set $options &quot;&quot;<span class="comment">;</span></span><br><span class="line">if ( $http_origin ~* ^(https?:\/\/.*\.mydomain1\.com$) )&#123;</span><br><span class="line">        set $cors &quot;true&quot;<span class="comment">;</span></span><br><span class="line">        set $options &quot;$&#123;options&#125;1&quot;<span class="comment">;</span></span><br><span class="line">&#125;</span><br><span class="line">if ( $http_origin ~* ^(https?:\/\/.*\.mydomain2\.com$) )&#123;</span><br><span class="line">        set $cors &quot;true&quot;<span class="comment">;</span></span><br><span class="line">        set $options &quot;$&#123;options&#125;1&quot;<span class="comment">;</span></span><br><span class="line">&#125;</span><br><span class="line">if ( $http_origin ~* ^(https?:\/\/localhost:8080$) )&#123;</span><br><span class="line">       set $cors &quot;true&quot;<span class="comment">;</span></span><br><span class="line">       set $options &quot;$&#123;options&#125;1&quot;<span class="comment">;</span></span><br><span class="line">&#125;</span><br><span class="line">if ($<span class="attr">request_method</span> = <span class="string">&#x27;OPTIONS&#x27;</span>)&#123;</span><br><span class="line">        set $options &quot;$&#123;options&#125;2&quot;<span class="comment">;</span></span><br><span class="line">&#125;</span><br><span class="line">if ($<span class="attr">cors</span> = <span class="string">&#x27;true&#x27;</span>) &#123;</span><br><span class="line">    add_header &#x27;Access-Control-Allow-Origin&#x27; $http_origin always<span class="comment">;</span></span><br><span class="line">    add_header &#x27;Access-Control-Allow-Methods&#x27; &#x27;GET, POST, OPTIONS, PATCH, DELETE&#x27;<span class="comment">;</span></span><br><span class="line">    add_header &#x27;Access-Control-Allow-Headers&#x27; &#x27;Authorization,DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range&#x27;<span class="comment">;</span></span><br><span class="line">    add_header &#x27;Access-Control-Expose-Headers&#x27; &#x27;Content-Length,Content-Range&#x27;<span class="comment">;</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">if ($options ~* .*12 ) &#123;</span><br><span class="line"><span class="comment">#####Repeat######</span></span><br><span class="line">add_header &#x27;Access-Control-Allow-Origin&#x27; $http_origin always<span class="comment">;</span></span><br><span class="line">add_header &#x27;Access-Control-Allow-Methods&#x27; &#x27;GET, POST, OPTIONS, PATCH, DELETE&#x27;<span class="comment">;</span></span><br><span class="line">add_header &#x27;Access-Control-Allow-Headers&#x27; &#x27;Authorization,DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range&#x27;<span class="comment">;</span></span><br><span class="line">add_header &#x27;Access-Control-Expose-Headers&#x27; &#x27;Content-Length,Content-Range&#x27;<span class="comment">;</span></span><br><span class="line">            <span class="comment"># Tell client that this pre-flight info is valid for 20 days</span></span><br><span class="line">            add_header &#x27;Access-Control-Max-Age&#x27; 1728000<span class="comment">;</span></span><br><span class="line">            add_header &#x27;Content-Type&#x27; &#x27;text/plain <span class="attr">charset</span>=UTF-<span class="number">8</span><span class="string">&#x27;;</span></span><br><span class="line"><span class="string">            add_header &#x27;</span>Content-Length<span class="string">&#x27; 0;</span></span><br><span class="line"><span class="string">            return 204;</span></span><br><span class="line"><span class="string">&#125;</span></span><br></pre></td></tr></table></figure><img src="https://i.imgur.com/2kSXeRc.png" /><h4>自動 HTTPS 跳轉</h4><figure class="highlight ini"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">if ($<span class="attr">scheme</span>  = <span class="string">&quot;http&quot;</span>) &#123;</span><br><span class="line">      return 301 https://$server_name$request_uri<span class="comment">;</span></span><br><span class="line">  &#125;</span><br></pre></td></tr></table></figure><img src="https://i.imgur.com/8hmnSfI.png" />]]></content>
    
    
    <summary type="html">&lt;p&gt;更新: 作者現在更習慣用 Caddy 來實現，這篇僅供參考 owo&lt;/p&gt;</summary>
    
    
    
    <category term="ops" scheme="https://blog.leko.moe/categories/ops/"/>
    
    
    <category term="docker" scheme="https://blog.leko.moe/tags/docker/"/>
    
    <category term="HTTPS" scheme="https://blog.leko.moe/tags/HTTPS/"/>
    
    <category term="letsencrypt" scheme="https://blog.leko.moe/tags/letsencrypt/"/>
    
    <category term="nginx" scheme="https://blog.leko.moe/tags/nginx/"/>
    
    <category term="reverse-proxy" scheme="https://blog.leko.moe/tags/reverse-proxy/"/>
    
    <category term="SNI" scheme="https://blog.leko.moe/tags/SNI/"/>
    
  </entry>
  
  <entry>
    <title>URL Protocol Handler 轉發</title>
    <link href="https://blog.leko.moe/2019/12/15/URL-Protocol-Handler-%E8%BD%89%E7%99%BC/"/>
    <id>https://blog.leko.moe/2019/12/15/URL-Protocol-Handler-%E8%BD%89%E7%99%BC/</id>
    <published>2019-12-15T10:12:00.000Z</published>
    <updated>2026-04-07T16:35:08.844Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>Leko 昨天在看 <a href="https://www.youtube.com/user/Kurzgesagt/">Kurzgesagt</a> 的影片的時候，發現他有些早期的影片是沒有 60 FPS 的，看了不太開心</p><p>靈機一動，丟進 PotPlayer + BFRC 讓他自動補幀好了</p><p>然而事與願違 – Kurzgesagt 的早期影片是 25 FPS 的，AMD Fluid Motion 只支援 24 和 30 FPS 的補幀。</p><p>平時用的 PotPlayer (x64) 用於動畫補幀，不是很想動到那些設置…</p><p>於是安裝了 x86 版本的 PotPlayer，配置了一下確定能用於 25 FPS 的補幀 (可能會再另外開一篇文章) 安裝了 <a href="https://chrome.google.com/webstore/detail/potplayer-youtube-shortcu/cfdpeaefecdlkdlgdpjjllmhlnckcodp">Chrome 擴充元件</a> 讓 Youtube 影片底下有快速按鈕可以自動打開 PotPlayer 播放。<br><img src="https://i.imgur.com/qjNob37.png"></p><p>然而，由於同時安裝了 x64 和 x86 版本的原因，個人希望檔案關聯等等的都保留在 x64 上。</p><p>因此希望可以用 <code>potplayer32://</code> 來取代 <code>potplayer://</code> 以在 x86 PotPlayer 上開啟連結。</p><span id="more"></span><h2 id="URL-Protocol-Handler"><a href="#URL-Protocol-Handler" class="headerlink" title="URL Protocol Handler"></a>URL Protocol Handler</h2><p>在呼叫 URL Protocol Handler 的時候，如果註冊表有好好配置的話:<br>假設 <code>myapp://</code> 會呼叫 <code>myapp.exe</code></p><p>注意到我們開啟 <code>myapp://payload</code> 的時候，實際上是呼叫 <code>myapp.exe myapp://payload</code>而不是 <code>myapp.exe payload</code><br><del>好的因為我沒看文件在這個地方浪費半小時</del></p><p>因此如果單純註冊 <code>potplayer32://</code> 指向 <code>PotPlayerMini.exe</code> 的話，會導致 <code>PotPlayerMini.exe</code> 無法解析連結 (<code>Expected potplayer://, got potplayer32://</code>)</p><p>為此，我們需要一個 <code>Middleware</code>，藉由將 <code>potplayer32://</code> 指向 <code>Middleware</code>， 由 <code>Middleware</code>代為開啟 <code>PotPlayerMini.exe</code> 的方式來解決這個問題。</p><h2 id="PotPlayerMiddleware"><a href="#PotPlayerMiddleware" class="headerlink" title="PotPlayerMiddleware"></a>PotPlayerMiddleware</h2><figure class="highlight cpp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#<span class="keyword">define</span> UNICODE</span></span><br><span class="line"></span><br><span class="line"><span class="meta">#<span class="keyword">include</span> <span class="string">&lt;string&gt;</span></span></span><br><span class="line"><span class="meta">#<span class="keyword">include</span> <span class="string">&lt;windows.h&gt;</span></span></span><br><span class="line"></span><br><span class="line"><span class="function">std::wstring <span class="title">exeDirPath</span><span class="params">()</span> </span>&#123;</span><br><span class="line">    <span class="type">wchar_t</span> buffer[MAX_PATH];</span><br><span class="line">    <span class="built_in">GetModuleFileNameW</span>( <span class="literal">NULL</span>, buffer, MAX_PATH );</span><br><span class="line">    std::wstring::size_type pos = std::<span class="built_in">wstring</span>( buffer ).<span class="built_in">find_last_of</span>( <span class="string">L&quot;\\/&quot;</span> );</span><br><span class="line">    <span class="keyword">return</span> std::<span class="built_in">wstring</span>( buffer ).<span class="built_in">substr</span>(<span class="number">0</span>, pos);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="type">int</span> <span class="title">wmain</span><span class="params">(<span class="type">int</span> argc, <span class="type">wchar_t</span> *argv[])</span></span>&#123;</span><br><span class="line">    <span class="function">std::wstring <span class="title">url</span><span class="params">(argv[<span class="number">1</span>])</span></span>;</span><br><span class="line">    std::wstring p32 = <span class="string">L&quot;potplayer32://&quot;</span>;</span><br><span class="line">    url.<span class="built_in">replace</span>(<span class="number">0</span>, p<span class="number">32.</span><span class="built_in">size</span>(), <span class="string">L&quot;potplayer://&quot;</span>);</span><br><span class="line"></span><br><span class="line">    std::wstring potplayerPath = <span class="built_in">exeDirPath</span>() + <span class="string">L&quot;\\PotPlayerMini.exe&quot;</span>;</span><br><span class="line">    LPCWSTR process = potplayerPath.<span class="built_in">c_str</span>();</span><br><span class="line"></span><br><span class="line">    std::wstring arg = potplayerPath + <span class="string">L&quot; &quot;</span> + url + <span class="string">L&quot;&quot;</span>;</span><br><span class="line">    LPWSTR args = &amp;arg[<span class="number">0</span>];</span><br><span class="line"></span><br><span class="line">    STARTUPINFOW si;</span><br><span class="line">    PROCESS_INFORMATION pi;</span><br><span class="line">    <span class="built_in">ZeroMemory</span>( &amp;si, <span class="built_in">sizeof</span>(si));</span><br><span class="line">    si.cb = <span class="built_in">sizeof</span>(si);</span><br><span class="line">    <span class="built_in">ZeroMemory</span>( &amp;pi, <span class="built_in">sizeof</span>(pi));</span><br><span class="line">    <span class="built_in">CreateProcessW</span>(process, args, <span class="literal">NULL</span>, <span class="literal">NULL</span>, FALSE, <span class="number">0</span>, <span class="literal">NULL</span>, <span class="literal">NULL</span>, &amp;si, &amp;pi);</span><br><span class="line"></span><br><span class="line">    <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">clang++ ./PotPlayerMiddleware.cpp -o ./PotPlayerMiddleware.exe -Wall -static --target=x86_64-w64-mingw64 -municode -O3</span><br></pre></td></tr></table></figure><p>編譯後丟入 <code>PotPlayer (x86)</code> 根目錄。 </p><h2 id="註冊表"><a href="#註冊表" class="headerlink" title="註冊表"></a>註冊表</h2><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">Windows Registry Editor Version 5.00</span><br><span class="line">[HKEY_CLASSES_ROOT\potplayer32] @=URL:POTPLAYER Protocol URL Protocol= </span><br><span class="line">[HKEY_CLASSES_ROOT\potplayer32\shell] </span><br><span class="line">[HKEY_CLASSES_ROOT\potplayer32\shell\open] </span><br><span class="line">[HKEY_CLASSES_ROOT\potplayer32\shell\open\command] @=C:\\YOUR_DIR\\PotPlayerMiddleware.exe \%1\</span><br></pre></td></tr></table></figure><h2 id="修改插件"><a href="#修改插件" class="headerlink" title="修改插件"></a>修改插件</h2><p>將 <a href="https://chrome.google.com/webstore/detail/potplayer-youtube-shortcu/cfdpeaefecdlkdlgdpjjllmhlnckcodp">Chrome 擴充元件</a> 下載下來之後，<code>background.js</code> 裡面 <code>potplayer://</code> 全部改成 <code>potplayer32://</code> ，載入未封裝擴充元件之後就成功啦!</p><p><img src="https://i.imgur.com/E5kvBlC.png"></p>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;p&gt;Leko 昨天在看 &lt;a href=&quot;https://www.youtube.com/user/Kurzgesagt/&quot;&gt;Kurzgesagt&lt;/a&gt; 的影片的時候，發現他有些早期的影片是沒有 60 FPS 的，看了不太開心&lt;/p&gt;
&lt;p&gt;靈機一動，丟進 PotPlayer + BFRC 讓他自動補幀好了&lt;/p&gt;
&lt;p&gt;然而事與願違 – Kurzgesagt 的早期影片是 25 FPS 的，AMD Fluid Motion 只支援 24 和 30 FPS 的補幀。&lt;/p&gt;
&lt;p&gt;平時用的 PotPlayer (x64) 用於動畫補幀，不是很想動到那些設置…&lt;/p&gt;
&lt;p&gt;於是安裝了 x86 版本的 PotPlayer，配置了一下確定能用於 25 FPS 的補幀 (可能會再另外開一篇文章) 安裝了 &lt;a href=&quot;https://chrome.google.com/webstore/detail/potplayer-youtube-shortcu/cfdpeaefecdlkdlgdpjjllmhlnckcodp&quot;&gt;Chrome 擴充元件&lt;/a&gt; 讓 Youtube 影片底下有快速按鈕可以自動打開 PotPlayer 播放。&lt;br&gt;&lt;img src=&quot;https://i.imgur.com/qjNob37.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;然而，由於同時安裝了 x64 和 x86 版本的原因，個人希望檔案關聯等等的都保留在 x64 上。&lt;/p&gt;
&lt;p&gt;因此希望可以用 &lt;code&gt;potplayer32://&lt;/code&gt; 來取代 &lt;code&gt;potplayer://&lt;/code&gt; 以在 x86 PotPlayer 上開啟連結。&lt;/p&gt;</summary>
    
    
    
    <category term="dev" scheme="https://blog.leko.moe/categories/dev/"/>
    
    
    <category term="C++" scheme="https://blog.leko.moe/tags/C/"/>
    
    <category term="PotPlayer" scheme="https://blog.leko.moe/tags/PotPlayer/"/>
    
    <category term="URL Protocol Handler" scheme="https://blog.leko.moe/tags/URL-Protocol-Handler/"/>
    
    <category term="Windows" scheme="https://blog.leko.moe/tags/Windows/"/>
    
    <category term="播放器" scheme="https://blog.leko.moe/tags/%E6%92%AD%E6%94%BE%E5%99%A8/"/>
    
  </entry>
  
</feed>
