Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Feb 2012 09:40:09 GMT
From:      Rusty Nejdl <rnejdl@ringofsaturn.com>
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/163948: Python incompatibility on ports: deskutils/calibre
Message-ID:  <201202070940.q179e9Lr097534@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/163948; it has been noted by GNATS.

From: Rusty Nejdl <rnejdl@ringofsaturn.com>
To: <bug-followup@freebsd.org>, <kevin.mcaleavey@knosproject.com>
Cc:  
Subject: Re: ports/163948: Python incompatibility on ports: deskutils/calibre
Date: Tue, 07 Feb 2012 03:39:20 -0600

 --=_78dda784d221cdc06ad170d4fe3645dd
 Content-Transfer-Encoding: 7bit
 Content-Type: text/plain; charset=UTF-8;
  format=flowed
 
 (I couldn't sleep.)
 
 Here's the fix and I'll submit a PR to have this updated.
 
 Rusty Nejdl
 --=_78dda784d221cdc06ad170d4fe3645dd
 Content-Transfer-Encoding: base64
 Content-Type: application/octet-stream;
  name=patch-calibre-0.8.38
 Content-Disposition: attachment;
  filename=patch-calibre-0.8.38
 
 ZGlmZiAtcnVOIGNhbGlicmUvTWFrZWZpbGUgY2FsaWJyZS5uZXcvTWFrZWZpbGUKLS0tIGNhbGli
 cmUvTWFrZWZpbGUJMjAxMi0wMi0wNCAxOTowOTo0OS4wMDAwMDAwMDAgLTA2MDAKKysrIGNhbGli
 cmUubmV3L01ha2VmaWxlCTIwMTItMDItMDcgMDM6MzE6MzQuMDAwMDAwMDAwIC0wNjAwCkBAIC02
 LDcgKzYsNyBAQAogIwogCiBQT1JUTkFNRT0JY2FsaWJyZQotUE9SVFZFUlNJT049CTAuOC4zNwor
 UE9SVFZFUlNJT049CTAuOC4zOAogQ0FURUdPUklFUz0JZGVza3V0aWxzIHB5dGhvbgogTUFTVEVS
 X1NJVEVTPQlTRi8ke1BPUlROQU1FfS8ke1BPUlRWRVJTSU9OfS8KIApkaWZmIC1ydU4gY2FsaWJy
 ZS9kaXN0aW5mbyBjYWxpYnJlLm5ldy9kaXN0aW5mbwotLS0gY2FsaWJyZS9kaXN0aW5mbwkyMDEy
 LTAyLTA0IDE5OjA5OjQ5LjAwMDAwMDAwMCAtMDYwMAorKysgY2FsaWJyZS5uZXcvZGlzdGluZm8J
 MjAxMi0wMi0wNyAwMzozMjo1NS4wMDAwMDAwMDAgLTA2MDAKQEAgLTEsMiArMSwyIEBACi1TSEEy
 NTYgKGNhbGlicmUtMC44LjM3LnRhci54eikgPSBlZWRkZTgxMjRmMGU2ODhkODI2ZGUwMDEzZGFi
 ZjJmMTZmZjVmYTA2MjFkZjg5ZjA4OTdmZDM4NDhiYzhkNTlkCi1TSVpFIChjYWxpYnJlLTAuOC4z
 Ny50YXIueHopID0gMjM2MTQ3NDAKK1NIQTI1NiAoY2FsaWJyZS0wLjguMzgudGFyLnh6KSA9IDYz
 MTc2ZGM1Y2IxNGZiMmY1YTJjNDUxOTY5MDRiOTc4ODEwNmQ2YjBjNmQ5OTc2ZDQ1YjRhN2ZlYzEw
 ZTNiOTkKK1NJWkUgKGNhbGlicmUtMC44LjM4LnRhci54eikgPSAyMzY4MDkxNgpkaWZmIC1ydU4g
 Y2FsaWJyZS9maWxlcy9wYXRjaC1zZXR1cF9pbnN0YWxsLnB5IGNhbGlicmUubmV3L2ZpbGVzL3Bh
 dGNoLXNldHVwX2luc3RhbGwucHkKLS0tIGNhbGlicmUvZmlsZXMvcGF0Y2gtc2V0dXBfaW5zdGFs
 bC5weQkyMDExLTA2LTE5IDEzOjA4OjA5LjAwMDAwMDAwMCAtMDUwMAorKysgY2FsaWJyZS5uZXcv
 ZmlsZXMvcGF0Y2gtc2V0dXBfaW5zdGFsbC5weQkyMDEyLTAyLTA3IDAzOjMxOjQ2LjAwMDAwMDAw
 MCAtMDYwMApAQCAtNSw3ICs1LDcgQEAKICAKICBIRUFERVIgPSAnJydcCiAtIyEvdXNyL2Jpbi9l
 bnYgcHl0aG9uMgotKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorKyMhL3Vzci9iaW4vZW52IHB5dGhv
 bjI3CiAgCiAgIiIiCiAgVGhpcyBpcyB0aGUgc3RhbmRhcmQgcnVuc2NyaXB0IGZvciBhbGwgb2Yg
 Y2FsaWJyZSdzIHRvb2xzLgpkaWZmIC1ydU4gY2FsaWJyZS9maWxlcy9wYXRjaC1zcmNfY2FsaWJy
 ZV9kZXZpY2VzX3NjYW5uZXIucHkgY2FsaWJyZS5uZXcvZmlsZXMvcGF0Y2gtc3JjX2NhbGlicmVf
 ZGV2aWNlc19zY2FubmVyLnB5Ci0tLSBjYWxpYnJlL2ZpbGVzL3BhdGNoLXNyY19jYWxpYnJlX2Rl
 dmljZXNfc2Nhbm5lci5weQkyMDEyLTAxLTIxIDE1OjE5OjM4LjAwMDAwMDAwMCAtMDYwMAorKysg
 Y2FsaWJyZS5uZXcvZmlsZXMvcGF0Y2gtc3JjX2NhbGlicmVfZGV2aWNlc19zY2FubmVyLnB5CTE5
 NjktMTItMzEgMTg6MDA6MDAuMDAwMDAwMDAwIC0wNjAwCkBAIC0xLDkzICswLDAgQEAKLS0tLSBz
 cmMvY2FsaWJyZS9kZXZpY2VzL3NjYW5uZXIucHkub3JpZwkyMDExLTExLTExIDIwOjIyOjM0LjAw
 MDAwMDAwMCAtMDgwMAotKysrIHNyYy9jYWxpYnJlL2RldmljZXMvc2Nhbm5lci5weQkyMDExLTEy
 LTMwIDE2OjMyOjMyLjAwMDAwMDAwMCAtMDgwMAotQEAgLTgsNyArOCw3IEBACi0gaW1wb3J0IHN5
 cywgb3MsIHJlCi0gZnJvbSB0aHJlYWRpbmcgaW1wb3J0IFJMb2NrCi0gCi0tZnJvbSBjYWxpYnJl
 LmNvbnN0YW50cyBpbXBvcnQgaXN3aW5kb3dzLCBpc29zeCwgcGx1Z2lucywgaXNsaW51eAotK2Zy
 b20gY2FsaWJyZS5jb25zdGFudHMgaW1wb3J0IGlzd2luZG93cywgaXNvc3gsIHBsdWdpbnMsIGlz
 bGludXgsIGlzZnJlZWJzZAotIAotIG9zeF9zY2FubmVyID0gd2luX3NjYW5uZXIgPSBsaW51eF9z
 Y2FubmVyID0gTm9uZQotIAotQEAgLTE1NSwxNyArMTU1LDgwIEBACi0gICAgICAgICAgICAgYW5z
 LmFkZCh0dXBsZShkZXYpKQotICAgICAgICAgcmV0dXJuIGFucwotIAotK2NsYXNzIEZyZWVCU0RT
 Y2FubmVyKG9iamVjdCk6Ci0rCi0rICAgIGRlZiBfX2NhbGxfXyhzZWxmKToKLSsgICAgICAgIGFu
 cyA9IHNldChbXSkKLSsgICAgICAgIGltcG9ydCBkYnVzCi0rICAgICAgICBkZXZzID0gW10KLSsK
 LSsgICAgICAgIHRyeToKLSsgICAgICAgICAgIGJ1cyA9IGRidXMuU3lzdGVtQnVzKCkKLSsgICAg
 ICAgICAgIG1hbmFnZXIgPSBkYnVzLkludGVyZmFjZShidXMuZ2V0X29iamVjdCgnb3JnLmZyZWVk
 ZXNrdG9wLkhhbCcsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICcvb3JnL2ZyZWVkZXNrdG9w
 L0hhbC9NYW5hZ2VyJyksICdvcmcuZnJlZWRlc2t0b3AuSGFsLk1hbmFnZXInKQotKyAgICAgICAg
 ICAgcGF0aHMgPSBtYW5hZ2VyLkZpbmREZXZpY2VTdHJpbmdNYXRjaCgnZnJlZWJzZC5kcml2ZXIn
 LCdkYScpCi0rICAgICAgICAgICBmb3IgcGF0aCBpbiBwYXRoczoKLSsgICAgICAgICAgICAgIG9i
 aiA9IGJ1cy5nZXRfb2JqZWN0KCdvcmcuZnJlZWRlc2t0b3AuSGFsJywgcGF0aCkKLSsgICAgICAg
 ICAgICAgIG9iamlmID0gZGJ1cy5JbnRlcmZhY2Uob2JqLCAnb3JnLmZyZWVkZXNrdG9wLkhhbC5E
 ZXZpY2UnKQotKyAgICAgICAgICAgICAgZGV2aWYgPSBvYmppZgotKyAgICAgICAgICAgICAgcGFy
 ZW50ZHJpdmVyID0gTm9uZQotKyAgICAgICAgICAgICAgd2hpbGUgcGFyZW50ZHJpdmVyICE9ICd1
 bWFzcyc6Ci0rICAgICAgICAgICAgICAgICB0cnk6Ci0rICAgICAgICAgICAgICAgICAgICBvYmog
 PSBidXMuZ2V0X29iamVjdCgnb3JnLmZyZWVkZXNrdG9wLkhhbCcsCi0rICAgICAgICAgICAgICAg
 ICAgICAgICAgICBvYmppZi5HZXRQcm9wZXJ0eSgnaW5mby5wYXJlbnQnKSkKLSsgICAgICAgICAg
 ICAgICAgICAgIG9iamlmID0gZGJ1cy5JbnRlcmZhY2Uob2JqLCAnb3JnLmZyZWVkZXNrdG9wLkhh
 bC5EZXZpY2UnKQotKyAgICAgICAgICAgICAgICAgICAgdHJ5OgotKyAgICAgICAgICAgICAgICAg
 ICAgICAgcGFyZW50ZHJpdmVyID0gb2JqaWYuR2V0UHJvcGVydHkoJ2ZyZWVic2QuZHJpdmVyJykK
 LSsgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBkYnVzLmV4Y2VwdGlvbnMuREJ1c0V4Y2VwdGlv
 biwgZToKLSsgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0rICAgICAgICAgICAgICAg
 ICBleGNlcHQgZGJ1cy5leGNlcHRpb25zLkRCdXNFeGNlcHRpb24sIGU6Ci0rICAgICAgICAgICAg
 ICAgICAgICBicmVhawotKyAgICAgICAgICAgICAgaWYgcGFyZW50ZHJpdmVyICE9ICd1bWFzcyc6
 Ci0rICAgICAgICAgICAgICAgICAgY29udGludWUKLSsgICAgICAgICAgICAgIGRldiA9IFtdCi0r
 ICAgICAgICAgICAgICB0cnk6Ci0rICAgICAgICAgICAgICAgICBkZXYuYXBwZW5kKG9iamlmLkdl
 dFByb3BlcnR5KCd1c2IudmVuZG9yX2lkJykpCi0rICAgICAgICAgICAgICAgICBkZXYuYXBwZW5k
 KG9iamlmLkdldFByb3BlcnR5KCd1c2IucHJvZHVjdF9pZCcpKQotKyAgICAgICAgICAgICAgICAg
 ZGV2LmFwcGVuZChvYmppZi5HZXRQcm9wZXJ0eSgndXNiLmRldmljZV9yZXZpc2lvbl9iY2QnKSkK
 LSsgICAgICAgICAgICAgIGV4Y2VwdCBkYnVzLmV4Y2VwdGlvbnMuREJ1c0V4Y2VwdGlvbiwgZToK
 LSsgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0rICAgICAgICAgICAgICB0cnk6Ci0rICAgICAg
 ICAgICAgICAgICBkZXYuYXBwZW5kKG9iamlmLkdldFByb3BlcnR5KCdpbmZvLnZlbmRvcicpKQot
 KyAgICAgICAgICAgICAgZXhjZXB0OgotKyAgICAgICAgICAgICAgICAgZGV2LmFwcGVuZCgnJykK
 LSsgICAgICAgICAgICAgIHRyeToKLSsgICAgICAgICAgICAgICAgIGRldi5hcHBlbmQob2JqaWYu
 R2V0UHJvcGVydHkoJ2luZm8ucHJvZHVjdCcpKQotKyAgICAgICAgICAgICAgZXhjZXB0OgotKyAg
 ICAgICAgICAgICAgICAgZGV2LmFwcGVuZCgnJykKLSsgICAgICAgICAgICAgIHRyeToKLSsgICAg
 ICAgICAgICAgICAgIGRldi5hcHBlbmQob2JqaWYuR2V0UHJvcGVydHkoJ3VzYi5zZXJpYWwnKSkK
 LSsgICAgICAgICAgICAgIGV4Y2VwdDoKLSsgICAgICAgICAgICAgICAgIGRldi5hcHBlbmQoJycp
 Ci0rICAgICAgICAgICAgICBkZXYuYXBwZW5kKHBhdGgpCi0rICAgICAgICAgICAgICBhbnMuYWRk
 KHR1cGxlKGRldikpCi0rICAgICAgICBleGNlcHQgZGJ1cy5leGNlcHRpb25zLkRCdXNFeGNlcHRp
 b24sIGU6Ci0rICAgICAgICAgICBwcmludCA+PnN5cy5zdGRlcnIsICJFeGVjdXRpb24gZmFpbGVk
 OiIsIGUKLSsgICAgICAgIHJldHVybiBhbnMKLSsKLSsKLSsKLSBsaW51eF9zY2FubmVyID0gTm9u
 ZQotIAotIGlmIGlzbGludXg6Ci0gICAgIGxpbnV4X3NjYW5uZXIgPSBMaW51eFNjYW5uZXIoKQot
 IAotK2ZyZWVic2Rfc2Nhbm5lciA9IE5vbmUKLSsKLStpZiBpc2ZyZWVic2Q6Ci0rICAgIGZyZWVi
 c2Rfc2Nhbm5lciA9IEZyZWVCU0RTY2FubmVyKCkKLSsKLSsKLSBjbGFzcyBEZXZpY2VTY2FubmVy
 KG9iamVjdCk6Ci0gCi0gICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncyk6Ci0gICAgICAgICBp
 ZiBpc29zeCBhbmQgb3N4X3NjYW5uZXIgaXMgTm9uZToKLSAgICAgICAgICAgICByYWlzZSBSdW50
 aW1lRXJyb3IoJ1RoZSBQeXRob24gZXh0ZW5zaW9uIHVzYm9ic2VydmVyIG11c3QgYmUgYXZhaWxh
 YmxlIG9uIE9TIFguJykKLS0gICAgICAgIHNlbGYuc2Nhbm5lciA9IHdpbl9zY2FubmVyIGlmIGlz
 d2luZG93cyBlbHNlIG9zeF9zY2FubmVyIGlmIGlzb3N4IGVsc2UgbGludXhfc2Nhbm5lcgotKyAg
 ICAgICAgc2VsZi5zY2FubmVyID0gd2luX3NjYW5uZXIgaWYgaXN3aW5kb3dzIGVsc2Ugb3N4X3Nj
 YW5uZXIgaWYgaXNvc3ggZWxzZSBmcmVlYnNkX3NjYW5uZXIgaWYgaXNmcmVlYnNkIGVsc2UgbGlu
 dXhfc2Nhbm5lcgotICAgICAgICAgc2VsZi5kZXZpY2VzID0gW10KLSAKLSAgICAgZGVmIHNjYW4o
 c2VsZik6CmRpZmYgLXJ1TiBjYWxpYnJlL2ZpbGVzL3BhdGNoLXNyY19jYWxpYnJlX2RldmljZXNf
 dXNibXNfZGV2aWNlLnB5IGNhbGlicmUubmV3L2ZpbGVzL3BhdGNoLXNyY19jYWxpYnJlX2Rldmlj
 ZXNfdXNibXNfZGV2aWNlLnB5Ci0tLSBjYWxpYnJlL2ZpbGVzL3BhdGNoLXNyY19jYWxpYnJlX2Rl
 dmljZXNfdXNibXNfZGV2aWNlLnB5CTIwMTItMDEtMjEgMTM6NDg6MDYuMDAwMDAwMDAwIC0wNjAw
 CisrKyBjYWxpYnJlLm5ldy9maWxlcy9wYXRjaC1zcmNfY2FsaWJyZV9kZXZpY2VzX3VzYm1zX2Rl
 dmljZS5weQkxOTY5LTEyLTMxIDE4OjAwOjAwLjAwMDAwMDAwMCAtMDYwMApAQCAtMSwyOTkgKzAs
 MCBAQAotLS0tIHNyYy9jYWxpYnJlL2RldmljZXMvdXNibXMvZGV2aWNlLnB5Lm9yaWcJMjAxMS0x
 Mi0yOSAyMDowMDozOC4wMDAwMDAwMDAgLTA4MDAKLSsrKyBzcmMvY2FsaWJyZS9kZXZpY2VzL3Vz
 Ym1zL2RldmljZS5weQkyMDEyLTAxLTAxIDE0OjA5OjAwLjAwMDAwMDAwMCAtMDgwMAotQEAgLTY5
 NywxOSArNjk3LDIxIEBACi0gICAgICAgICAgICAgc2VsZi5fY2FyZF9hX3ByZWZpeCA9IHNlbGYu
 X2NhcmRfYl9wcmVmaXgKLSAgICAgICAgICAgICBzZWxmLl9jYXJkX2JfcHJlZml4ID0gTm9uZQot
 IAotKwotICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
 LS0tLS0tCi0gIwotICMgIG9wZW4gZm9yIEZyZWVCU0QKLS0jICAgZmluZCB0aGUgZGV2aWNlIG5v
 ZGUgb3Igbm9kZXMgdGhhdCBtYXRjaCB0aGUgUy9OIHdlIGFscmVhZHkgaGF2ZSBmcm9tIHRoZSBz
 Y2FubmVyCi0tIyAgIGFuZCBhdHRlbXB0IHRvIG1vdW50IGVhY2ggb25lCi0tIyAgICAgICAxLiAg
 Z2V0IGxpc3Qgb2YgZGlzayBkZXZpY2VzIGZyb20gc3lzY3RsCi0tIyAgICAgICAyLiAgY29tcGFy
 ZSB0aGF0IGxpc3Qgd2l0aCB0aGUgb25lIGZyb20gY2FtY29udHJvbAotLSMgICAgICAgMy4gIGFu
 ZCBzZWUgaWYgaXQgaGFzIGEgbWF0Y2hpbmcgcy9uCi0tIyAgICAgICA2LiAgZmluZCBhbnkgcGFy
 dGl0aW9ucy9zbGljZXMgYXNzb2NpYXRlZCB3aXRoIGVhY2ggbm9kZQotLSMgICAgICAgNy4gIGF0
 dGVtcHQgdG8gbW91bnQsIHVzaW5nIGNhbGlicmUtbW91bnQtaGVscGVyLCBlYWNoIG9uZQotLSMg
 ICAgICAgOC4gIHdoZW4gZmluaXNoZWQsIHdlIGhhdmUgYSBsaXN0IG9mIG1vdW50IHBvaW50cyBh
 bmQgYXNzb2NpYXRlZCBkZXZpY2Ugbm9kZXMKLSsjICAgICAgZmluZCB0aGUgZGV2aWNlIG5vZGUg
 b3Igbm9kZXMgdGhhdCBtYXRjaCB0aGUgUy9OIHdlIGFscmVhZHkgaGF2ZSBmcm9tIHRoZSBzY2Fu
 bmVyCi0rIyAgICAgIGFuZCBhdHRlbXB0IHRvIG1vdW50IGVhY2ggb25lCi0rIyAgICAgICAgICAg
 ICAgMS4gIGdldCBsaXN0IG9mIGRldmljZXMgaW4gL2RldiB3aXRoIG1hdGNoaW5nIHMvbiBldGMu
 Ci0rIyAgICAgICAgICAgICAgMi4gIGdldCBsaXN0IG9mIHZvbHVtZXMgYXNzb2NpYXRlZCB3aXRo
 IGVhY2gKLSsjICAgICAgICAgICAgICAzLiAgYXR0ZW1wdCB0byBtb3VudCBlYWNoIG9uZSB1c2lu
 ZyBIYWwKLSsjICAgICAgICAgICAgICA0LiAgd2hlbiBmaW5pc2hlZCwgd2UgaGF2ZSBhIGxpc3Qg
 b2YgbW91bnQgcG9pbnRzIGFuZCBhc3NvY2lhdGVkIGRidXMgbm9kZXMKLSAjCi0gICAgIGRlZiBv
 cGVuX2ZyZWVic2Qoc2VsZik6Ci0rICAgICAgICBpbXBvcnQgZGJ1cwotKyAgICAgICAgIyBUaGVy
 ZSBzaG91bGQgYmUgc29tZSB3YXkgdG8gYWNjZXNzIHRoZSAtdiBhcmcuLi4KLSsgICAgICAgIHZl
 cmJvc2UgPSBGYWxzZQotIAotICAgICAgICAgIyB0aGlzIGdpdmVzIHVzIGFjY2VzcyB0byB0aGUg
 Uy9OLCBldGMuIG9mIHRoZSByZWFkZXIgdGhhdCB0aGUgc2Nhbm5lciBoYXMgZm91bmQKLSAgICAg
 ICAgICMgYW5kIHRoZSBtYXRjaCByb3V0aW5lcyBmb3Igc29tZSBvZiB0aGF0IGRhdGEsIGxpa2Ug
 cy9uLCB2ZW5kb3IgSUQsIGV0Yy4KLUBAIC03MTgsMTI5ICs3MjAsMTQ5IEBACi0gICAgICAgICBp
 ZiBub3QgZC5zZXJpYWw6Ci0gICAgICAgICAgICAgcmFpc2UgRGV2aWNlRXJyb3IoIkRldmljZSBo
 YXMgbm8gUy9OLiAgQ2FuJ3QgY29udGludWUiKQotICAgICAgICAgICAgIHJldHVybiBGYWxzZQot
 LQotLSAgICAgICAgZGV2cz17fQotLSAgICAgICAgZGk9MAotLSAgICAgICAgbmRldnM9NCAgICAg
 IyBudW1iZXIgb2YgcG9zc2libGUgZGV2aWNlcyBwZXIgcmVhZGVyIChtYWluLCBjYXJkYSwgY2Fy
 ZGIsIGxhdW5jaGVyKQotLQotLSAgICAgICAgI2dldCBsaXN0IG9mIGRpc2sgZGV2aWNlcwotLSAg
 ICAgICAgcD1zdWJwcm9jZXNzLlBvcGVuKFsic3lzY3RsIiwgImtlcm4uZGlza3MiXSwgc3Rkb3V0
 PXN1YnByb2Nlc3MuUElQRSkKLS0gICAgICAgIGtkc2tzPXN1YnByb2Nlc3MuUG9wZW4oWyJzZWQi
 LCAicy9rZXJuLmRpc2tzOiAvLyJdLCBzdGRpbj1wLnN0ZG91dCwgc3Rkb3V0PXN1YnByb2Nlc3Mu
 UElQRSkuY29tbXVuaWNhdGUoKVswXQotLSAgICAgICAgcC5zdGRvdXQuY2xvc2UoKQotLSAgICAg
 ICAgI3ByaW50IGtkc2tzCi0tICAgICAgICBmb3IgZHZjIGluIGtkc2tzLnNwbGl0KCk6Ci0tICAg
 ICAgICAgICAgIyBmb3IgZWFjaCBvbmUgdGhhdCdzIGFsc28gaW4gdGhlIGxpc3Qgb2YgY2FtIGRl
 dmljZXMgLi4uCi0tICAgICAgICAgICAgcD1zdWJwcm9jZXNzLlBvcGVuKFsiY2FtY29udHJvbCIs
 ICJkZXZsaXN0Il0sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpCi0tICAgICAgICAgICAgZGV2bWF0
 Y2g9c3VicHJvY2Vzcy5Qb3BlbihbImdyZXAiLCBkdmNdLCBzdGRpbj1wLnN0ZG91dCwgc3Rkb3V0
 PXN1YnByb2Nlc3MuUElQRSkuY29tbXVuaWNhdGUoKVswXQotLSAgICAgICAgICAgIHAuc3Rkb3V0
 LmNsb3NlKCkKLS0gICAgICAgICAgICBpZiBkZXZtYXRjaDoKLS0gICAgICAgICAgICAgICAgI3By
 aW50ICJDaGVja2luZyAiLCBkZXZtYXRjaAotLSAgICAgICAgICAgICAgICAjIC4uLiBzZWUgaWYg
 d2UgY2FuIGdldCBhIFMvTiBmcm9tIHRoZSBhY3R1YWwgZGV2aWNlIG5vZGUKLS0gICAgICAgICAg
 ICAgICAgc249c3VicHJvY2Vzcy5Qb3BlbihbImNhbWNvbnRyb2wiLCAiaW5xdWlyeSIsIGR2Yywg
 Ii1TIl0sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpLmNvbW11bmljYXRlKClbMF0KLS0gICAgICAg
 ICAgICAgICAgc249c25bMDotMV0gICAgICAgICAgICAgIyBkcm9wIHRoZSB0cmFpbGluZyBuZXds
 aW5lCi0tICAgICAgICAgICAgICAgICNwcmludCAiUy9OID0gIiwgc24KLS0gICAgICAgICAgICAg
 ICAgaWYgc24gYW5kIGQubWF0Y2hfc2VyaWFsKHNuKToKLS0gICAgICAgICAgICAgICAgICAgICMg
 d2UgaGF2ZSBhIG1hdGNoaW5nIHMvbiwgcmVjb3JkIHRoaXMgZGV2aWNlIG5vZGUKLS0gICAgICAg
 ICAgICAgICAgICAgICNwcmludCAibWF0Y2ggZm91bmQ6ICIsIGR2YwotLSAgICAgICAgICAgICAg
 ICAgICAgZGV2c1tkaV09ZHZjCi0tICAgICAgICAgICAgICAgICAgICBkaSArPSAxCi0tCi0tICAg
 ICAgICAjIHNvcnQgdGhlIGxpc3Qgb2YgZGV2aWNlcwotLSAgICAgICAgZm9yIGkgaW4gcmFuZ2Uo
 MSxuZGV2cysxKToKLS0gICAgICAgICAgICBmb3IgaiBpbiByZXZlcnNlZChyYW5nZSgxLGkpKToK
 LS0gICAgICAgICAgICAgICAgaWYgZGV2c1tqLTFdID4gZGV2c1tqXToKLS0gICAgICAgICAgICAg
 ICAgICAgIHg9ZGV2c1tqLTFdCi0tICAgICAgICAgICAgICAgICAgICBkZXZzW2otMV09ZGV2c1tq
 XQotLSAgICAgICAgICAgICAgICAgICAgZGV2c1tqXT14Ci0tICAgICAgICAjcHJpbnQgZGV2cwot
 LQotLSAgICAgICAgIyBub3cgd2UgbmVlZCB0byBzZWUgaWYgYW55IG9mIHRoZXNlIGhhdmUgc2xp
 Y2VzL3BhcnRpdGlvbnMKLSsgICAgICAgIAotKyAgICAgICAgdm9scz1bXQotKyAgICAgICAgCi0r
 ICAgICAgICBidXMgPSBkYnVzLlN5c3RlbUJ1cygpCi0rICAgICAgICBtYW5hZ2VyID0gZGJ1cy5J
 bnRlcmZhY2UoYnVzLmdldF9vYmplY3QoJ29yZy5mcmVlZGVza3RvcC5IYWwnLAotKyAgICAgICAg
 ICAgICAgICAgICAgICAnL29yZy9mcmVlZGVza3RvcC9IYWwvTWFuYWdlcicpLCAnb3JnLmZyZWVk
 ZXNrdG9wLkhhbC5NYW5hZ2VyJykKLSsgICAgICAgIHBhdGhzID0gbWFuYWdlci5GaW5kRGV2aWNl
 U3RyaW5nTWF0Y2goJ3VzYi5zZXJpYWwnLGQuc2VyaWFsKQotKyAgICAgICAgZm9yIHBhdGggaW4g
 cGF0aHM6Ci0rICAgICAgICAgICAgb2JqaWYgPSBkYnVzLkludGVyZmFjZShidXMuZ2V0X29iamVj
 dCgnb3JnLmZyZWVkZXNrdG9wLkhhbCcsIHBhdGgpLCAnb3JnLmZyZWVkZXNrdG9wLkhhbC5EZXZp
 Y2UnKQotKyAgICAgICAgICAgICMgRXh0cmEgcGFyYW5vaWEuLi4KLSsgICAgICAgICAgICB0cnk6
 Ci0rICAgICAgICAgICAgICAgIGlmIGQuaWRWZW5kb3IgPT0gb2JqaWYuR2V0UHJvcGVydHkoJ3Vz
 Yi52ZW5kb3JfaWQnKSBhbmQgXAotKyAgICAgICAgICAgICAgICAgICAgICAgIGQuaWRQcm9kdWN0
 ID09IG9iamlmLkdldFByb3BlcnR5KCd1c2IucHJvZHVjdF9pZCcpIGFuZCBcCi0rICAgICAgICAg
 ICAgICAgICAgICAgICAgZC5tYW51ZmFjdHVyZXIgPT0gb2JqaWYuR2V0UHJvcGVydHkoJ3VzYi52
 ZW5kb3InKSBhbmQgXAotKyAgICAgICAgICAgICAgICAgICAgICAgIGQucHJvZHVjdCA9PSBvYmpp
 Zi5HZXRQcm9wZXJ0eSgndXNiLnByb2R1Y3QnKSBhbmQgXAotKyAgICAgICAgICAgICAgICAgICAg
 ICAgIGQuc2VyaWFsID09IG9iamlmLkdldFByb3BlcnR5KCd1c2Iuc2VyaWFsJyk6Ci0rICAgICAg
 ICAgICAgICAgICAgICBkcGF0aHMgPSBtYW5hZ2VyLkZpbmREZXZpY2VTdHJpbmdNYXRjaCgnc3Rv
 cmFnZS5vcmlnaW5hdGluZ19kZXZpY2UnLCBwYXRoKQotKyAgICAgICAgICAgICAgICAgICAgZm9y
 IGRwYXRoIGluIGRwYXRoczoKLSsgICAgICAgICAgICAgICAgICAgICAgICBkZXZpZiA9IGRidXMu
 SW50ZXJmYWNlKGJ1cy5nZXRfb2JqZWN0KCdvcmcuZnJlZWRlc2t0b3AuSGFsJywgZHBhdGgpLCAn
 b3JnLmZyZWVkZXNrdG9wLkhhbC5EZXZpY2UnKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHRy
 eToKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnBhdGhzID0gbWFuYWdlci5GaW5kRGV2
 aWNlU3RyaW5nTWF0Y2goJ2Jsb2NrLnN0b3JhZ2VfZGV2aWNlJywgZHBhdGgpCi0rICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIGZvciB2cGF0aCBpbiB2cGF0aHM6Ci0rICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICB0cnk6Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgdmRldmlmID0gZGJ1cy5JbnRlcmZhY2UoYnVzLmdldF9vYmplY3QoJ29yZy5mcmVlZGVza3Rv
 cC5IYWwnLCB2cGF0aCksICdvcmcuZnJlZWRlc2t0b3AuSGFsLkRldmljZScpCi0rICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHZkZXZpZi5HZXRQcm9wZXJ0eSgnYmxv
 Y2suaXNfdm9sdW1lJyk6Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IGNvbnRpbnVlCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgdmRldmlm
 LkdldFByb3BlcnR5KCd2b2x1bWUuZnN1c2FnZScpICE9ICdmaWxlc3lzdGVtJzoKLSsgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSsgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICB2b2xpZiA9IGRidXMuSW50ZXJmYWNlKGJ1cy5nZXRfb2Jq
 ZWN0KCdvcmcuZnJlZWRlc2t0b3AuSGFsJywgdnBhdGgpLCAnb3JnLmZyZWVkZXNrdG9wLkhhbC5E
 ZXZpY2UuVm9sdW1lJykKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZGV2
 aWYgPSBkYnVzLkludGVyZmFjZShidXMuZ2V0X29iamVjdCgnb3JnLmZyZWVkZXNrdG9wLkhhbCcs
 IHZkZXZpZi5HZXRQcm9wZXJ0eSgnaW5mby5wYXJlbnQnKSksICdvcmcuZnJlZWRlc2t0b3AuSGFs
 LkRldmljZScpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9sID0geydu
 b2RlJzogcGRldmlmLkdldFByb3BlcnR5KCdibG9jay5kZXZpY2UnKSwKLSsgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXYnOiB2ZGV2aWYsCi0rICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndm9sJzogdm9saWYsCi0rICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGFiZWwnOiB2ZGV2aWYuR2V0
 UHJvcGVydHkoJ3ZvbHVtZS5sYWJlbCcpfQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIHZvbHMuYXBwZW5kKHZvbCkKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IGV4Y2VwdCBkYnVzLmV4Y2VwdGlvbnMuREJ1c0V4Y2VwdGlvbiwgZToKLSsgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICBwcmludCBlCi0rICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgY29udGludWUKLSsgICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgZGJ1
 cy5leGNlcHRpb25zLkRCdXNFeGNlcHRpb24sIGU6Ci0rICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIHByaW50IGUKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSsgICAg
 ICAgICAgICBleGNlcHQgZGJ1cy5leGNlcHRpb25zLkRCdXNFeGNlcHRpb24sIGU6Ci0rICAgICAg
 ICAgICAgICAgIGNvbnRpbnVlCi0rCi0rICAgICAgICBkZWYgb2NtcCh4LHkpOgotKyAgICAgICAg
 ICAgIGlmIHhbJ25vZGUnXSA8IHlbJ25vZGUnXToKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC0x
 Ci0rICAgICAgICAgICAgaWYgeFsnbm9kZSddID4geVsnbm9kZSddOgotKyAgICAgICAgICAgICAg
 ICByZXR1cm4gMQotKyAgICAgICAgICAgIHJldHVybiAwCi0rCi0rICAgICAgICB2b2xzLnNvcnQo
 Y21wPW9jbXApCi0rCi0rICAgICAgICBpZiB2ZXJib3NlOgotKyAgICAgICAgICAgIHByaW50ICJG
 QlNEOgkiLCB2b2xzCi0rICAgICAgICAKLSAgICAgICAgIG10ZD0wCi0tICAgICAgICBsYWJlbD0i
 UkVBREVSIiAgICAgICMgY291bGQgdXNlIHNvbWV0aGluZyBtb3JlIHVuaXF1ZSwgbGlrZSBTL04g
 b3IgcHJvZHVjdElELi4uCi0tICAgICAgICBjbWQgPSAnL3Vzci9sb2NhbC9iaW4vY2FsaWJyZS1t
 b3VudC1oZWxwZXInCi0tICAgICAgICBjbWQgPSBbY21kLCAnbW91bnQnXQotLSAgICAgICAgZm9y
 IGkgaW4gcmFuZ2UoMCxuZGV2cyk6Ci0tICAgICAgICAgICAgY21kMj0ibHMgL2Rldi8iK2RldnNb
 aV0rIioiCi0tICAgICAgICAgICAgcD1zdWJwcm9jZXNzLlBvcGVuKGNtZDIsIHNoZWxsPVRydWUs
 IHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpCi0tICAgICAgICAgICAgZGV2c1tpXT1zdWJwcm9jZXNz
 LlBvcGVuKFsiY3V0IiwgIi1kIiwgIi8iLCAiLWYiICIzIl0sIHN0ZGluPXAuc3Rkb3V0LCBzdGRv
 dXQ9c3VicHJvY2Vzcy5QSVBFKS5jb21tdW5pY2F0ZSgpWzBdCi0tICAgICAgICAgICAgcC5zdGRv
 dXQuY2xvc2UoKQotLQotLSAgICAgICAgICAgICMgdHJ5IGFsbCB0aGUgbm9kZXMgdG8gc2VlIHdo
 YXQgd2UgY2FuIG1vdW50Ci0tICAgICAgICAgICAgZm9yIGRldiBpbiBkZXZzW2ldLnNwbGl0KCk6
 Ci0tICAgICAgICAgICAgICAgIG1wPScvbWVkaWEvJytsYWJlbCsnLScrZGV2Ci0tICAgICAgICAg
 ICAgICAgIG1tcCA9IG1wCi0tICAgICAgICAgICAgICAgIGlmIG1tcC5lbmRzd2l0aCgnLycpOgot
 LSAgICAgICAgICAgICAgICAgICAgbW1wID0gbW1wWzotMV0KLS0gICAgICAgICAgICAgICAgI3By
 aW50ICJ0cnlpbmcgIiwgZGV2LCAib24iLCBtcAotLSAgICAgICAgICAgICAgICB0cnk6Ci0tICAg
 ICAgICAgICAgICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbihjbWQgKyBbIi9kZXYvIitkZXYs
 IG1tcF0pCi0tICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgotLSAgICAgICAgICAgICAg
 ICAgICAgcmFpc2UgRGV2aWNlRXJyb3IoXygnQ291bGQgbm90IGZpbmQgbW91bnQgaGVscGVyOiAl
 cy4nKSVjbWRbMF0pCi0tICAgICAgICAgICAgICAgIHdoaWxlIHAucG9sbCgpIGlzIE5vbmU6Ci0t
 ICAgICAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKLS0KLS0gICAgICAgICAgICAgICAg
 aWYgcC5yZXR1cm5jb2RlID09IDA6Ci0tICAgICAgICAgICAgICAgICAgICAjcHJpbnQgIiAgbW91
 bnRlZCIsIGRldgotLSAgICAgICAgICAgICAgICAgICAgaWYgaSA9PSAwOgotLSAgICAgICAgICAg
 ICAgICAgICAgICAgIHNlbGYuX21haW5fcHJlZml4ID0gbXAKLS0gICAgICAgICAgICAgICAgICAg
 ICAgICBzZWxmLl9tYWluX2RldiA9ICIvZGV2LyIrZGV2Ci0tICAgICAgICAgICAgICAgICAgICAg
 ICAgI3ByaW50ICJtYWluID0gIiwgc2VsZi5fbWFpbl9kZXYsIHNlbGYuX21haW5fcHJlZml4Ci0t
 ICAgICAgICAgICAgICAgICAgICBpZiBpID09IDE6Ci0tICAgICAgICAgICAgICAgICAgICAgICAg
 c2VsZi5fY2FyZF9hX3ByZWZpeCA9IG1wCi0tICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5f
 Y2FyZF9hX2RldiA9ICIvZGV2LyIrZGV2Ci0tICAgICAgICAgICAgICAgICAgICAgICAgI3ByaW50
 ICJjYXJkIGEgPSAiLCBzZWxmLl9jYXJkX2FfZGV2LCBzZWxmLl9jYXJkX2FfcHJlZml4Ci0tICAg
 ICAgICAgICAgICAgICAgICBpZiBpID09IDI6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgc2Vs
 Zi5fY2FyZF9iX3ByZWZpeCA9IG1wCi0tICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY2Fy
 ZF9iX2RldiA9ICIvZGV2LyIrZGV2Ci0tICAgICAgICAgICAgICAgICAgICAgICAgI3ByaW50ICJj
 YXJkIGIgPSAiLCBzZWxmLl9jYXJkX2JfZGV2LCBzZWxmLl9jYXJkX2JfcHJlZml4Ci0gCi0tICAg
 ICAgICAgICAgICAgICAgICBtdGQgKz0gMQotLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSsg
 ICAgICAgIGZvciB2b2wgaW4gdm9sczoKLSsgICAgICAgICAgICBtcCA9ICcnCi0rICAgICAgICAg
 ICAgaWYgdm9sWydkZXYnXS5HZXRQcm9wZXJ0eSgndm9sdW1lLmlzX21vdW50ZWQnKToKLSsgICAg
 ICAgICAgICAgICAgbXAgPSB2b2xbJ2RldiddLkdldFByb3BlcnR5KCd2b2x1bWUubW91bnRfcG9p
 bnQnKQotKyAgICAgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgICAgIGlmIHZlcmJvc2U6Ci0r
 ICAgICAgICAgICAgICAgICAgICBwcmludCAiRkJTRDoJdHJ5aW5nICIsIHZvbFsnbGFiZWwnXSwg
 Im9uIiwgJ0NhbGlicmUtJytsYWJlbHNbaV0KLSsgICAgICAgICAgICAgICAgdHJ5OgotKyAgICAg
 ICAgICAgICAgICAgICAgdm9sWyd2b2wnXS5Nb3VudCgnQ2FsaWJyZS0nK3ZvbFsnbGFiZWwnXSwK
 LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9sWydkZXYnXS5HZXRQcm9wZXJ0eSgndm9s
 dW1lLmZzdHlwZScpLCBbXSkKLSsgICAgICAgICAgICAgICAgICAgIGxvb3BzID0gMAotKyAgICAg
 ICAgICAgICAgICAgICAgd2hpbGUgbm90IHZvbFsnZGV2J10uR2V0UHJvcGVydHkoJ3ZvbHVtZS5p
 c19tb3VudGVkJyk6Ci0rICAgICAgICAgICAgICAgICAgICAgICAgdGltZS5zbGVlcCgxKQotKyAg
 ICAgICAgICAgICAgICAgICAgICAgIGxvb3BzICs9IDEKLSsgICAgICAgICAgICAgICAgICAgICAg
 ICBpZiBsb29wcyA+IDEwMDoKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgIkVS
 Uk9SOiBUaW1lb3V0IHdhaXRpbmcgZm9yIG1vdW50IHRvIGNvbXBsZXRlIgotKyAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICBjb250aW51ZQotKyAgICAgICAgICAgICAgICAgICAgbXAgPSB2b2xb
 J2RldiddLkdldFByb3BlcnR5KCd2b2x1bWUubW91bnRfcG9pbnQnKQotKyAgICAgICAgICAgICAg
 ICBleGNlcHQgZGJ1cy5leGNlcHRpb25zLkRCdXNFeGNlcHRpb24sIGU6Ci0rICAgICAgICAgICAg
 ICAgICAgICBwcmludCAiRmFpbGVkIHRvIG1vdW50ICIsIGUKLSsgICAgICAgICAgICAgICAgICAg
 IGNvbnRpbnVlCi0rCi0rICAgICAgICAgICAgIyBNb3VudCBQb2ludCBiZWNvbWVzIE1vdW50IFBh
 dGgKLSsgICAgICAgICAgICBtcCArPSAnLycKLSsKLSsgICAgICAgICAgICBpZiB2ZXJib3NlOgot
 KyAgICAgICAgICAgICAgICBwcmludCAiRkJTRDoJICBtb3VudGVkIiwgdm9sWydsYWJlbCddLCAi
 b24iLCBtcAotKyAgICAgICAgICAgIGlmIG10ZCA9PSAwOgotKyAgICAgICAgICAgICAgICBzZWxm
 Ll9tYWluX3ByZWZpeCA9IG1wCi0rICAgICAgICAgICAgICAgIHNlbGYuX21haW5fdm9sID0gdm9s
 Wyd2b2wnXQotKyAgICAgICAgICAgICAgICBpZiB2ZXJib3NlOgotKyAgICAgICAgICAgICAgICAg
 ICAgcHJpbnQgIkZCU0Q6CW1haW4gPSAiLCBzZWxmLl9tYWluX3ByZWZpeAotKyAgICAgICAgICAg
 IGlmIG10ZCA9PSAxOgotKyAgICAgICAgICAgICAgICBzZWxmLl9jYXJkX2FfcHJlZml4ID0gbXAK
 LSsgICAgICAgICAgICAgICAgc2VsZi5fY2FyZF9hX3ZvbCA9IHZvbFsndm9sJ10KLSsgICAgICAg
 ICAgICAgICAgaWYgdmVyYm9zZToKLSsgICAgICAgICAgICAgICAgICAgIHByaW50ICJGQlNEOglj
 YXJkIGEgPSAiLCBzZWxmLl9jYXJkX2FfcHJlZml4Ci0rICAgICAgICAgICAgaWYgbXRkID09IDI6
 Ci0rICAgICAgICAgICAgICAgIHNlbGYuX2NhcmRfYl9wcmVmaXggPSBtcAotKyAgICAgICAgICAg
 ICAgICBzZWxmLl9jYXJkX2Jfdm9sID0gdm9sWyd2b2wnXQotKyAgICAgICAgICAgICAgICBpZiB2
 ZXJib3NlOgotKyAgICAgICAgICAgICAgICAgICAgcHJpbnQgIkZCU0Q6CWNhcmQgYiA9ICIsIHNl
 bGYuX2NhcmRfYl9wcmVmaXgKLSsgICAgICAgICAgICAgICAgIyBOb3RlIHRoYXQgbXRkIGlzIHVz
 ZWQgYXMgYSBib29sLi4uIG5vdCBpbmNyZW1lbnRpbmcgaXMgZmluZS4KLSsgICAgICAgICAgICAg
 ICAgYnJlYWsKLSsgICAgICAgICAgICBtdGQgKz0gMQotIAotICAgICAgICAgaWYgbXRkID4gMDoK
 LSAgICAgICAgICAgICByZXR1cm4gVHJ1ZQotLSAgICAgICAgZWxzZSA6Ci0tICAgICAgICAgICAg
 cmV0dXJuIEZhbHNlCi0rICAgICAgICByYWlzZSBEZXZpY2VFcnJvcihfKCdVbmFibGUgdG8gbW91
 bnQgdGhlIGRldmljZScpKQotKwotICMKLSAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICMKLS0jICAgdGhpcyBvbmUgaXMgcHJldHR5IHNp
 bXBsZToKLS0jICAgICAgIGp1c3QgdW1vdW50IGVhY2ggb2YgdGhlIHByZXZpb3VzbHkKLS0jICAg
 ICAgIG1vdW50ZWQgZmlsZXN5c3RlbXMsIHVzaW5nIHRoZSBtb3VudCBoZWxwZXIKLSsjICAgIHRo
 aXMgb25lIGlzIHByZXR0eSBzaW1wbGU6Ci0rIyAgICAgICAganVzdCB1bW91bnQgZWFjaCBvZiB0
 aGUgcHJldmlvdXNseQotKyMgICAgICAgIG1vdW50ZWQgZmlsZXN5c3RlbXMsIHVzaW5nIHRoZSBz
 dG9yZWQgdm9sdW1lIG9iamVjdAotICMKLSAgICAgZGVmIGVqZWN0X2ZyZWVic2Qoc2VsZik6Ci0t
 ICAgICAgICBjbWQgPSAnL3Vzci9sb2NhbC9iaW4vY2FsaWJyZS1tb3VudC1oZWxwZXInCi0tICAg
 ICAgICBjbWQgPSBbY21kLCAnZWplY3QnXQotKyAgICAgICAgaW1wb3J0IGRidXMKLSsgICAgICAg
 ICMgVGhlcmUgc2hvdWxkIGJlIHNvbWUgd2F5IHRvIGFjY2VzcyB0aGUgLXYgYXJnLi4uCi0rICAg
 ICAgICB2ZXJib3NlID0gRmFsc2UKLSAKLSAgICAgICAgIGlmIHNlbGYuX21haW5fcHJlZml4Ogot
 LSAgICAgICAgICAgICNwcmludCAidW1vdW50IG1haW46IiwgY21kLCBzZWxmLl9tYWluX2Rldiwg
 c2VsZi5fbWFpbl9wcmVmaXgKLSsgICAgICAgICAgICBpZiB2ZXJib3NlOgotKyAgICAgICAgICAg
 ICAgICBwcmludCAiRkJTRDoJdW1vdW50IG1haW46Iiwgc2VsZi5fbWFpbl9wcmVmaXgKLSAgICAg
 ICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKGNtZCAr
 IFtzZWxmLl9tYWluX2Rldiwgc2VsZi5fbWFpbl9wcmVmaXhdKQotLSAgICAgICAgICAgIGV4Y2Vw
 dCBPU0Vycm9yOgotLSAgICAgICAgICAgICAgICByYWlzZSBEZXZpY2VFcnJvcigKLS0gICAgICAg
 ICAgICAgICAgXygnQ291bGQgbm90IGZpbmQgbW91bnQgaGVscGVyOiAlcy4nKSVjbWRbMF0pCi0t
 ICAgICAgICAgICAgd2hpbGUgcC5wb2xsKCkgaXMgTm9uZToKLS0gICAgICAgICAgICAgICAgdGlt
 ZS5zbGVlcCgwLjEpCi0rICAgICAgICAgICAgICAgIHNlbGYuX21haW5fdm9sLlVubW91bnQoW10p
 Ci0rICAgICAgICAgICAgZXhjZXB0IGRidXMuZXhjZXB0aW9ucy5EQnVzRXhjZXB0aW9uLCBlOgot
 KyAgICAgICAgICAgICAgICBwcmludCAnVW5hYmxlIHRvIGVqZWN0ICcsIGUKLSAKLSAgICAgICAg
 IGlmIHNlbGYuX2NhcmRfYV9wcmVmaXg6Ci0tICAgICAgICAgICAgI3ByaW50ICJ1bW91bnQgY2Fy
 ZCBhOiIsIGNtZCwgc2VsZi5fY2FyZF9hX2Rldiwgc2VsZi5fY2FyZF9hX3ByZWZpeAotKyAgICAg
 ICAgICAgIGlmIHZlcmJvc2U6Ci0rICAgICAgICAgICAgICAgIHByaW50ICJGQlNEOgl1bW91bnQg
 Y2FyZCBhOiIsIHNlbGYuX2NhcmRfYV9wcmVmaXgKLSAgICAgICAgICAgICB0cnk6Ci0tICAgICAg
 ICAgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKGNtZCArIFtzZWxmLl9jYXJkX2FfZGV2LCAg
 c2VsZi5fY2FyZF9hX3ByZWZpeF0pCi0tICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6Ci0tICAg
 ICAgICAgICAgICAgIHJhaXNlIERldmljZUVycm9yKAotLSAgICAgICAgICAgICAgICBfKCdDb3Vs
 ZCBub3QgZmluZCBtb3VudCBoZWxwZXI6ICVzLicpJWNtZFswXSkKLS0gICAgICAgICAgICB3aGls
 ZSBwLnBvbGwoKSBpcyBOb25lOgotLSAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKLSsg
 ICAgICAgICAgICAgICAgc2VsZi5fY2FyZF9hX3ZvbC5Vbm1vdW50KFtdKQotKyAgICAgICAgICAg
 IGV4Y2VwdCBkYnVzLmV4Y2VwdGlvbnMuREJ1c0V4Y2VwdGlvbiwgZToKLSsgICAgICAgICAgICAg
 ICAgcHJpbnQgJ1VuYWJsZSB0byBlamVjdCAnLCBlCi0gCi0gICAgICAgICBpZiBzZWxmLl9jYXJk
 X2JfcHJlZml4OgotLSAgICAgICAgICAgICNwcmludCAidW1vdW50IGNhcmQgYjoiLCBjbWQsIHNl
 bGYuX2NhcmRfYl9kZXYsIHNlbGYuX2NhcmRfYl9wcmVmaXgKLSsgICAgICAgICAgICBpZiB2ZXJi
 b3NlOgotKyAgICAgICAgICAgICAgICBwcmludCAiRkJTRDoJdW1vdW50IGNhcmQgYjoiLCBzZWxm
 Ll9jYXJkX2JfcHJlZml4Ci0gICAgICAgICAgICAgdHJ5OgotLSAgICAgICAgICAgICAgICBwID0g
 c3VicHJvY2Vzcy5Qb3BlbihjbWQgKyBbc2VsZi5fY2FyZF9iX2Rldiwgc2VsZi5fY2FyZF9iX3By
 ZWZpeF0pCi0tICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6Ci0tICAgICAgICAgICAgICAgIHJh
 aXNlIERldmljZUVycm9yKAotLSAgICAgICAgICAgICAgICBfKCdDb3VsZCBub3QgZmluZCBtb3Vu
 dCBoZWxwZXI6ICVzLicpJWNtZFswXSkKLS0gICAgICAgICAgICB3aGlsZSBwLnBvbGwoKSBpcyBO
 b25lOgotLSAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKLSsgICAgICAgICAgICAgICAg
 c2VsZi5fY2FyZF9iX3ZvbC5Vbm1vdW50KFtdKQotKyAgICAgICAgICAgIGV4Y2VwdCBkYnVzLmV4
 Y2VwdGlvbnMuREJ1c0V4Y2VwdGlvbiwgZToKLSsgICAgICAgICAgICAgICAgcHJpbnQgJ1VuYWJs
 ZSB0byBlamVjdCAnLCBlCi0gCi0gICAgICAgICBzZWxmLl9tYWluX3ByZWZpeCA9IE5vbmUKLSAg
 ICAgICAgIHNlbGYuX2NhcmRfYV9wcmVmaXggPSBOb25lCi1AQCAtODU5LDExICs4ODEsMTAgQEAK
 LSAgICAgICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoNykKLSAgICAgICAgICAgICAgICAgICAg
 IHNlbGYub3Blbl9saW51eCgpCi0gICAgICAgICAgICAgaWYgaXNmcmVlYnNkOgotLSAgICAgICAg
 ICAgICAgICBzZWxmLl9tYWluX2RldiA9IHNlbGYuX2NhcmRfYV9kZXYgPSBzZWxmLl9jYXJkX2Jf
 ZGV2ID0gTm9uZQotKyAgICAgICAgICAgICAgICBzZWxmLl9tYWluX3ZvbCA9IHNlbGYuX2NhcmRf
 YV92b2wgPSBzZWxmLl9jYXJkX2Jfdm9sID0gTm9uZQotICAgICAgICAgICAgICAgICB0cnk6Ci0g
 ICAgICAgICAgICAgICAgICAgICBzZWxmLm9wZW5fZnJlZWJzZCgpCi0gICAgICAgICAgICAgICAg
 IGV4Y2VwdCBEZXZpY2VFcnJvcjoKLS0gICAgICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuUG9w
 ZW4oWyJjYW1jb250cm9sIiwgInJlc2NhbiIsICJhbGwiXSkKLSAgICAgICAgICAgICAgICAgICAg
 IHRpbWUuc2xlZXAoMikKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYub3Blbl9mcmVlYnNkKCkK
 LSAgICAgICAgICAgICBpZiBpc3dpbmRvd3M6CmRpZmYgLXJ1TiBjYWxpYnJlL3BrZy1wbGlzdCBj
 YWxpYnJlLm5ldy9wa2ctcGxpc3QKLS0tIGNhbGlicmUvcGtnLXBsaXN0CTIwMTItMDItMDQgMTk6
 MDk6NDkuMDAwMDAwMDAwIC0wNjAwCisrKyBjYWxpYnJlLm5ldy9wa2ctcGxpc3QJMjAxMi0wMi0w
 NyAwMzozNzozNC4wMDAwMDAwMDAgLTA2MDAKQEAgLTUwMyw2ICs1MDMsNyBAQAogbGliL2NhbGli
 cmUvY2FsaWJyZS9ndWkyL2FkZF93aXphcmQvX19pbml0X18ucHkKIGxpYi9jYWxpYnJlL2NhbGli
 cmUvZ3VpMi9hZGRfd2l6YXJkL3NjYW5fdWkucHkKIGxpYi9jYWxpYnJlL2NhbGlicmUvZ3VpMi9h
 ZGRfd2l6YXJkL3dlbGNvbWVfdWkucHkKK2xpYi9jYWxpYnJlL2NhbGlicmUvZ3VpMi9hdXRvX2Fk
 ZC5weQogbGliL2NhbGlicmUvY2FsaWJyZS9ndWkyL2JhcnMucHkKIGxpYi9jYWxpYnJlL2NhbGli
 cmUvZ3VpMi9ib29rX2RldGFpbHMucHkKIGxpYi9jYWxpYnJlL2NhbGlicmUvZ3VpMi9jYXRhbG9n
 L19faW5pdF9fLnB5Cg==
 --=_78dda784d221cdc06ad170d4fe3645dd--
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201202070940.q179e9Lr097534>