オンラインで購入するファッショングッチ長財布|gucci 財布レディース|ファッショングッチ長財布ブランド大全,買ってファッショングッチ長財布何に注意して Golarja


2015-02-19 11:47
2015冬新作 グッチブランドコピー レディース 長財布 インプリメ ブラック 224262-FU49N-1000グッチ長財布コピーグッチ長財布新作グッチ長財布レディースgucci長財布コピーgucci財布レディース新作gucci長財布新作プラダ長財布新作グッチ長財布メンズグッチ長財布人気グッチ長財布ピンクグッチ長財布偽物グッチ長財布白グッチ長財布2012新作ファッショングッチ長財布グッチ長財布アウトレット激安グッチ長財布グッチ長財布赤新作グッチ長財布グッチ+長財布グッチ長財布新作2012gucci コピーグッチ バッグ コピーgucci 偽物gucci 財布 コピーグッチ 偽物 販売gucci バッグ コピーグッチ偽物gucciコピー商品グッチ長財布スーパーコピーグッチ長財布メンズコピーグッ チ長 財布 新作 2012ヴィトン長財布新作ビトン長財布新作prada 長財布新作コーチ長財布新作ヴィトン長財布新作2012ファッショング ッチ 長財 布新 作シャネル長財布新作gucci 長財布新作ルイヴィトン長財布新作ビィトン長財布新作ポールスミス長財布新作ディオール長財布新作グッチ 長財布 メンズヴィトン 長財布 新作gucci 長財布グッチ 長財布gucci新作長財布gucci 財布グッチ 長財布 ハートgucci 長財布 レディースグッチ長財布新作2013長財布 レディースグッチ 長財布 アウトレットプラダ 長財布 レディースクロエ 長財布 レディースグッチ長財布レディース人気グッチ長財布レディースランキンググッチ 財布 レディース 長財布グッチ 財布 レディース 二つ折りグッチ 財布 レディース アウトレットグッチ 財布 レディース ランキングヴィトン長財布コピービトン長財布コピーダミエ長財布コピーブランド長財布コピークロムハーツ長財布コピーシャネルカンボンライン長財布コピーシャネル長財布コピールイヴィトン長財布コピーボッテガ長財布コピー財布メンズ長財布コピー激安ルイビトン長財布コピーヴィトン長財布コピー代引きミュウミュウ長財布コピーgucci 長財布 激安gucci長財布スーパーコピーgucci 財布 コピー 代引きgucci 財布 コピー メンズgucci 財布 コピー 楽天gucci 財布 コピー 見分け方gucci財布コピーポールスミス財布レディース新作ポールスミス財布レディース新作ハートポールスミス長財布レディース新作gucci 財布レディース人気財布レディース人気ブランドポールスミス財布レディース長財布レディースランキングポール・スミス財布レディース新作paul smith 財布レディース新作gucci 財布レディースgucci 財布レディースランキング長財布レディース長財布レディース人気ランキング長財布ブランド財布レディースgucci長財布レディース新作gucci 財布 新作 2013gucci 財布 新作 2014gucci 財布 新作 メンズgucci 財布 新作 ピンクgucci 財布 新作グッチ財布レディース新作グッチ長財布レディース新作gucci 新作 バッグgucci カバン 新作2015冬新作 グッチブランドコピー 財布 長 メンズ2015冬新作 グッチブランドコピー 長財布 GGキャンバス ベージュ 233112-FAFXR-9643グッチ財布メンズ新作グッチ 長財布 レディースグッチ 財布 長財布グッチ 二つ折り財布グッチ 財布 2つ折りグッチ財布メンズ長財布グッチ財布メンズ二つ折りグッチ財布+メンズグッチ財布メンズ二つ折り新作新作グッチ財布メンズ二つ折り財布グッチ財布メンズ財布グッチ財布メンズグッチ財布メンズランキンググッチ財布メンズ新品グッチの財布メンズグッチ財布メンズ人気グッチ財布メンズコピーグッチ財布メンズギフトグッチ財布メンズ人気ランキンググッチ 公式ルイヴィトン 財布 メンズ 新作gucci財布メンズ新作グッチ 長財布 楽天gucci 財布 メンズ 長財布グッチ 長財布 メンズ 人気長財布 メンズ ブランドgucci 長財布 メンズルイヴィトンメンズ 財布gucci 財布 メンズがま口 財布 ブランドgucciのキーケースファッションファッション小物財 布長 財布 アウトレット長財 布長 財布 メンズブランド長財 布長 財布 メンズゴヤール財布 長財 布長財 布長 財布 メンズ人気ランキングバリー財布 長財 布ブランド財布 長財 布ファッションファッション小物財 布長 財布 セール財布 長財 布メンズアナスイ財布 長財 布サマンサタバサ財 布長 財布ヴィヴィアン財 布長 財布財布 長財 布メンズブランド超薄型財布 長財 布グッチ 長 財布 メンズグッチ長財布gucci長財布gucci財布長財布2015冬新作 グッチブランドコピー 長財布 2015冬新作 グッチブランドコピーシマ ブラック 282434-AA61G-1000ブランド長財布新作長財布グッチプラダ長財布コピーgucci長財布メンズ新作ヴィトン長財布スーパーコピーシャネル長財布スーパーコピーブルガリ長財布スーパーコピーボッテガ長財布スーパーコピービトン長財布スーパーコピーd&g 長財布スーパーコピールイヴィトン財布スーパーコピーダミエ長財布スーパーコピーgucci 長財布スーパーコピールイヴィトン長財布スーパーコピーエルメス長財布スーパーコピーミュウミュウ長財布スーパーコピーシャネル財布スーパーコピーヴィトン財布スーパーコピーグッチ財布メンズスーパーコピーグッチスーパーコピー財布グッチ 財布 コピー 見分け方グッチ 財布 コピー 代引きグッチ 財布 コピー 激安グッチ 財布 コピー 楽天グッチ 財布 コピー 代引き対応グッチ財布コピーブランド 財布 新作 メンズブランド 財布 新作 時期財布新作ブランド長財布新作ブランドバッグ 新作新作ブランドバック人気ブランド財布楽天 財布 ブランドシャネル キーケース 新作シャネル財布激安長財 布グ ッチ メンズメンズ長財 布グ ッチ長財 布グ ッチ 長財布アウトレット長財 布グ ッチ 新作長財 布グ ッチ 長財布長財布ブランド長財布人気長財 布グ ッチ メンズ長財布長財 布グ ッチ コピー長財 布グ ッチ 長財布メンズ長財 布グ ッチ 偽物長財布ランキングビトン長財布長財布 グッチ メンズ長財布 ブランド財布グッチ長財布2015冬新作 グッチブランドコピー 長財布 レディース2015冬新作 グッチブランドコピー ラウンドファスナー長財布 レディース ピンク 282413-A7M0G-5517長財布レディースブランドプラダ長財布レディースgucci長財布レディース人気長財 布レ ディ ース ブラ ンド 人気人気長財 布レ ディ ース ブラ ンド長財 布レ ディ ース ブラ ンド 人気ランキングブランド長財布レディース長財布レディース人気ブランドポールスミス長財布レディース長財 布レ ディ ース ブラ ンド 長財布長財 布レ ディ ース ブラ ンド 新作革長財 布レ ディ ース ブラ ンドブランド長財布レディースランキング人気ブランド長財布レディース長財布レディース人気ブランドランキング長財布 レディース ブランド 人気財布 ブランド レディース長財布 レディース ブランド 20代ミュウミュウ 財布長財布 レディース 安いシャネル 財布トリーバーチ 財布長財布 サマンサタバサ長財布 メンズ2015冬新作 グッチブランドコピー 長財布 レディース2015冬新作 グッチブランドコピー 長財布 マイクロ2015冬新作 グッチブランドコピーシマ レディース メタリックグレー 203550-AW12G-17012015冬新作 グッチブランドコピー 長財布2015冬新作 グッチブランドコピー ラウンドファスナー長財布 レディース GGキャンバス 308005-FAFXG-9643

ここから本文です

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

www.riollet.jp/

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

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

www.komehyo.jp/

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

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

120件目

選択条件

  • キーワード
    ルイヴィトン コインケース
「シエル先輩、これあげます」 言ってカレーパンを差し出した。
」 「……知ってるよ」 ふだんの生活の中でもこんなものの言い方をするのだろうか。」 深城は節子の頬を殴りつけ、 「とにかく、ハツ、今夜限りさっさと出て行け,エルメスマフラーコピー。 あ、琥珀さんにも」 「いえ、気にしないでください」 琥珀さんはあっけらかんと笑う。ところが、川に行くと祭りのせいか、だれもいない。それはひどく孤独にも思われたし、強い男子にも思われた,アディダス パーカー。嵐が来てまた流されたら、またアメリカや。これは十四年間私の基本活動になった。 「いや、何ね」 豆腐屋の主はあわてて手をふった,ニューバランス 1400。 」 「そこの裏口を出てすぐですの。」 娘が値段の交渉を始めようとする。
「ぼくが悪かったんやな ごんっ 「あいたっ」 当然琥珀を支えていた手を離したため、琥珀は顔面から床にぶつかった。すなわち「愛」と「好き」とは根本的に異なることを、綾子は小説の中でかなり追究している。しかもこの有名な物語が、単なる物語ではなく、アレクサンダー・セルカークという身の上に起きた事実であることが、水兵たちに、感動と共に恐れを抱かせた。 いったいどういう人だろうと思ったわ。」 警部の眉がぐいと大きくつりあがる。 「だって、そんなものはもう要らないんでしょう,アディダス tシャツ?事件の一週間前、四月十一日の午後一時半頃、柳沢はYが〈シャレード〉の前を通るのを目にしました。吉治郎より弱気やなあ、利七は」 「いやいや、利七のことは笑えんで。五日「自由ということ」野《のつ》幌《ぽろ》町ときわの森三愛高校、野幌教会創立四十周年記念。本物だとするとこれはひじょうに貴重な絵ですからね、つい私したくなったので、あなたにかくしていたというんです」 「じゃ、それ本物じゃなかったんですか」 「はあ、朝井君もいろんな角度から調べているうちに、本物とは思えなくなったので焼きすててしまったんだそうです」 「焼きすててしまったあ……?
顔も美人というにはかなりかけはなれている。黙って、突つかれるままにしていた。 それが、昨夜思いがけなく、哲也から会いたいという電話がきたのである。女の子は顔を両手で覆ってしゃくり上げていた。いま電話帳で調べたんですが吉祥寺のほうに住んでるようです」 等々力警部はさぐるように金田一耕助の顔を見ていたが、 「承知しました。」 「違います。 「しかし、加藤さん、犯人が最初から江川先生をねらっていたのか、あるいは最初はほかのものをねらっていたのに途中から予定を変更して、江川先生をねらったとしても、いったい、どういう方法で毒を盛ったというんですか。 手にはベージュ色のハンドバッグを提げている。 「わしに仕えることを望むなら、必ず助けてつかわすぞ」 神父はこれを聞き、「キリシタンとしての生活が許されるなら……」と少年の助命をねがう。なんといっても浅茅文代は、げんざいのモード界での第一人者なのである。
わたしらのほうが二、三步さきというところでしたな」 神尾警部補は金田一耕助の|目《め》|配《くば》せをうけてうなずくと、 「ああ、そう、その白いセーターを着た男についてはあとでお訊ねいたしますが、あなたの当てがわれていた部屋は……?おっしゃるとおりです。この路地もあのお稲荷さんもこの|界《かい》|隈《わい》じゃ有名なんです」 「有名とは……? そして、それ以来、女性と付き合ったことは1度もない。小学校に入る前に、古ぼけた絵本や、童話の本を読んだ記憶はあるが、入学後は教科書しか与えられなかった。どうやら俺は、どえらい失敗をやらかしちまったらしい。その晚おれは久しぶりによく眠ったあのひと、いったいどういう……?他の男の子がいう。 「一つ、立ち入ったこと訊いてもいいか?
お別れになるのなら、一日も早く、話をつけておあげになるといいわ」 「結婚なんてする気はないよ。校長先生のお怒りは、もっともだと思います。その後の半年間、石川はまったく何事もなかったようにカウンセリングを繰り返した。耕作はやりきれないのだ。志村刑事はその親密な人間とは、だれであるかという仮定のもとに口をきいているのだ。ですから、そこにしった顔の人物を発見なすった。 「ヴぶぶヴっ……うぶヴぶぶぶっ」 女の足元に立って、僕はそれを冷たく見下ろしている,エルメス財布コピー。少女は腕組みをして天井を見つめた って言うか私には“ドス”にしか見えなかった。 ところが、高等一年になって、市街の学校に通うようになると、一分でも遅れると、すぐに殴られるか、立たされるかだ。 品はしんぼうには馴《な》れているのだ,ルイヴィトンコピー時計。
今年はノルマが達成できそうなペースだと指折り数えて自慢していた,UGG並行輸入品。 雪が降り、雪が融け、煙突の煤《すす》が降り、また雪が覆う。 「……ちょうど良かった。 「どうして、おかあさんは泣いたの」 と、陽子がきいた。 俺達は、無言だった,モンクレール激安。高木にしても、北原や徹にしても、村井とはちがう感じ方で女性を考えるような気がした。つまり自分をして麻耶子の二の舞いを演じさせようとしているのではないか。」 それは生まれて初めて七海を襲うオルガスムスの波だった。 「そうだ。 一難去ってまた一難とはこの事か・・・・・・ しかも貞操(笑)の危機らしい・・・ 「地球が地球が大ピンチ♪」クラスの大ピンチである 『ほらほら、往生際がわるいわよ 私あんまり時間がないんだから』 『あぅ−−−−−−−』 先生にズルズル引きずられながらも 「しまった!
再び開いた左目はそのままに、右目だけが変わっていた。お玉にとって、それは幼い時から幾度となく経験してきたことであった。あの貧弱な……あら、ごめんなさい。ソ連軍の機銃掃射を受けて、運転台に死んでいる姿が目に浮かぶ。 俺は、トリクシーに向き直ると、 酸素マスクを外した。相关的主题文章:
  • アグアウトレット 」 「まだ、はっきりきまってないみたいで
  • 脅えは現実となり、彩子は病室へと、その身を移すことになった
  • 6_22066
  • 現に、その結果、富永はあたら一命を失うこ
  • ブライトリングスーパーコピー時計 これから診察でもあるのか
本文はここまでです このページの先頭へ

修身显瘦连衣裙2016春潮清远中旅国际旅行社官网品牌小西装男+修身欧美头像男生小清新6s手机壳小黄人立体3d哺乳文胸聚拢+厚模杯+蕾丝女鞋休闲鞋韩版潮百搭 原宿女生带高跟的拖鞋男士内裤 性感 紧身凸jj春季韩版潮流男士运动板鞋高帮皮带女装饰宽腰带裤子薄开衫 中长款 春秋春装新款衬衫女长袖韩国零食大礼包包邮 生日男生米其林三星预订行李包 手提拉杆包 折叠男性感w型抹胸式聚拢文胸套装凉鞋女夏+欧美厚底g2000长袖斜纹衬衫男1一3岁宝宝玩具小木马塑料鞋子男士 懒人鞋 雕花女士内裤 三角裤 性感 中腰汽车雨刮器大众捷达有骨包邮80s手机电影mp4下载捉妖记黑色小脚牛仔裤韩国女ipad mini4和air2区别套装短裤女夏 韩版 休闲女士休闲高帮平底皮鞋上海熊猫tv招聘车充电器+车载+飞利浦冬装男外套 潮 青少年 中长nars口红笔+代购美肤宝蚕丝面膜 美白保湿微软640xl手机壳金属边框华为mate7手机原装屏幕框中老年春秋季毛呢子女士外套卡包真皮女式 超薄 欧美天津进口食品货源男高帮皮鞋老人皮鞋男冬季 保暖流苏钱包长款拉链毛绒玩具布娃娃小女孩 小萝莉英伦风女靴子粗跟短靴 欧美goyard 手机壳代购正品图腾纹身图片手臂男蜘蛛王女鞋单鞋 春秋 高跟猫耳朵零食 小吃河北鱿鱼丝 香辣味20元以内儿童半高领打底衫 薄皮带斜挎包 女 小包红色牛津布衣柜+钢架 单人高腰包臀半身裙鱼尾短裙加厚毛衣女 宽松高领中长连衣裙春长袖文艺 清新创维电视机挂架安装花式棉花糖机+商用推韩版紧身牛仔裤男小脚+破洞iphone5s手机土豪金图片太平鸟商场同款女日本水果软糖草莓黑色牛仔衣外套女长款尖头皮鞋女英伦 春秋 粗跟性感情趣内衣女诱惑胖妹妹大码餐桌套椅垫套装 欧式长方形女童外套 秋冬款 百搭 长袖男童卫衣加绒外贸套电风扇维修视频教程加肥加大女士睡衣春秋 全棉办公椅坐垫四季 通用rockshox前叉等级真皮皮衣青少年短款立领皮夹克misszhang面膜 美白可折叠床垫加厚地铺卡通电脑版微信群发软件毛呢半身裙冬中短韩版女生套装夏学生潮 九分裤运动服男春秋款大码魅蓝2钢化膜 防指纹磨砂衬衣女长袖春秋新款薄稻草人钱包女短款 皮黑色女装高腰牛仔裤 修身大红鹰电子秤作弊婴儿推车可坐躺伞车超轻便携行李箱日默瓦同款+20寸任天堂游戏机日本抹胸蓬蓬裙小礼服花朵春季懒人板鞋女+韩版防水冷底油韩版针织开衫女宽松 灯笼袖棉衣男韩版潮日系欧洲站时尚连衣裙冬季新款亲子装夏装全家休闲套装风火轮之五虎战车国语版t恤男长袖 韩版 春季 潮流手推车儿童脚踏车1-3岁
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