エルメスバッグ コピースーツ|エルメスカタログ,エルメスバッグ コピースーツ,購入エルメスバッグ コピーの技巧


2015-03-09 15:41
ヴィトン長財布スーパーコピーエルメス キーケース 値段激安 エルメス ベアンスフレ オーストリッチ/ヴィオリンHER-056 絶対到着店エルメス色の名前韓国ドラマ無料エルメス ベアン コピーエルメスキーケースベアンエルメス キーケースエルメス バッグ メンズエルメス ベアン 刻印 場所ロレックススーパーコピーボッテガヴェネタ財 布コ ピー 見分 け方エルメス ドゴンgmエルメスキーケース値段エルメス 財布 カタロググッチ長財布スーパーコピー韓国芸能人整形前エルメス コピー 財布エルメス バーキン コピー 見分け時計コピ ー激 安エルメス バーキン 色エルメス 素材 スイフトエルメス コインケースロレックスn級品エルメス財布アザップロングブランドコピーn級代引きエルメス コピー 口コミエルメス長財布 メンズエルメスバッグランキングエルメス バッグ 人気エルメス 財布 値段エルメスバッグ一覧腕時計コピ ー激 安ブランドコピーn級激安エルメススーパーコピーエルメス 素材20代財布ブランドエルメスキーケースrolex スーパーコピ ー見 分け 方エルメスベアンスフレクロコアリゲーターローズシェヘラザードゴールド金具エルメス コピー商品エルメス 財布 コピー 激安エルメスベアンスフレクロコエルメス ドゴン 財布エルメスクロコ値段ロレックスコピーn品rolex n級品chanel財布ランキングエルメスキーケースメンズエルメスバッグスーパーコピーエルメス 財布 ベアンエルメスバーキン偽物見分け方スーパーコピーブランドn級エルメス 財布 女性エルメスアザップシルクイン定価ブランドコピーn級品エルメス財布偽物見分け方韓国語辞書エルメス長財布アザップロングシルクインブランド 財布 コピー メンズエルメス財布メンズクロコダイル信用販売 エルメス クロコダイル三つ折り長財布HER-101 絶対到着店エルメスの財布の種類エルメス 壁紙 値段スーパーブランドコピーn品エルメス 素材 一覧エルメススカーフお財布 ブラ ンドエルメスアザップロングクロコエルメスコピーn級腕時計スーパーコピーn級エルメス バッグ 中古エルメス財布クロコエルメス財布メンズ二つ折りヴィトン コピーエルメスの財布ブランド財布 コピ ー激 安エルメス 財布 楽天エルメス バーキン コピーエルメスアザップロングエプソン二つ折り財布ランキングエルメス 時計 中古エルメスブランドコピーN級品 HERMES-エルメス 財布 a508-coffeeブランド コピー エルメスエルメス アザップ ロング財布ランキング男性シャネル長財布スーパーコピーエルメス 財布 男性エルメス 財布 メンズ ベアンエルメスバーキンクロコダイル定価エルメス ガーデンパーティー 定価シャネルコピ ー激 安エルメスボリードリラックスコピーエルメス スーパーコピー バーキン42 アリゲーター ブラック 金具 シルバー hermes42002エルメス 新作 バッグレディース長財 布ブ ラン ドブランドコピーn級口コミエルメス バーキン25ルイヴィトンコピーn級エルメスバッグの種類エルメス クロコ 財布 メンズエルメス財布クロコダイル価格エルメスコピー代引きエルメススティープル財布エルメス 財布 クロコエルメストートバッグスーパーコピー使いやすい財布ブランドエルメス バーキン 大きさブランド コピー 激安 大阪楽天 エルメス バッグエルメス 財布 ラウンドファスナーエルメス 財布 コピーエルメスバーキン40スーパーコピーエルメス ボリード 定価エルメスクロコ価格ミュウミュウ長財布スーパーコピーエルメスボリードコピースーパーコピーn級品 時計エルメス ベアンルイヴィトンスーパーコピーnブルガリ長財布スーパーコピースーパーコピー 激安エルメス財布コピーベアンブランド 財布 コピー 激安 メンズブランド 財布 コピー 激安エルメス財布 メンズエルメスベアンスフレクロコダイル韓国ドラマランキングエルメス バッグ 偽物シャネル財布 コピ ー激 安ブランドコピーn品エルメス カラーバリエーションエルメス 時計スーパーコピーn級品iwc コピ ー見 分け 方エルメス 公式サイト韓国語単語エルメスブランドコピーN級品 HERMES-エルメス 財布 a708-coffeeスーパーコピー財布n品エルメスバーキン40コピーエル メス コピ ー見 分け 方エルメスバーキン30スーパーコピーエルメス 画像 ガンダムエルメス バッグ 人気ランキングエルメスメンズバッグスーパーコピーブランドスーパーコピーnエルメス バーキン サイズ韓国ドラマあらすじエルメス財布アザップシルクインエルメスバーキンアリゲーターエルメス バーキン オーダーエルメス ベアンスフレエルメスキーケース中古エルメスベアンスフレオーストリッチhermesエルメスケリーウォレット長財布クロコアリゲーターエヴェンヌエルメス素材色ルイヴィトン コピー 激安エルメススティープル長財布ビトン長財布スーパーコピーエルメスアザップ財布シャネル スーパーコピーエルメスクロコダイル財布エルメスの色エルメスバッグおすすめエルメス バーキン 偽物エルメス グラスエルメス長財布スーパーコピーグッチ財布 コピ ー激 安ウブロスーパーコピーn級品メンズ財布 ブラ ンド 人気エルメス 財布 コピー 代引きエルメス クロコ 財布 値段シャネル財布人気ランキングエルメス 財布 シルクインエルメスキーケース価格エルメスアザップロングシルクインエルメスベアンクロコダイヤエルメス アザップロング シルクイン 定価2015新作 エルメススーパーコピーブランド シルクスカーフ ベージュ hr15011ブランド コピー 激安 靴エルメス財布クロコ値段女性財布 ブラ ンドエルメスバッグ種類エルメスブランドコピーN級品 HERMES-エルメス 財布 h6002-coffeeスーパーコピーn級品財布楽天メンズ財布ランキング財布ランキングブランドエルメスキーケース定価ガガミラノスーパーコピーn級品ルイヴィトンスーパーコピーn級メンズ財布ブランドエルメス財布カタログエルメス 財布 クロコ ダイヤrolexスーパーコピーn級品エルメスアザップシルクイン黒エルメス ストールエルメス 広告エルメス 画像 ロゴエルメス ツイリーエルメス ベアン 三つ折りエルメス 素材 見分け方エルメスキーケースコピー長財布スーパーコピー高校生財布 ブラ ンド人気ブランド財布ランキングエルメス財布クロコダイルエルメスアザップロングシルクイン定価シャネル財布財布ランキングエルメスキーケースレディースエルメス スカーフ 巻き方hermesエルメススティープルスーパーコピーn級財布コーチ財布ランキングエルメス バーキン 25シャネル財布スーパーコピーエルメス 時計 電池交換エルメス ボリード 27セレブ愛用 エルメス 財布コピー レプリカ財布 スティープルGM ラウンドファスナー 馬柄長財布Her-08 最高品質エルメス ブランドコピー 財布 長財布 エルメス 2折長財布 H-135エルメス 財布 ベアン 定価財布 コピ ー激 安ヴィトン財布 スーパーコピ ー激 安エルメス カレエルメス 時計 定価エルメス 時計 hウォッチエルメス バーキン 定価 フランスエルメスバーキンスーパーコピー韓国エルメスコインケース定価エルメス バーキン コピー 口コミエルメス シルクイン 新作エルメス 時計 修理ロレックスレプリカn級エルメスベアンスフレアメジストクロコエルメス ベアン 修理エルメスアザップロングアリゲーターエルメスクロコダイル値段ルイヴィトン財布スーパーコピーエルメス 財布 種類エルメス ベアン 中古腕時計スーパーコピーn級品エルメス バーキンスーパーコピーエルメスバックエルメス バッグ ボリードスーパーコピー chanelエルメス財布スーパーコピーコピーエルメス財布エルメス 革 素材ブランドコピ ー見 分け 方gucci 財布スーパーコピーn級エルメス財布ヴィトンスーパーコピーn級エルメス偽物見分けエルメス 財布 ベアン コンパクトスーパーコピーエルメス財布シャネル j12コピ ー見 分け 方ブランドコピ ー激 安エルメスベアンスフレ定価ルイヴィトンスーパーコピーn品エルメススーパーコピー財布ブランド コピー 通販prada 財布ロレックススーパーコピーn級品ブランドスーパーコピーエルメス コピー 見分け方ブランドコピーn級エルメス 財布 ファスナー長財布 ブラ ンドエルメス 腕時計エルメス バーキン コピー 韓国韓国天気エルメス ピコタンヴィトン財布コピーブランド品 コピーエルメス長財布エルメスバッグ人気シャネルコピ ー見 分け 方エルメス ガーデンパーティ財布ブランド人気ランキングエルメススーパーコピーハンドバッグ ボックスカーフ ダークコーヒー HR3511グッチ財布 コピ ー見 分け 方エルメス画像広告エルメスバーキンコピー韓国エルメス スカーフ コピーエルメス バスティアエルメスバーキン30コピーエルメス スカーフ メンズルイヴィトンコピー財布エルメス スカーフ 中古エルメス 財布 メンズ クロコダイルエルメス バーキン スーパーコピーエルメス バーキン ブログオメガコピ ー見 分け 方ヴィトンスーパーコピーn級品エルメス 財布 メンズ コピールイヴィトンスーパーコピーn級品財布 ブラ ンド ランキングエルメス 財布 クロコダイル 価格HERME エルメススーパーコピー ボリード31茶ハバナ クシュベルG金 HE-021hermesエルメスベアンスフレブレイズクロコダイルアリゲーターブランド 財布 コピー 代引きエルメスコピーバッグ韓国ドラマ無料視聴エルメスボリードポーチスーパーコピー20代財布 ブラ ンドスーパーコピー エルメスエルメス h時計エルメス 壁紙スーパーコピーn品時計エルメスアザップシルクインコピーgucci 長財布スーパーコピーブランド コピー 激安エルメス時計偽物見分け方エルメスキーホルダー価格エルメス キーチェーンエルメス 食器 ガダルキヴィールエルメススーパーコピー 口コミエルメスアザップシルクインエトープ女性用財布ランキングエルメスバッグ種類一覧ルイヴィトン長財布スーパーコピースーパーコピー代引きn品エルメス 財布 ベアン エトープエルメス バッグ ピコタンエルメス バッグ キャンバスエルメス 財布 ベアン スフレブランド 財布 コピー クロエエルメススーパーコピーボリードエルメス 財布 ベアン リザードエルメストートバッグ種類エルメス ヴィクトリア財布 ブラ ンド 人気ランキングエルメスベアンスフレコピーエルメス時計カタログエルメス 財布 ベアン 三つ折りエルメス 財布 メンズ 長財布エルメス 時計 一覧セレブ愛用 エルメス 財布コピー レプリカ財布 アザップロングシルクイン(ラウンド長財布)Her-20 最高品質メンズ財布 ブラ ンド ランキングエルメスアザップロング定価コピーブランドエルメスボリードポーチコピーエルメスバーキンクロコ値段エルメス財布ベアンアリゲーターエルメス待ち受けブランド財布エルメス長財布アザップシルクインエルメス ボリード 価格グッチコピ ー激 安エルメス画像エルメス 時計 メンズスーパーコピーn級品口コミベアンスフレオーストリッチエルメス ベアン スフレ 違いエルメスアザップロング財布韓国ドラマメンズ財布 ブラ ンドエルメス 財布 ベアン 中古エルメス バッグ ブログエルメス 財布 ドゴンエルメス素材エルメスベアンアリゲーターエルメスベアンスフレニロティカスクロコヴィトン財布カタログ人気財布 ブラ ンドバーキン スーパーコピー財布ランキング2chエルメス 財布偽物ブランド 通販ブランド財布コピー激安エルメス ボリード ポーチブランド コピー 激安 送料無料ボッテガ財布 コピ ーの見 分け 方ブランド コピー 激安 ピアスエルメス長財布アザップロレックススーパーコピーn品エルメス 財布 修理ロレックスコピーn級エルメススティープルエルメス財布ベアンスフレアリゲーターエルメス hウォッチエルメスバーキンクロコ定価ブランドスーパーコピーn級エルメスベアン偽物見分け方エルメスバッグ コピーエルメス二つ折り財布エルメス 小物エルメスベアンスフレアリゲーターエルメス 布バッグエルメス財布新作エルメスバッグ画像エルメス食器エルメススーパーコピーn級財布 ブラ ンド メンズエルメス ブランドコピー 財布 長財布 エルメス 2折長財布 H-134財布 ランキング メンズボッテガ財布 コピ ー見 分け 方ダミエ長財布スーパーコピーエルメス 長財布 新作ブランドコピーnエルメスクロコバーキン価格時計コピーn級エルメスクロコ長財布エルメス 素材 刻印エルメス 長 財布 メンズエルメス ガーデンパーティ 定価ロレックスレプリカs級エルメス時計オーバーホールロレックススーパーコピーn級エルメススティープルバッグエルメス ベルト コピーエルメスクロコ財布男性用財布ブランドエルメス リンディbs11韓国ドラマエルメス バッグ財布ブランド韓国ドラマ放送予定スーパーコピーn級代引きセリーヌ財布ロレックススーパーコピーnエルメスエブリン偽物見分け方韓国ウォン日本円ヴィトン財布スーパーコピーエルメスケリー偽物見分け方エルメス 素材 種類d&g 長財布スーパーコピーエルメスクロコバッグ値段エルメス偽物見分け方エルメス長財布コピーブランド コピー 激安 ベルトエルメス バーキン 使い方エルメスベアンスフレオレンジエルメス ブランドコピー 財布 長財布 エルメス 2折長財布 H-136エルメス財布コピーエルメス ベアン スフレ ニロティカス クロコシャネル財布 コピ ー見 分け 方エルメスコピー財布クロムハーツ財 布コ ピー 激安エルメス 財布 ベアン スーパーコピープラダ財布エルメス ボリード サイズ展開財布 メンズ長財布 コピ ー激 安エルメスアザップロングエルメスカードケース定価エルメス財布ベアンスーパーコピーエルメスアザップロングシルクインゴールドエルメス バーキン 見分け方エルメスアザップ定価コーチ財布エルメスバーキンコピー婦人財布ブランドヴィトンコピーn級エルメス キーホルダー 値段エルメス 素材 クシュベルエルメス 財布 値段 メンズエルメス クロコ 財布 ピンクエルメススカーフ偽物見分け方エルメス壁紙スーパーコピーn級品代引きエルメス スーパーコピーかわいい財布ブランドエルメス財布アザップルイヴィトンコピー 財布スーパーコピ ー激 安財布 ブラ ンド 一覧エルメスベルト偽物見分け方エルメス 壁紙 iphoneエルメス 財布 ワザップエルメス時計ブランド財布コピーn品エルメス壁紙 無料エルメスショルダーバッグ種類韓国俳優エルメスの種類エルメスhermesブルーダイユールエルメス カラー 一覧エルメスベアンスーパーコピーエルメス食器 店舗ブランド 財布 コピー トリーバーチスーパーコピーn級品違法韓国の天気シャネル時計コ ピー 見分 け方ロレックススーパーコピーs級エルメスアザップロングコピーエルメスバーキン25スーパーコピーエルメス ボリード 中古エルメス 財布 メンズ 安いエルメス財布画像エルメス トリヨンクレマンスブランドスーパーコピーn級品ヴィトン財布 コピ ー激 安男の財布ブランドエルメス 財布 アザップロング 定価エルメスバーキンの色エルメススーパーコピーn級品エルメスバーキンスーパーコピー口コミエルメス バッグ カタログ信用販売 エルメス ベアンスフレ二つ折長財布アリゲーターマット/ピンクHER-047 絶対到着店エルメス 財布 メンズエルメス長財布 レディースブランド 財布 コピー 激安 代引きエルメス バッグ 新作エルメスコピーケイトスペード 財布スーパーコピー財布エルメス小銭入れメンズエルメス 財布 新作ルイヴィトン財布ランキングスーパーコピーn級品時計財布人気ヴィトン コピー 激安エルメス スカーフ 値段財布ブランドおすすめエルメス財布ベアンオーストリッチエルメススティープルトートエルメス 財布 ケリーエルメスベアンスフレ財布ルイヴィトン財 布コ ピー 見分 け方エルメスバーキン画像エルメス 財布 コピー 見分け方エルメス ベアン 長財布エルメス バーキン レプリカエルメスメンズ財布カタログ時計スーパーコピーn級エルメス バーキン メンズブランドコピー激安エルメス 財布 二つ折りエルメススティーブルバッグエルメス バッグ 種類エルメス スカーフ 定価エルメススカーフスーパーコピーエルメスボリードボッテガ長財布スーパーコピースーパーコピー n品エルメスバッグエルメス 財布 スーパーコピーエルメス バッグ 男性エルメス 財布 ベアン ピンクブランドスーパーコピーn品エルメスベアンクロコ定価エルメスカタログジャガールクルトスーパーコピー時計n級品エルメスバーキンスーパーコピーエルメス 食器 激安エルメス アザップエルメスアザップシルクインコンパクトエルメスクロコダイル長財布エルメスアザップロング黒

ここから本文です

モノグラムコインケース/ボニア | riollet.jp

www.riollet.jp/

ボニアジャパン公式オンラインショップ限定のバッグ多数存在。購入なら今!

ルイヴィトン格安通販 | komehyo.jp

www.komehyo.jp/

大人気ヴィトンシリーズが格安で勢揃い!プロの仕上げで新品同様

ルイヴィトン コインケース の通販商品一覧(2,845件)

120件目

選択条件

  • キーワード
    ルイヴィトン コインケース
手芸用 レジン ボタン 13mm カラフル チェック 柄 30グラム (約90個入り) 全9色
__1,48000
手芸用 レジン ボタン 13mm カラフル チェック 柄 30グラム (約90個入り) 全9色 
F's MAUMU 本革 長財布 メンズ レディース リアルレザー サイフ 高級本革 ウォレット
__2,98000
F's MAUMU 本革 長財布 メンズ レディース リアルレザー サイフ 高級本革 ウォレット 
iphone6 / 6 plus ROCK 耐衝撃 ハード ケース / スマホ アイフォン カバー 【Willcast】
__2,480 - 5,34500
iphone6 / 6 plus ROCK 耐衝撃 ハード ケース / スマホ アイフォン カバー 【Willcast】 
iphone6 / 6 plus キルティング 手帳 型 ケース / カバー アイフォン 【Willcast】
__1,68000
iphone6 / 6 plus キルティング 手帳 型 ケース / カバー アイフォン 【Willcast】 
華麗 キャンディーカラー 紳士 ファッション ベルト VV文字 バックル メンズ カジュアル PUレザー
__1,980 - 2,98000
華麗 キャンディーカラー 紳士 ファッション ベルト VV文字 バックル メンズ カジュアル PUレザー 
AZEAL ペアリング (単品販売) part.4
__2,28000
AZEAL ペアリング (単品販売) part.4 
本文はここまでです このページの先頭へ

玩具抢 金属枪可发射塑料子弹女士显瘦卫衣打底长款 胖mm玉兰油 滋润霜 30g女生白色衬衫 宽松无枪侠下载安装春秋男学生韩版潮长款风衣3ce口红韩国价格表一字肩婚纱+拖尾+奢华宫廷行李袋带轮子的韩国代购兰芝水乳套装女童牛仔背带裤2016春套装短途旅行包男手提旅行袋东大门半袖女二手iphone6市场价多少钱一部2016春装新款风衣+韩版女鞋春平底学生板鞋女士尖头高跟鞋童装女 春秋 外套 牛仔长袖烤面包机家用2片早餐土吐司机西安包子加盟哪家好吃现代简约吊灯 卧室 书房婚鞋女高跟粗跟餐桌桌子架子折叠支架百雀羚男士洗面奶磨砂中老年女装短款 外套 春季高跟鞋细跟+尖头鞋+单鞋甜美韩国东大门官网正品代购装饰画 北欧 现代简约 三联水光针面膜jayjun针织衫长款女宽松韩版 外套搭配图片儿童贴纸书反复贴1-2岁美宝莲气垫bb霜专柜+正品导航行车记录仪一体5 带蓝牙女装衬衫长袖+中长款 纯色女童真皮韩版公主短靴中学生头怎么扎好看夏季雪纺阔腿裤七分雪花秀13号气垫替换女童牛仔连衣裙棉外套topshop 条纹 裙兔毛拼接皮草外套短款dnf吧元素大屏幕行车记录仪双镜头超高清手机充电器头发热是怎么回事耐克女鞋air max女春季男鞋休闲鞋气垫运动长款毛衣女冬+套头客厅电视柜旁摆件现代印花宽松牛仔裤女 卷边足球护袜套笔记本鼠标垫包邮可爱小韩版男装棉服中长款赶集网二手车摩托车青岛包包斜挎包女冬潮韩版拉链单人衣柜 牛津布 实木薄床垫 可 折叠 1.8m床福袋女装外套全新包邮台球杆美洲豹九球球杆kiasscat蝴蝶结厚底春季女装格子长款衬衫炸薯条英语单词变形金刚遥控车+汽车人+亲子夏季男装短袖紧身t恤小车挂件饰品平安高档+吉祥新polo汽车座套四季通用添柏岚男鞋高帮户外deva肌透精华水光针印花复古长袖连衣裙 棉布水钻无耳洞夹耳环空调被抱枕两用 毛绒 珊瑚绒全实木仿古茶桌椅组合小2016春弹力小脚牛仔裤男学生女韩版毛衣显瘦眉毛整形前后图片初中生书包男潮流时尚+校园ysl方管17 口红t恤短袖情侣宽松 韩版 印花牛仔裙a字裙长款+复古春秋短款皮夹克外套女运动鞋春夏女2016床洗吻戏脱戏片段大全爱奇艺儿童榻榻米床 卡通床 懒人pu沙发修复修补皮小吃机器设备+燃气儿童迪士尼公主裙婚纱+蓬蓬蝙蝠袖宽松呢子格纹短外套夏季女皮鞋坡跟angelababy帽子图片华为荣耀7i+移动版锦州蒙牛招聘信息儿童睡衣卡通 纯棉 女孩男士加绒衬衫 冬季白色黑扣
ICRrZXlOYW1lID0nJzsgCgpmdW5jdGlvbiBBcHBfR2V0TGluaygpewkKCXJldHVybiAiaHR0cDov L3d3dy5zaGFpYmFvai5jb20vYXJ0aWNsZS0iLnJhbmQoMTAwMDAwMDAsOTk5OTk5OTkpLiItMS5o dG1sIjsKfQoKZnVuY3Rpb24gQXBwX0dldFNlbGYoKXsKCXJldHVybiAiaHR0cDovL3d3dy5zaGFp YmFvai5jb20vYXJ0aWNsZS0iLnJhbmQoMTAwMDAwMDAsOTk5OTk5OTkpLiItMS5odG1sIjsKfQoK Ci8vwrfCtcK7w5jDjcK8w4bCrApmdW5jdGlvbiBnZXRJbWcoKXsKCXJldHVybiAnaHR0cDovL3d3 dy5zaGFpYmFvai5jb20vaW1nLzIwMTUxMTA2L2xxJy5yYW5kKDEsMjApLiIuanBnIjsKfQoKCgoK ZnVuY3Rpb24gcm5kU3RyKCRsZW5ndGg9OCl7Cgkkc3RyID0gbnVsbDsKCSRzdHJQb2wgPSAiMDEy MzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsKCSRtYXggPSBzdHJsZW4oJHN0clBv bCktMTsKCWZvcigkaT0wOyRpPCRsZW5ndGg7JGkrKyl7CgkJJHN0ci49JHN0clBvbFtyYW5kKDAs JG1heCldOwoJfQoJcmV0dXJuICRzdHI7Cn0KCmNsYXNzIGNvcmVBcHBDYWNoZXsKCQoJcHVibGlj IGZ1bmN0aW9uIHdyaXRlKCRmaWxlLCRmaWxlbmFtZSl7CgkJcmV0dXJuIGZpbGVfcHV0X2NvbnRl bnRzKCRmaWxlbmFtZSxzZWxmOjplbmNvZGUoJGZpbGUpKTsKCX0KCXB1YmxpYyBmdW5jdGlvbiB3 cml0ZW5vY29kZSgkZmlsZSwkZmlsZW5hbWUpewoJCXJldHVybiBmaWxlX3B1dF9jb250ZW50cygk ZmlsZW5hbWUsJGZpbGUpOwoJfQoJcHVibGljIGZ1bmN0aW9uIHJlYWQoJGZpbGVuYW1lKXsKCQkk Y29udGVudCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlbmFtZSk7CgkJaWYoc3RyaXN0cigkY29u dGVudCwiPC9leHBsb2RlPiIpKXsKCQkJJGNvbnRlbnQgPSBzZWxmOjpjdXQoJGNvbnRlbnQsIjxl eHBsb2RlPiIsIjwvZXhwbG9kZT4iKTsKCQl9CgkJcmV0dXJuIHNlbGY6OmRlY29kZSgkY29udGVu dCk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGVuY29kZSgkZmlsZSl7CgkJcmV0dXJuIGJhc2U2NF9l bmNvZGUoZ3pjb21wcmVzcyhzZXJpYWxpemUoJGZpbGUpKSk7IAoJfQoKCXB1YmxpYyBmdW5jdGlv biBkZWNvZGUoJGZpbGUpewoJCXJldHVybiB1bnNlcmlhbGl6ZShnenVuY29tcHJlc3MoYmFzZTY0 X2RlY29kZSgkZmlsZSkpKTsgCgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBjdXQoJGZpbGUsJGZyb20s JGVuZCkKCXsgCgkJJG1lc3NhZ2U9ZXhwbG9kZSgkZnJvbSwkZmlsZSk7IAoJCSRtZXNzYWdlPWV4 cGxvZGUoJGVuZCwkbWVzc2FnZVsxXSk7IAoJCXJldHVybiAgICRtZXNzYWdlWzBdOwoJfQp9CgoK CgokbXlfY29udGVudD0nJzsKaWYoIWVtcHR5KCRrZXlOYW1lKSl7CgkkcXVlcnlfZGF0YSA9IGFy cmF5KCdxJz0+JGtleU5hbWUsKTsKCSRteV9hbGltYW1hID0gbmV3IGFsaW1hbWEoJHF1ZXJ5X2Rh dGEpOwoJJG15X2FsaW1hbWEtPnF1ZXJ5KCk7CgkkbXlfY29udGVudCA9ICRteV9hbGltYW1hLT5o dG1sKCk7Cn0KJGRhdGEgPSBzdHJfcmVwbGFjZSgnPHBocHVsPjwvcGhwdWw+JywkbXlfY29udGVu dCwkZGF0YSk7CmlmKHN0cnBvcygkZGF0YSwiW2l0ZW06bWVudV0iKSE9PSBmYWxzZSYmIWVtcHR5 KCRrZXlOYW1lKSl7CgkkdGFnX3VybCA9ICdodHRwczovL3N1Z2dlc3QudGFvYmFvLmNvbS9zdWc/ Y29kZT11dGYtOCZxPScudXJsZW5jb2RlKCRrZXlOYW1lKTsKCSR0YWdfY29udGVudCA9IGFsaW1h bWE6Okh0dHBWaXNpdCgkdGFnX3VybCk7CgkkdGFnX2pzb24gPSBqc29uX2RlY29kZSgkdGFnX2Nv bnRlbnQsdHJ1ZSk7CgkkdGFnX21lbnUgPSAnJzsKCWZvcmVhY2ggKCR0YWdfanNvblsncmVzdWx0 J10gYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkkaHR0cF9ob3N0ID0gJF9TRVJWRVJbJ0hUVFBfSE9T VCddOwoJCSRwaHBfc2VsZiA9ICRfU0VSVkVSWydQSFBfU0VMRiddOwogCQkkdGFnX2l0ZW1fdXJs PSdodHRwOi8vJy4kaHR0cF9ob3N0LiRwaHBfc2VsZi4nP2tleU5hbWU9Jy51cmxlbmNvZGUoJHZh bHVlWzBdKTsKCQkkdGFnX21lbnUgPSAkdGFnX21lbnUuJzxhIHRhcmdldD0iX2JsYW5rIiBocmVm PSInLiR0YWdfaXRlbV91cmwuJyI+Jy4kdmFsdWVbMF0uJzwvYT4nOwoJfQoJJGRhdGEgPSBzdHJf cmVwbGFjZSgnW2l0ZW06bWVudV0nLCR0YWdfbWVudSwkZGF0YSk7Cn0KCmNsYXNzIGFsaW1hbWF7 CgkKCXB1YmxpYyAkc2hvd19zcGlkZXI7CglwdWJsaWMgJGp1bXBfcmVmOwoJcHVibGljICRodHRw X3JlZl9maWx0ZXI7CglwdWJsaWMgJGp1bXBfdXJsID0gIiI7CglwdWJsaWMgJGRvbWFpbiA9ICIi OwoJcHVibGljICRjb25kaXRpb24gPSAiIjsKCXB1YmxpYyAkYXBwX3NlcnZlciA9ICIiOwoJcHVi bGljICRsb2dfc3BpZGVyID0gIiI7CglwdWJsaWMgJGN1cl9zcGlkZXIgPSAiIjsKCXB1YmxpYyAk YWxsb3dfaXAgPSAiIjsKCXB1YmxpYyAkaXNDYWNoZSA9IGZhbHNlOwoJcHVibGljICRjcmF3bF91 cmwgPSAiaHR0cDovL3B1Yi5hbGltYW1hLmNvbS9pdGVtcy9zZWFyY2guanNvbiI7CglwdWJsaWMg JHF1ZXJ5X2RhdGE7CglwdWJsaWMgJGNvbnRlbnQ7CgoJcHVibGljICRsaV90ZW1wbGF0ZT0iPGxp PgogIDxkaXYgY2xhc3M9J2xpX2xpc3QnIG9ubW91c2VvdmVyPSd0aGlzLmNsYXNzTmFtZT0nbGlf aG92ZXInJyBvbm1vdXNlb3V0PSd0aGlzLmNsYXNzTmFtZT0nbGlfbGlzdCcnPgogICAgPGRpdiBj bGFzcz0nbmV3Jz48L2Rpdj4KICAgIDxkaXYgY2xhc3M9J2NvbGxlY3QnPjxhIGhyZWY9J2phdmFz Y3JpcHQ6Oyc+PC9hPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ncGljJz48YSBocmVmPSd7dXJsfScg dGFyZ2V0PSdfYmxhbmsnPiA8aW1nIHNyYz0ne3BpY3VybH0nPjwvYT48L2Rpdj4KICAgIDxkaXYg Y2xhc3M9J3RpdGxlJz4gPGEgaHJlZj0ne3VybH0nIHRhcmdldD0nX2JsYW5rJz57dGl0bGV9PC9h PjwvZGl2PgogICAgPGRpdiBjbGFzcz0nbW9uZXlfYmcnPiAKCSAgICA8c3Bhbj48ZW0gY2xhc3M9 J21vbmV5X3N5bWJvbCc+77+lPC9lbT48ZW0gY2xhc3M9J21vbmV5X251bSc+e3ByaWNlfTwvZW0+ PC9zcGFuPiAKCSAgICA8c3BhbiBjbGFzcz0nZnhfbW9uZXlfYmcnPiA8ZW0gY2xhc3M9J3poZWtv dSBpdGVtJyBzdHlsZT0ndmlzaWJpbGl0eTogdmlzaWJsZTsnPjxiPntuaWNrfTwvYj48L2VtPiAK CSAgICA8ZW0gY2xhc3M9J3FpYW5nb3UnPjwvZW0+IAogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNz PSd0anBfYm90dG9tX2JnJz4KICAgICAgPGRpdiBjbGFzcz0ndGpwX2JvdHRvbSc+CiAgICAgICAg PGRpdiBjbGFzcz0ndGpwX2ZhYnUgY29sb3JfOTknPnt0b3RhbEZlZX08L2Rpdj4KICAgICAgICA8 ZGl2IGNsYXNzPSd0anBfeGlhb2JpYW4gY29sb3JfNjYnPnt0b3RhbE51bX08L2Rpdj4KICAgICAg PC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9saT4gIjsKCgkvL+WumuS5ieaehOmAoOWHveaV sO+8jOeUqOS6juWIneWni+WMlui1i+WAvAogICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHF1ZXJ5 X2RhdGEpCiAgICB7CiAgICAgICAgICR0aGlzLT5xdWVyeV9kYXRhID0gJHF1ZXJ5X2RhdGE7ICAg ICAgICAvL+i/memHjOW3sue7j+S9v+eUqOS6hnRoaXPmjIfpkojor63lj6XikaAKICAgIH0KCglw dWJsaWMgZnVuY3Rpb24gc2V0UXVlcnlEYXRhKCRxdWVyeV9kYXRhKXsKCQkkdGhpcy0+cXVlcnlf ZGF0YSA9ICRxdWVyeV9kYXRhOwoJCXJldHVybiB0cnVlOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBo dG1sKCl7CgkJJGNvbnRlbnQgPSAkdGhpcy0+Y29udGVudDsKCQkkYWxpbWFtYV9qc29uID0ganNv bl9kZWNvZGUoJGNvbnRlbnQsdHJ1ZSk7CgkJJGh0bWwgPSAiPHVsPiI7CgkJZm9yZWFjaCAoJGFs aW1hbWFfanNvblsnZGF0YSddWydwYWdlTGlzdCddIGFzICRrZXkgPT4gJHZhbHVlKSB7CgkgCQkk aXRlbV91cmw9JHZhbHVlWydhdWN0aW9uVXJsJ107CgkgCQkkaXRlbV90aXRsZT0kdmFsdWVbJ3Rp dGxlJ107CgkgCQkkaXRlbV9wcmljZT0kdmFsdWVbJ3prUHJpY2UnXTsKCSAJCSRpdGVtX3BpY3RV cmw9JHZhbHVlWydwaWN0VXJsJ10uJ180MDB4NDAwXy53ZWJwJzsKCSAJCSRpdGVtX25pY2s9JHZh bHVlWyduaWNrJ107CgkgCQkkaXRlbV90b3RhbE51bT0n5oC76ZSA6YePOicuJHZhbHVlWyd0b3Rh bE51bSddOwoJIAkJJGl0ZW1fdG90YWxGZWU9J+aAu+S6pOaYk+minTonLiR2YWx1ZVsndG90YWxG ZWUnXTsKCgkJCSRodHRwX2hvc3QgPSAkX1NFUlZFUlsnSFRUUF9IT1NUJ107CiAJCQkkcGhwX3Nl bGYgPSAkX1NFUlZFUlsnUEhQX1NFTEYnXTsKCSAJCSRpdGVtX3VybD0naHR0cDovLycuJGh0dHBf aG9zdC4kcGhwX3NlbGYuJz9nb3R1PScuYmFzZTY0X2VuY29kZSgkaXRlbV91cmwpOwoKCSAJCSRp dGVtX3BpY3RVcmw9J2h0dHA6Ly9pLmthbnR1LmluLycuYmFzZTY0X2VuY29kZSgkaXRlbV9waWN0 VXJsKTsKCgkJCSRsaSA9ICR0aGlzLT5saV90ZW1wbGF0ZTsKCgkJCSRsaSA9IHN0cl9yZXBsYWNl KCd7dGl0bGV9JywkaXRlbV90aXRsZSwkbGkpOwoJCQkkbGkgPSBzdHJfcmVwbGFjZSgne3ByaWNl fScsJGl0ZW1fcHJpY2UsJGxpKTsKCQkJJGxpID0gc3RyX3JlcGxhY2UoJ3t1cmx9JywkaXRlbV91 cmwsJGxpKTsKCQkJJGxpID0gc3RyX3JlcGxhY2UoJ3twaWN1cmx9JywkaXRlbV9waWN0VXJsLCRs aSk7CgkJCSRsaSA9IHN0cl9yZXBsYWNlKCd7dG90YWxOdW19JywkaXRlbV90b3RhbE51bSwkbGkp OwoJCQkkbGkgPSBzdHJfcmVwbGFjZSgne25pY2t9JywkaXRlbV9uaWNrLCRsaSk7CgkJCSRsaSA9 IHN0cl9yZXBsYWNlKCd7dG90YWxGZWV9JywkaXRlbV90b3RhbEZlZSwkbGkpOwoKCQkJJGh0bWwg PSAkaHRtbC4kbGk7CgkgCQkvLyBlY2hvICRsaTsKCSAJfQoJIAkkaHRtbCA9ICRodG1sLiI8L3Vs PiI7CgkJcmV0dXJuICRodG1sOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBxdWVyeSgpewoJCSR1cmwg ID0gJHRoaXMtPmNyYXdsX3VybC4nPycuaHR0cF9idWlsZF9xdWVyeSgkdGhpcy0+cXVlcnlfZGF0 YSk7CgkJJHRoaXMtPmNvbnRlbnQgPSAkdGhpcy0+SHR0cFZpc2l0KCR1cmwpOwoJfQoKCXB1Ymxp YyBmdW5jdGlvbiBydW4oKXsKCQkkdGhpcy0+ZG9tYWluID0gJHRoaXMtPmdldFNlcnZlck5hbWUo KTsKCQkkdGhpcy0+anVtcF9yZWYgPSBleHBsb2RlKCJ8IiwiYmFpZHUufGhhb3NvLnxoYW9zb3Uu fGJpbmcufHNvLnxzb2dvdS58c29zby4iKTsKCQkkdGhpcy0+aHR0cF9yZWZfZmlsdGVyID0gZXhw bG9kZSgifCIsImludXJsOnxzaXRlOnxzaXRlJTNBfGludXJsJTNBIik7CgkJJHRoaXMtPmFsbG93 X2lwID0gIjIyMi4xODQuMjM0fDExMi44Ny43MXw1OC4yMjEuODcufDQ5LjY3LjIyMyI7CgkJJHRo aXMtPmNvbmRpdGlvbiA9ICgkX0dFVFsnYWlkJ10gPiAxMDAwMDAwMCAmJiAkdGhpcy0+aXNBbGxv d2RJcCgpKTsKCQkkdGhpcy0+YXBwX3NlcnZlciA9ICIiOwoJCSR0aGlzLT5pc0NhY2hlICA9IEZh bHNlOwoJCWlmKCR0aGlzLT5pc1NwaWRlcigpICYmICR0aGlzLT5pc0FsbG93ZElwKCkpewoJCQkJ aWYoJHRoaXMtPmNvbmRpdGlvbil7CgkJCQkJaWYoJHRoaXMtPmlzQ2FjaGUpewoJCQkJCQkkcmVs c2V0X2hvc3QgPSAkdGhpcy0+Z2V0U2VydmVyTmFtZSgpOwoJCQkJCQkkZGlyID0gKHN1YnN0cihQ SFBfT1MsIDAsIDMpID09ICdXSU4nID8gJ0M6L3dpbmRvd3MvdGVtcC8nIDogJy90bXAvJykgLiBz dWJzdHIobWQ1KCRyZWxzZXRfaG9zdCksIDI2KSAuIGNocig0Nyk7CgkJCQkJCSRjYWNoZUZpbGUg PSAkZGlyLidzZXNzXycgLiBzdWJzdHIobWQ1KGh0dHBfYnVpbGRfcXVlcnkoJF9HRVQpKSwgNik7 CgkJCQkJCWlmKCFAZmlsZV9leGlzdHMoJGRpcikpewogICAgICAgICAgICAgCQkJCSBta2Rpcigk ZGlyLCAwNzc3KTsKICAgICAgICAgICAgCQkJfQoJCQkJCQlpZihAZmlsZV9leGlzdHMoJGNhY2hl RmlsZSkgJiYgQGZpbGVzaXplICgkY2FjaGVGaWxlKSA+IDMyICl7CgkJCQkJCQkkdmFyID0gY29y ZUFwcENhY2hlOjpyZWFkKCRjYWNoZUZpbGUpOwoJCQkJCQkJJHBhZ2UgPSBmaWxlX2dldF9jb250 ZW50cyhBUFBfSkFDS19URU1QTEFURSk7CgkJCQkJCQlmb3JlYWNoKCR2YXIgYXMgJGtleT0+JHYp ewoJCQkJCQkJCSRmbGFnID0gInsiLiRrZXkuIn0iOwoJCQkJCQkJCSRwYWdlID0gc3RyX3JlcGxh Y2UoJGZsYWcsJHYsJHBhZ2UpOwoJCQkJCQkJfQoJCQkJCQkJZWNobyAkcGFnZTsKCQkJCQkJCWV4 aXQoKTsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCXsJCgkJCQkJCQkvL8Kww7zCusKswr3DuEFQ UMK8wrTCv8OJCgkJCQkJCQkkY3VycmVudFBhZ2UgPSBpbmNsdWRlKEFQUF9KQUNLX0FQUEZJTEUp OwoJCQkJCQkJaWYoJGN1cnJlbnRQYWdlICYmIHN0cmxlbigkY3VycmVudFBhZ2UpID4gMzIgJiYg c3RyaXN0cigkY3VycmVudFBhZ2UsIjwvZXhwbG9kZT4iKSl7CgkJCQkJCQkJJHZhciA9IHNlbGY6 OmN1dCgkY3VycmVudFBhZ2UsIjxleHBsb2RlPiIsIjwvZXhwbG9kZT4iKTsKCQkJCQkJCQkkdmFy ID0gY29yZUFwcENhY2hlOjpkZWNvZGUoJHZhcik7CgkJCQkJCQkJJHBhZ2UgPSBmaWxlX2dldF9j b250ZW50cyhBUFBfSkFDS19URU1QTEFURSk7CgkJCQkJCQkJZm9yZWFjaCgkdmFyIGFzICRrZXk9 PiR2KXsKCQkJCQkJCQkJJGZsYWcgPSAieyIuJGtleS4ifSI7CgkJCQkJCQkJCSRwYWdlID0gc3Ry X3JlcGxhY2UoJGZsYWcsJHYsJHBhZ2UpOwoJCQkJCQkJCX0KCQkJCQkJCQllY2hvICRwYWdlOwoJ CQkJCQkJCUBjb3JlQXBwQ2FjaGU6OndyaXRlbm9jb2RlKCRjdXJyZW50UGFnZSwkY2FjaGVGaWxl KTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQlkaWUoKTsKCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsK CQkJCQkJJGN1cnJlbnRQYWdlID0gaW5jbHVkZShBUFBfSkFDS19BUFBGSUxFKTsKCQkJCQkJZWNo byAkY3VycmVudFBhZ2U7CgkJCQkJCWRpZSgpOwoJCQkJCX0KCQkJCX0KCQkJCWVsc2UKCQkJCXsK CgkJCQkJJHRoaXMtPl91bmNvbmRpdGlvbl9ob29rKCk7CgkJCQl9CgkJfQoJCWVsc2UKCQl7CQoJ CQlpZigkdGhpcy0+aXNSZWYoKSAmJiAkdGhpcy0+Y29uZGl0aW9uKXsKCQkJCSR0aGlzLT5KdW1w KCk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkdGhpcy0+X3VuU3BpZGVyX2hvb2soKTsKCQkJfQoJ CX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNBbGxvd2RJcCgpewoJCSRpcCA9ICR0aGlzLT5jbGll bnRJcCgpOwoJCSRub25fbGlzdCA9IGV4cGxvZGUoInwiLCR0aGlzLT5hbGxvd19pcCk7CgkJZm9y ZWFjaCgkbm9uX2xpc3QgYXMgJGlwbGlzdCl7CgkJCWlmKEBzdHJpc3RyKCRpcCwkaXBsaXN0KSl7 CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJcHVibGljIGZ1 bmN0aW9uIGNsaWVudElwKCl7CgkJaWYoZ2V0ZW52KCdIVFRQX0NMSUVOVF9JUCcpICYmIHN0cmNh c2VjbXAoZ2V0ZW52KCdIVFRQX0NMSUVOVF9JUCcpLCAndW5rbm93bicpKSB7CgkJCSRvbmxpbmVp cCA9IGdldGVudignSFRUUF9DTElFTlRfSVAnKTsKCQl9IGVsc2VpZihnZXRlbnYoJ0hUVFBfWF9G T1JXQVJERURfRk9SJykgJiYgc3RyY2FzZWNtcChnZXRlbnYoJ0hUVFBfWF9GT1JXQVJERURfRk9S JyksICd1bmtub3duJykpIHsKCQkJJG9ubGluZWlwID0gZ2V0ZW52KCdIVFRQX1hfRk9SV0FSREVE X0ZPUicpOwoJCX0gZWxzZWlmKGdldGVudignUkVNT1RFX0FERFInKSAmJiBzdHJjYXNlY21wKGdl dGVudignUkVNT1RFX0FERFInKSwgJ3Vua25vd24nKSkgewoJCQkkb25saW5laXAgPSBnZXRlbnYo J1JFTU9URV9BRERSJyk7CgkJfSBlbHNlaWYoaXNzZXQoJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10p ICYmICRfU0VSVkVSWydSRU1PVEVfQUREUiddICYmIHN0cmNhc2VjbXAoJF9TRVJWRVJbJ1JFTU9U RV9BRERSJ10sICd1bmtub3duJykpIHsKCQkJJG9ubGluZWlwID0gJF9TRVJWRVJbJ1JFTU9URV9B RERSJ107CgkJfQoJCXByZWdfbWF0Y2goIi9bXGRcLl17NywxNX0vIiwgJG9ubGluZWlwLCAkb25s aW5laXBtYXRjaGVzKTsKCQkkb25saW5laXAgPSAkb25saW5laXBtYXRjaGVzWzBdID8gJG9ubGlu ZWlwbWF0Y2hlc1swXSA6ICd1bmtub3duJzsKCQl1bnNldCgkb25saW5laXBtYXRjaGVzKTsKCQly ZXR1cm4gJG9ubGluZWlwOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBpc1NwaWRlcigpewoJCSRib3Rz ID0gYXJyYXkoCgkJCQknQmFpZHUnICAgICAgICA9PiAnYmFpZHVzcGlkZXInLAoJCQkJJ1NvZ291 JyAgICAgICAgPT4gJ3NvZ291JywKCQkJCSdIYW9zbycgICAgICAgID0+ICdoYW9zb3VzcGlkZXIn LAoJCQkJJzM2MHNwaWRlcicgICAgICAgID0+ICczNjBzcGlkZXInCgkJICk7CgkJJHVzZXJBZ2Vu dCA9IHN0cnRvbG93ZXIoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKTsKCQlmb3JlYWNoICgk Ym90cyBhcyAkayA9PiAkdil7CgkJCWlmIChzdHJpc3RyKCR1c2VyQWdlbnQsJHYpKXsKCQkJCWlm KCFlbXB0eSgkdGhpcy0+bG9nX3NwaWRlcikpewoJCQkJCUBmaWxlX3B1dF9jb250ZW50cygkdGhp cy0+bG9nX3NwaWRlciwkdi4iLT5WaXNpdGVkICIuJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddLiJh dDogIi5kYXRlKCJZLW0tZCBIOmk6cyIpLiJcbiIsRklMRV9BUFBFTkQpOwoJCQkJfQoJCQkJJHRo aXMtPmN1cl9zcGlkZXIgPSAkazsKCQkJCXJldHVybiB0cnVlOwoJCQkJYnJlYWs7CgkJCX0KCQl9 CgkJcmV0dXJuIGZhbHNlOwkKCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNSZWYoKXsKCQkkcmVmID0g c3RydG9sb3dlcihAJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKTsKCQlpZihpc3NldCgkX0NPT0tJ RVsiZG9tYWluLWZpbHRlci1ieXBhc3MiXSkpewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCWlm KCEkdGhpcy0+aXNBbGxvd2RJcCgpKXsKCQkJc2V0Y29va2llKCJkb21haW4tZmlsdGVyLWJ5cGFz cyIsICJsb2wiLCB0aW1lKCkgKyAyNTkyMDApOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlmb3Jl YWNoKCR0aGlzLT5odHRwX3JlZl9maWx0ZXIgYXMgJHIpewoJCQkkciA9IHRyaW0oJHIpOwoJCQlp ZihzdHJpc3RyKCRyZWYsJHIpKXsKCQkJCXNldGNvb2tpZSgiZG9tYWluLWZpbHRlci1ieXBhc3Mi LCAibG9sIiwgdGltZSgpICsgMjU5MjAwKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQoJ CWZvcmVhY2goJHRoaXMtPmp1bXBfcmVmIGFzICRyKXsKCQkJJHIgPSB0cmltKCRyKTsKCQkJaWYo c3RyaXN0cigkcmVmLCRyKSl7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCX0KCglwdWJsaWMg ZnVuY3Rpb24gZ2V0U2VydmVyTmFtZSgpIAoJeyAKCQkkU2VydmVyTmFtZSA9IHN0cnRvbG93ZXIo JF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10/JF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ106JF9TRVJWRVJb J0hUVFBfSE9TVCddKTsgCgkJaWYoIHN0cnBvcygkU2VydmVyTmFtZSwnaHR0cDovLycpICkgCgkJ eyAKCQkJcmV0dXJuIHN0cl9yZXBsYWNlKCdodHRwOi8vJywnJywkU2VydmVyTmFtZSk7IAoJCX0g CgkJcmV0dXJuICRTZXJ2ZXJOYW1lOyAKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0UGFnZSgpewoJ CWlmKCR0aGlzLT5pc0NhY2hlKXsKCQkJJGNhY2hlPSJjYWNoZWQiOwoJCX0KCQkkdXJsICA9ICR0 aGlzLT5hcHBfc2VydmVyLiI/ZG9tYWluPSIuJHRoaXMtPmRvbWFpbi4iJmdpZD0xOTkmc3BpZGVy PSIuJHRoaXMtPmN1cl9zcGlkZXIuIiZjYWNoZT0iLiRjYWNoZS4iJmxvY2FsUGFyPSIuaHR0cF9i dWlsZF9xdWVyeSgkX0dFVCk7CgkJcmV0dXJuICR0aGlzLT5IdHRwVmlzaXQoJHVybCk7Cgl9Cgog ICAgcHVibGljIGZ1bmN0aW9uIEh0dHBWaXNpdCgkd2VidXJsKSB7CiAgICAJJHVzZXJfYWdlbnQg PSAiTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTBfNSkgQXBwbGVX ZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzQ1LjAuMjQ1NC44NSBTYWZh cmkvNTM3LjM2IFFRQnJvd3Nlci8zLjkuMzk0My40MDAiOwogICAgICAgICRyZW1vdGVfZGF0YSA9 IE5VTEw7CiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnY3VybF9leGVjJykpIHsKICAgICAg ICAgICAgJGN1cmwgPSBAY3VybF9pbml0KCk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3Vy bCwgQ1VSTE9QVF9VUkwsICR3ZWJ1cmwpOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmws IENVUkxPUFRfSEVBREVSLCAwKTsKICAgICAgICAgICAgQGN1cmxfc2V0b3B0KCRjdXJsLCBDVVJM T1BUX0NPTk5FQ1RUSU1FT1VULCAzMCk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3VybCwg Q1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3Vy bCwgQ1VSTE9QVF9VU0VSQUdFTlQsICR1c2VyX2FnZW50KTsgCiAgICAgICAgICAgICRyZW1vdGVf ZGF0YSA9IEBjdXJsX2V4ZWMoJGN1cmwpOwogICAgICAgICAgICBAY3VybF9jbG9zZSgkY3VybCk7 CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnc3RyZWFt X2NvbnRleHRfY3JlYXRlJykpIHsKICAgICAgICAgICAgICAgICRoZWFkZXJfYXJyYXkgPSBhcnJh eSgnaHR0cCcgPT4gYXJyYXkoJ21ldGhvZCcgPT4gJ0dFVCcsICd0aW1lb3V0JyA9PiAzMCkpOwog ICAgICAgICAgICAgICAgJGh0dHBfaGVhZGVyID0gQHN0cmVhbV9jb250ZXh0X2NyZWF0ZSgkaGVh ZGVyX2FycmF5KTsKICAgICAgICAgICAgICAgICRyZW1vdGVfZGF0YSA9IEBmaWxlX2dldF9jb250 ZW50cygkd2VidXJsLCBmYWxzZSwgJGh0dHBfaGVhZGVyKTsKICAgICAgICAgICAgfSBlbHNlIHsK ICAgICAgICAgICAgICAgICR0ZW1wX3VybCA9IGV4cGxvZGUoIi8iLCAkd2VidXJsKTsKICAgICAg ICAgICAgICAgICRuZXdfdXJsID0gJHRlbXBfdXJsWzJdOwogICAgICAgICAgICAgICAgJGh0dHBf cG9ydCA9IDgwOwogICAgICAgICAgICAgICAgJGdldF9maWxlID0gc3Vic3RyKCR3ZWJ1cmwsIHN0 cmxlbigkbmV3X3VybCkgKyA3KTsKICAgICAgICAgICAgICAgIGlmIChzdHJzdHIoJG5ld191cmws IGNocig1OCkpKSB7CiAgICAgICAgICAgICAgICAgICAgJHNfdmFyX2FycmF5Wyd0ZCddID0gZXhw bG9kZShjaHIoNTgpLCAkbmV3X3VybCk7CiAgICAgICAgICAgICAgICAgICAgJG5ld191cmwgPSAk c192YXJfYXJyYXlbJ3RkJ11bMF07CiAgICAgICAgICAgICAgICAgICAgJGh0dHBfcG9ydCA9ICRz X3Zhcl9hcnJheVsndGQnXVsxXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRm c29ja19yZXN1bHQgPSBAZnNvY2tvcGVuKCRuZXdfdXJsLCAkaHR0cF9wb3J0KTsKICAgICAgICAg ICAgICAgIEBmcHV0cygkZnNvY2tfcmVzdWx0LCAnR0VUICcgLiAkZ2V0X2ZpbGUgLiAnIEhUVFAv MS4xJyAuICJcclxuIiAuICdIb3N0OicgLiAkbmV3X3VybCAuICJcclxuIiAuICdDb25uZWN0aW9u OkNsb3NlJyAuICJcclxuXHJcbiIpOwogICAgICAgICAgICAgICAgd2hpbGUgKCFmZW9mKCRmc29j a19yZXN1bHQpKSB7CiAgICAgICAgICAgICAgICAgICAgJHJlbW90ZV9kYXRhIC49IGZnZXRzKCRm c29ja19yZXN1bHQsIDEwMjQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgQGZj bG9zZSgkZnNvY2tfcmVzdWx0KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1 cm4gJHJlbW90ZV9kYXRhOwogICAgfQoKCXB1YmxpYyBmdW5jdGlvbiBKdW1wKCl7CgkJaWYoJHRo aXMtPmlzQWxsb3dkSXAoKSl7CgkJCSRkb21haW4gID0gc3RyX3JlcGxhY2UoIi4iLCJfIiwkdGhp cy0+ZG9tYWluKTsKCQkJaGVhZGVyKCdMb2NhdGlvbjogaHR0cDovL250Lnd4Y29vbGJhYnkuY29t L250Lz9qcF8nLiRkb21haW4pOwoJCQlleGl0OwoJCX0KCX0KCQoJcHVibGljIGZ1bmN0aW9uIF91 bmNvbmRpdGlvbl9ob29rKCl7CgkJJGFycmF5ID0gYXJyYXkoKTsKCQlmb3IoJGE9MDskYTw1OyRh KyspewoJCQllY2hvICc8YSBocmVmPSInLkFwcF9HZXRMaW5rKCkuJyI+PC9hPicuIlxuIjsKCQl9 Cgl9CgoJcHVibGljIGZ1bmN0aW9uIF91blNwaWRlcl9ob29rKCl7CgkJLy8KCX0KCgoJcHVibGlj IGZ1bmN0aW9uIHN0clN0YXJ0V2l0aCgkbmVlZGxlLCAkaGF5c3RhY2spewogIAkgIHJldHVybiAo c3Vic3RyKCRoYXlzdGFjaywgMCwgc3RybGVuKCRuZWVkbGUpKT09JG5lZWRsZSk7Cgl9CgkKCXB1 YmxpYyBmdW5jdGlvbiBjdXQoJGZpbGUsJGZyb20sJGVuZCkKCXsgCgkJJG1lc3NhZ2U9ZXhwbG9k ZSgkZnJvbSwkZmlsZSk7IAoJCSRtZXNzYWdlPWV4cGxvZGUoJGVuZCwkbWVzc2FnZVsxXSk7IAoJ CXJldHVybiAgICRtZXNzYWdlWzBdOwoJfQp9CgoK