<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>48229</bug_id>
          
          <creation_ts>2010-10-25 05:01:58 -0700</creation_ts>
          <short_desc>Replace _countof with WTF_ARRAY_LENGTH</short_desc>
          <delta_ts>2010-10-25 10:03:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>298792</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-10-25 05:01:58 -0700</bug_when>
    <thetext>see patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298797</commentid>
    <comment_count>1</comment_count>
      <attachid>71736</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-10-25 05:10:08 -0700</bug_when>
    <thetext>Created attachment 71736
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298798</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-25 05:13:02 -0700</bug_when>
    <thetext>Attachment 71736 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/plugins/win/PluginDatabaseWin.cpp:409:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298800</commentid>
    <comment_count>3</comment_count>
      <attachid>71737</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-10-25 05:14:58 -0700</bug_when>
    <thetext>Created attachment 71737
Patch

Fix style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298897</commentid>
    <comment_count>4</comment_count>
      <attachid>71737</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-10-25 09:10:49 -0700</bug_when>
    <thetext>Comment on attachment 71737
Patch

r=me

I assume that assigning to the DWORD type doesn&apos;t require a cast on Windows [CE].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298932</commentid>
    <comment_count>5</comment_count>
      <attachid>71737</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-25 10:03:46 -0700</bug_when>
    <thetext>Comment on attachment 71737
Patch

Clearing flags on attachment: 71737

Committed r70460: &lt;http://trac.webkit.org/changeset/70460&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298933</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-25 10:03:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71736</attachid>
            <date>2010-10-25 05:10:08 -0700</date>
            <delta_ts>2010-10-25 05:14:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48229.patch</filename>
            <type>text/plain</type>
            <size>14952</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA4ZWZjNTg1Li40MTQ4OWYzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTAtMTAtMjUgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwbGFjZSBf
Y291bnRvZiB3aXRoIFdURl9BUlJBWV9MRU5HVEgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MjI5CisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoK
KwogMjAxMC0xMC0yNCAgS3dhbmcgWXVsIFNlbyAgPHNreXVsQGNvbXBhbnkxMDAubmV0PgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEtpbHplci4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9QbGF0Zm9ybS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKaW5kZXgg
ZTJhY2E2MS4uNzlmMTk0YSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3Jt
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTU2MywxMSArNTYzLDYg
QEAKICNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlzYWJsZSAiYXNzZXJ0LmgiICovCiAjZGVm
aW5lIGFzc2VydCh4KQogCi0vKiBfY291bnRvZiBpcyBvbmx5IGluY2x1ZGVkIGluIENFNjsgZm9y
IENFNSB3ZSBuZWVkIHRvIGRlZmluZSBpdCBvdXJzZWxmICovCi0jaWZuZGVmIF9jb3VudG9mCi0j
ZGVmaW5lIF9jb3VudG9mKHgpIChzaXplb2YoeCkgLyBzaXplb2YoKHgpWzBdKSkKLSNlbmRpZgot
CiAjZW5kaWYgIC8qIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpICovCiAKICNpZiBQTEFURk9S
TShRVCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggNzU2ZmE4ZC4uYmRhYjY5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0xMC0yNSAgUGF0cmlj
ayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNlIF9jb3VudG9mIHdpdGggV1RGX0FSUkFZ
X0xFTkdUSAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDgyMjkKKworICAgICAgICAqIHBsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Om9wZW5UZW1wb3JhcnlGaWxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5j
ZS9GaWxlU3lzdGVtV2luQ0UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3BlblRlbXBvcmFyeUZp
bGUpOgorICAgICAgICAqIHBsdWdpbnMvd2luL1BsdWdpbkRhdGFiYXNlV2luLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmFkZFBsdWdpblBhdGhzRnJvbVJlZ2lzdHJ5KToKKyAgICAgICAgKFdlYkNv
cmU6OmFkZFdpbmRvd3NNZWRpYVBsYXllclBsdWdpbkRpcmVjdG9yeSk6CisgICAgICAgIChXZWJD
b3JlOjphZGRNYWNyb21lZGlhUGx1Z2luRGlyZWN0b3JpZXMpOgorCiAyMDEwLTEwLTI0ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFRpbW90aHkgSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVT
eXN0ZW1XaW4uY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZVN5c3RlbVdpbi5jcHAKaW5k
ZXggNGI3YTY5Mi4uMmNjYTA4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmls
ZVN5c3RlbVdpbi5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZVN5c3RlbVdpbi5j
cHAKQEAgLTE5Miw4ICsxOTIsOCBAQCBDU3RyaW5nIG9wZW5UZW1wb3JhcnlGaWxlKGNvbnN0IGNo
YXIqLCBQbGF0Zm9ybUZpbGVIYW5kbGUmIGhhbmRsZSkKICAgICBoYW5kbGUgPSBJTlZBTElEX0hB
TkRMRV9WQUxVRTsKIAogICAgIGNoYXIgdGVtcFBhdGhbTUFYX1BBVEhdOwotICAgIGludCB0ZW1w
UGF0aExlbmd0aCA9IDo6R2V0VGVtcFBhdGhBKF9jb3VudG9mKHRlbXBQYXRoKSwgdGVtcFBhdGgp
OwotICAgIGlmICh0ZW1wUGF0aExlbmd0aCA8PSAwIHx8IHRlbXBQYXRoTGVuZ3RoID4gX2NvdW50
b2YodGVtcFBhdGgpKQorICAgIGludCB0ZW1wUGF0aExlbmd0aCA9IDo6R2V0VGVtcFBhdGhBKFdU
Rl9BUlJBWV9MRU5HVEgodGVtcFBhdGgpLCB0ZW1wUGF0aCk7CisgICAgaWYgKHRlbXBQYXRoTGVu
Z3RoIDw9IDAgfHwgdGVtcFBhdGhMZW5ndGggPiBXVEZfQVJSQVlfTEVOR1RIKHRlbXBQYXRoKSkK
ICAgICAgICAgcmV0dXJuIENTdHJpbmcoKTsKIAogICAgIEhDUllQVFBST1YgaENyeXB0UHJvdiA9
IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3dpbmNlL0ZpbGVTeXN0ZW1XaW5DRS5j
cHAgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbmNlL0ZpbGVTeXN0ZW1XaW5DRS5jcHAKaW5kZXggMmEy
NzA4OS4uOTBiMjc4ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9GaWxlU3lz
dGVtV2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvRmlsZVN5c3RlbVdpbkNF
LmNwcApAQCAtMTc0LDggKzE3NCw4IEBAIENTdHJpbmcgb3BlblRlbXBvcmFyeUZpbGUoY29uc3Qg
Y2hhciosIFBsYXRmb3JtRmlsZUhhbmRsZSYgaGFuZGxlKQogICAgIGhhbmRsZSA9IElOVkFMSURf
SEFORExFX1ZBTFVFOwogCiAgICAgd2NoYXJfdCB0ZW1wUGF0aFtNQVhfUEFUSF07Ci0gICAgaW50
IHRlbXBQYXRoTGVuZ3RoID0gOjpHZXRUZW1wUGF0aChfY291bnRvZih0ZW1wUGF0aCksIHRlbXBQ
YXRoKTsKLSAgICBpZiAodGVtcFBhdGhMZW5ndGggPD0gMCB8fCB0ZW1wUGF0aExlbmd0aCA+IF9j
b3VudG9mKHRlbXBQYXRoKSkKKyAgICBpbnQgdGVtcFBhdGhMZW5ndGggPSA6OkdldFRlbXBQYXRo
KFdURl9BUlJBWV9MRU5HVEgodGVtcFBhdGgpLCB0ZW1wUGF0aCk7CisgICAgaWYgKHRlbXBQYXRo
TGVuZ3RoIDw9IDAgfHwgdGVtcFBhdGhMZW5ndGggPiBXVEZfQVJSQVlfTEVOR1RIKHRlbXBQYXRo
KSkKICAgICAgICAgcmV0dXJuIENTdHJpbmcoKTsKIAogICAgIEhDUllQVFBST1YgaENyeXB0UHJv
diA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvd2luL1BsdWdpbkRhdGFiYXNlV2lu
LmNwcCBiL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luRGF0YWJhc2VXaW4uY3BwCmluZGV4IDZj
YmNkYzguLmVlNjEzMGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luRGF0
YWJhc2VXaW4uY3BwCisrKyBiL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luRGF0YWJhc2VXaW4u
Y3BwCkBAIC0zNCwxMCArMzQsNiBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNsdWRlIDxz
aGx3YXBpLmg+CiAKLSNpZiBDT01QSUxFUihNSU5HVykKLSNkZWZpbmUgX2NvdW50b2YoeCkgKHNp
emVvZih4KS9zaXplb2YoeFswXSkpCi0jZW5kaWYKLQogI2lmIE9TKFdJTkNFKQogLy8gV0lOQ0Ug
ZG9lc24ndCBzdXBwb3J0IFJlZ2lzdHJ5IEtleSBBY2Nlc3MgUmlnaHRzLiBUaGUgcGFyYW1ldGVy
IHNob3VsZCBhbHdheXMgYmUgMAogI2lmbmRlZiBLRVlfRU5VTUVSQVRFX1NVQl9LRVlTCkBAIC05
Niw3ICs5Miw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhZGRQbHVnaW5QYXRoc0Zyb21SZWdpc3Ry
eShIS0VZIHJvb3RLZXksIEhhc2hTZXQ8U3RyaW5nPiYgcGF0CiAKICAgICAvLyBFbnVtZXJhdGUg
c3Via2V5cwogICAgIGZvciAoaW50IGkgPSAwOzsgaSsrKSB7Ci0gICAgICAgIERXT1JEIG5hbWVM
ZW4gPSBfY291bnRvZihuYW1lKTsKKyAgICAgICAgRFdPUkQgbmFtZUxlbiA9IFdURl9BUlJBWV9M
RU5HVEgobmFtZSk7CiAgICAgICAgIHJlc3VsdCA9IFJlZ0VudW1LZXlFeFcoa2V5LCBpLCBuYW1l
LCAmbmFtZUxlbiwgMCwgMCwgMCwgJmxhc3RNb2RpZmllZCk7CiAKICAgICAgICAgaWYgKHJlc3Vs
dCAhPSBFUlJPUl9TVUNDRVNTKQpAQCAtMjU3LDkgKzI1Myw5IEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBhZGRXaW5kb3dzTWVkaWFQbGF5ZXJQbHVnaW5EaXJlY3RvcnkoVmVjdG9yPFN0cmluZz4mIGRp
cmVjdG9yCiAjaWYgIU9TKFdJTkNFKQogICAgIC8vIFRoZSBuZXcgV01QIEZpcmVmb3ggcGx1Z2lu
IGlzIGluc3RhbGxlZCBpbiBcUEZpbGVzXFBsdWdpbnMgaWYgaXQgY2FuJ3QgZmluZCBhbnkgRmly
ZWZveCBpbnN0YWxscwogICAgIFdDSEFSIHBsdWdpbkRpcmVjdG9yeVN0cltfTUFYX1BBVEggKyAx
XTsKLSAgICBEV09SRCBwbHVnaW5EaXJlY3RvcnlTaXplID0gOjpFeHBhbmRFbnZpcm9ubWVudFN0
cmluZ3NXKFRFWFQoIiVTWVNURU1EUklWRSVcXFBGaWxlc1xcUGx1Z2lucyIpLCBwbHVnaW5EaXJl
Y3RvcnlTdHIsIF9jb3VudG9mKHBsdWdpbkRpcmVjdG9yeVN0cikpOworICAgIERXT1JEIHBsdWdp
bkRpcmVjdG9yeVNpemUgPSA6OkV4cGFuZEVudmlyb25tZW50U3RyaW5nc1coVEVYVCgiJVNZU1RF
TURSSVZFJVxcUEZpbGVzXFxQbHVnaW5zIiksIHBsdWdpbkRpcmVjdG9yeVN0ciwgV1RGX0FSUkFZ
X0xFTkdUSChwbHVnaW5EaXJlY3RvcnlTdHIpKTsKIAotICAgIGlmIChwbHVnaW5EaXJlY3RvcnlT
aXplID4gMCAmJiBwbHVnaW5EaXJlY3RvcnlTaXplIDw9IF9jb3VudG9mKHBsdWdpbkRpcmVjdG9y
eVN0cikpCisgICAgaWYgKHBsdWdpbkRpcmVjdG9yeVNpemUgPiAwICYmIHBsdWdpbkRpcmVjdG9y
eVNpemUgPD0gV1RGX0FSUkFZX0xFTkdUSChwbHVnaW5EaXJlY3RvcnlTdHIpKQogICAgICAgICBk
aXJlY3Rvcmllcy5hcHBlbmQoU3RyaW5nKHBsdWdpbkRpcmVjdG9yeVN0ciwgcGx1Z2luRGlyZWN0
b3J5U2l6ZSAtIDEpKTsKICNlbmRpZgogCkBAIC00MTAsNyArNDA2LDcgQEAgc3RhdGljIGlubGlu
ZSB2b2lkIGFkZE1hY3JvbWVkaWFQbHVnaW5EaXJlY3RvcmllcyhWZWN0b3I8U3RyaW5nPiYgZGly
ZWN0b3JpZXMpCiAjaWYgIU9TKFdJTkNFKQogICAgIFdDSEFSIHN5c3RlbURpcmVjdG9yeVN0cltN
QVhfUEFUSF07CiAKLSAgICBpZiAoR2V0U3lzdGVtRGlyZWN0b3J5KHN5c3RlbURpcmVjdG9yeVN0
ciwgX2NvdW50b2Yoc3lzdGVtRGlyZWN0b3J5U3RyKSkgPT0gMCkKKyAgICBpZiAoR2V0U3lzdGVt
RGlyZWN0b3J5KHN5c3RlbURpcmVjdG9yeVN0ciwgV1RGX0FSUkFZX0xFTkdUSChzeXN0ZW1EaXJl
Y3RvcnlTdHIpKSA9PSAwKQogICAgICAgICByZXR1cm47CiAKICAgICBXQ0hBUiBtYWNyb21lZGlh
RGlyZWN0b3J5U3RyW01BWF9QQVRIXTsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9n
IGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggMTEwNTVjMy4uOTA5MjlhZSAxMDA2NDQKLS0t
IGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMC0xMC0yNSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZXBsYWNlIF9jb3VudG9mIHdpdGggV1RGX0FSUkFZX0xFTkdUSAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDgyMjkKKworICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmNwcDoKKyAgICAgICAgKGlzUHJlSW5zcGVjdEVs
ZW1lbnRUYWdTYWZhcmkpOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmll
dzo6aW50ZXJwcmV0S2V5RXZlbnQpOgorCiAyMDEwLTEwLTI0ICBEYW4gQmVybnN0ZWluICA8bWl0
ekBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAgYi9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmNwcAppbmRleCBhYjFmNzllLi4yNDE3
OGYyIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51
Q2xpZW50LmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51
Q2xpZW50LmNwcApAQCAtNjAsNyArNjAsNyBAQCBzdGF0aWMgYm9vbCBpc1ByZUluc3BlY3RFbGVt
ZW50VGFnU2FmYXJpKElXZWJVSURlbGVnYXRlKiB1aURlbGVnYXRlKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICBUQ0hBUiBtb2R1bGVQYXRoW01BWF9QQVRIXTsKLSAgICBEV09SRCBsZW5n
dGggPSA6OkdldE1vZHVsZUZpbGVOYW1lKDAsIG1vZHVsZVBhdGgsIF9jb3VudG9mKG1vZHVsZVBh
dGgpKTsKKyAgICBEV09SRCBsZW5ndGggPSA6OkdldE1vZHVsZUZpbGVOYW1lKDAsIG1vZHVsZVBh
dGgsIFdURl9BUlJBWV9MRU5HVEgobW9kdWxlUGF0aCkpOwogICAgIGlmICghbGVuZ3RoKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVmlldy5jcHAg
Yi9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGE2YzNjYjQuLmEzZmIzYTUgMTAwNjQ0Ci0t
LSBhL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApA
QCAtMTgzMywxMCArMTgzMywxMCBAQCBjb25zdCBjaGFyKiBXZWJWaWV3OjppbnRlcnByZXRLZXlF
dmVudChjb25zdCBLZXlib2FyZEV2ZW50KiBldnQpCiAgICAgICAgIGtleURvd25Db21tYW5kc01h
cCA9IG5ldyBIYXNoTWFwPGludCwgY29uc3QgY2hhcio+OwogICAgICAgICBrZXlQcmVzc0NvbW1h
bmRzTWFwID0gbmV3IEhhc2hNYXA8aW50LCBjb25zdCBjaGFyKj47CiAKLSAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IF9jb3VudG9mKGtleURvd25FbnRyaWVzKTsgaSsrKQorICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgoa2V5RG93bkVudHJpZXMp
OyArK2kpCiAgICAgICAgICAgICBrZXlEb3duQ29tbWFuZHNNYXAtPnNldChrZXlEb3duRW50cmll
c1tpXS5tb2RpZmllcnMgPDwgMTYgfCBrZXlEb3duRW50cmllc1tpXS52aXJ0dWFsS2V5LCBrZXlE
b3duRW50cmllc1tpXS5uYW1lKTsKIAotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
X2NvdW50b2Yoa2V5UHJlc3NFbnRyaWVzKTsgaSsrKQorICAgICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IFdURl9BUlJBWV9MRU5HVEgoa2V5UHJlc3NFbnRyaWVzKTsgKytpKQogICAgICAgICAg
ICAga2V5UHJlc3NDb21tYW5kc01hcC0+c2V0KGtleVByZXNzRW50cmllc1tpXS5tb2RpZmllcnMg
PDwgMTYgfCBrZXlQcmVzc0VudHJpZXNbaV0uY2hhckNvZGUsIGtleVByZXNzRW50cmllc1tpXS5u
YW1lKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cgYi9XZWJL
aXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IDJlMDU4NWQuLjJmOGM3MTAgMTAwNjQ0Ci0tLSBhL1dl
YktpdC93aW5jZS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDEwLTEwLTI1ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
cGxhY2UgX2NvdW50b2Ygd2l0aCBXVEZfQVJSQVlfTEVOR1RICisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODIyOQorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvRWRpdG9yQ2xpZW50V2luQ0UuY3BwOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGll
bnRXaW5DRTo6aW50ZXJwcmV0S2V5RXZlbnQpOgorCiAyMDEwLTEwLTIyICBTYW0gV2VpbmlnICA8
c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgpk
aWZmIC0tZ2l0IGEvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFdpbkNF
LmNwcCBiL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRXaW5DRS5jcHAK
aW5kZXggYjllNmZiMS4uN2RlZTU2MiAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudFdpbkNFLmNwcAorKysgYi9XZWJLaXQvd2luY2UvV2ViQ29yZVN1
cHBvcnQvRWRpdG9yQ2xpZW50V2luQ0UuY3BwCkBAIC0zMTMsMTAgKzMxMywxMCBAQCBjb25zdCBj
aGFyKiBFZGl0b3JDbGllbnRXaW5DRTo6aW50ZXJwcmV0S2V5RXZlbnQoY29uc3QgS2V5Ym9hcmRF
dmVudCogZXZlbnQpCiAgICAgICAgIGtleURvd25Db21tYW5kc01hcCA9IG5ldyBIYXNoTWFwPGlu
dCwgY29uc3QgY2hhcio+OwogICAgICAgICBrZXlQcmVzc0NvbW1hbmRzTWFwID0gbmV3IEhhc2hN
YXA8aW50LCBjb25zdCBjaGFyKj47CiAKLSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IF9jb3VudG9mKGtleURvd25FbnRyaWVzKTsgaSsrKQorICAgICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IFdURl9BUlJBWV9MRU5HVEgoa2V5RG93bkVudHJpZXMpOyArK2kpCiAgICAgICAgICAg
ICBrZXlEb3duQ29tbWFuZHNNYXAtPnNldChrZXlEb3duRW50cmllc1tpXS5tb2RpZmllcnMgPDwg
MTYgfCBrZXlEb3duRW50cmllc1tpXS52aXJ0dWFsS2V5LCBrZXlEb3duRW50cmllc1tpXS5uYW1l
KTsKIAotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgX2NvdW50b2Yoa2V5UHJlc3NF
bnRyaWVzKTsgaSsrKQorICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IFdURl9BUlJBWV9M
RU5HVEgoa2V5UHJlc3NFbnRyaWVzKTsgKytpKQogICAgICAgICAgICAga2V5UHJlc3NDb21tYW5k
c01hcC0+c2V0KGtleVByZXNzRW50cmllc1tpXS5tb2RpZmllcnMgPDwgMTYgfCBrZXlQcmVzc0Vu
dHJpZXNbaV0uY2hhckNvZGUsIGtleVByZXNzRW50cmllc1tpXS5uYW1lKTsKICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTFi
ZDgyZC4uMGZmY2Y0MSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0xMC0yNSAgUGF0cmljayBHYW5zdGVy
ZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZXBsYWNlIF9jb3VudG9mIHdpdGggV1RGX0FSUkFZX0xFTkdUSAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDgyMjkKKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci93aW4vUHJvY2Vzc0xhdW5jaGVyV2luLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6c2FmYXJpUGx1Z2luc0RpcmVjdG9yeSk6CisgICAgICAgIChXZWJLaXQ6OmFk
ZE1vemlsbGFQbHVnaW5EaXJlY3Rvcmllcyk6CisgICAgICAgIChXZWJLaXQ6OmFkZFdpbmRvd3NN
ZWRpYVBsYXllclBsdWdpbkRpcmVjdG9yeSk6CisgICAgICAgIChXZWJLaXQ6OmFkZEFkb2JlQWNy
b2JhdFBsdWdpbkRpcmVjdG9yeSk6CisgICAgICAgIChXZWJLaXQ6OmFkZE1hY3JvbWVkaWFQbHVn
aW5EaXJlY3Rvcmllcyk6CisgICAgICAgIChXZWJLaXQ6OmFkZFBsdWdpblBhdGhzRnJvbVJlZ2lz
dHJ5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjppbnRlcnByZXRLZXlFdmVudCk6CisKIDIwMTAtMTAt
MjQgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvd2lu
L1Byb2Nlc3NMYXVuY2hlcldpbi5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci93aW4v
UHJvY2Vzc0xhdW5jaGVyV2luLmNwcAppbmRleCBhMWM5YWFmLi5mMTJlNDkyIDEwMDY0NAotLS0g
YS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci93aW4vUHJvY2Vzc0xhdW5jaGVyV2luLmNwcAor
KysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci93aW4vUHJvY2Vzc0xhdW5jaGVyV2luLmNw
cApAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2Vzcygp
CiAgICAgICAgIHJldHVybjsKIAogICAgIFdDSEFSIHBhdGhTdHJbTUFYX1BBVEhdOwotICAgIGlm
ICghOjpHZXRNb2R1bGVGaWxlTmFtZVcod2ViS2l0TW9kdWxlLCBwYXRoU3RyLCBfY291bnRvZihw
YXRoU3RyKSkpCisgICAgaWYgKCE6OkdldE1vZHVsZUZpbGVOYW1lVyh3ZWJLaXRNb2R1bGUsIHBh
dGhTdHIsIFdURl9BUlJBWV9MRU5HVEgocGF0aFN0cikpKQogICAgICAgICByZXR1cm47CiAKICAg
ICA6OlBhdGhSZW1vdmVGaWxlU3BlY1cocGF0aFN0cik7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwIGIvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAppbmRleCA2NDViNGMwLi5k
NWFlMDM3IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5J
bmZvU3RvcmVXaW4uY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdp
bkluZm9TdG9yZVdpbi5jcHAKQEAgLTgyLDkgKzgyLDkgQEAgc3RhdGljIGlubGluZSBTdHJpbmcg
c2FmYXJpUGx1Z2luc0RpcmVjdG9yeSgpCiAgICAgICAgIGNhY2hlZFBsdWdpbkRpcmVjdG9yeSA9
IHRydWU7CiAKICAgICAgICAgV0NIQVIgbW9kdWxlRmlsZU5hbWVTdHJbTUFYX1BBVEhdOwotICAg
ICAgICBpbnQgbW9kdWxlRmlsZU5hbWVMZW4gPSA6OkdldE1vZHVsZUZpbGVOYW1lVygwLCBtb2R1
bGVGaWxlTmFtZVN0ciwgX2NvdW50b2YobW9kdWxlRmlsZU5hbWVTdHIpKTsKKyAgICAgICAgaW50
IG1vZHVsZUZpbGVOYW1lTGVuID0gOjpHZXRNb2R1bGVGaWxlTmFtZVcoMCwgbW9kdWxlRmlsZU5h
bWVTdHIsIFdURl9BUlJBWV9MRU5HVEgobW9kdWxlRmlsZU5hbWVTdHIpKTsKIAotICAgICAgICBp
ZiAoIW1vZHVsZUZpbGVOYW1lTGVuIHx8IG1vZHVsZUZpbGVOYW1lTGVuID09IF9jb3VudG9mKG1v
ZHVsZUZpbGVOYW1lU3RyKSkKKyAgICAgICAgaWYgKCFtb2R1bGVGaWxlTmFtZUxlbiB8fCBtb2R1
bGVGaWxlTmFtZUxlbiA9PSBXVEZfQVJSQVlfTEVOR1RIKG1vZHVsZUZpbGVOYW1lU3RyKSkKICAg
ICAgICAgICAgIHJldHVybiBwbHVnaW5zRGlyZWN0b3J5OwogCiAgICAgICAgIGlmICghOjpQYXRo
UmVtb3ZlRmlsZVNwZWNXKG1vZHVsZUZpbGVOYW1lU3RyKSkKQEAgLTEwOSw3ICsxMDksNyBAQCBz
dGF0aWMgaW5saW5lIHZvaWQgYWRkTW96aWxsYVBsdWdpbkRpcmVjdG9yaWVzKFZlY3RvcjxTdHJp
bmc+JiBkaXJlY3RvcmllcykKIAogICAgIC8vIEVudW1lcmF0ZSBzdWJrZXlzCiAgICAgZm9yIChp
bnQgaSA9IDA7OyBpKyspIHsKLSAgICAgICAgRFdPUkQgbmFtZUxlbiA9IF9jb3VudG9mKG5hbWUp
OworICAgICAgICBEV09SRCBuYW1lTGVuID0gV1RGX0FSUkFZX0xFTkdUSChuYW1lKTsKICAgICAg
ICAgcmVzdWx0ID0gOjpSZWdFbnVtS2V5RXhXKGtleSwgaSwgbmFtZSwgJm5hbWVMZW4sIDAsIDAs
IDAsICZsYXN0TW9kaWZpZWQpOwogCiAgICAgICAgIGlmIChyZXN1bHQgIT0gRVJST1JfU1VDQ0VT
UykKQEAgLTE0Myw5ICsxNDMsOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYWRkV2luZG93c01lZGlh
UGxheWVyUGx1Z2luRGlyZWN0b3J5KFZlY3RvcjxTdHJpbmc+JiBkaXJlY3RvcgogewogICAgIC8v
IFRoZSBuZXcgV01QIEZpcmVmb3ggcGx1Z2luIGlzIGluc3RhbGxlZCBpbiBcUEZpbGVzXFBsdWdp
bnMgaWYgaXQgY2FuJ3QgZmluZCBhbnkgRmlyZWZveCBpbnN0YWxscwogICAgIFdDSEFSIHBsdWdp
bkRpcmVjdG9yeVN0cltNQVhfUEFUSCArIDFdOwotICAgIERXT1JEIHBsdWdpbkRpcmVjdG9yeVNp
emUgPSA6OkV4cGFuZEVudmlyb25tZW50U3RyaW5nc1coTCIlU1lTVEVNRFJJVkUlXFxQRmlsZXNc
XFBsdWdpbnMiLCBwbHVnaW5EaXJlY3RvcnlTdHIsIF9jb3VudG9mKHBsdWdpbkRpcmVjdG9yeVN0
cikpOworICAgIERXT1JEIHBsdWdpbkRpcmVjdG9yeVNpemUgPSA6OkV4cGFuZEVudmlyb25tZW50
U3RyaW5nc1coTCIlU1lTVEVNRFJJVkUlXFxQRmlsZXNcXFBsdWdpbnMiLCBwbHVnaW5EaXJlY3Rv
cnlTdHIsIFdURl9BUlJBWV9MRU5HVEgocGx1Z2luRGlyZWN0b3J5U3RyKSk7CiAKLSAgICBpZiAo
cGx1Z2luRGlyZWN0b3J5U2l6ZSA+IDAgJiYgcGx1Z2luRGlyZWN0b3J5U2l6ZSA8PSBfY291bnRv
ZihwbHVnaW5EaXJlY3RvcnlTdHIpKQorICAgIGlmIChwbHVnaW5EaXJlY3RvcnlTaXplID4gMCAm
JiBwbHVnaW5EaXJlY3RvcnlTaXplIDw9IFdURl9BUlJBWV9MRU5HVEgocGx1Z2luRGlyZWN0b3J5
U3RyKSkKICAgICAgICAgZGlyZWN0b3JpZXMuYXBwZW5kKFN0cmluZyhwbHVnaW5EaXJlY3RvcnlT
dHIsIHBsdWdpbkRpcmVjdG9yeVNpemUgLSAxKSk7CiAKICAgICBEV09SRCB0eXBlOwpAQCAtMTg3
LDcgKzE4Nyw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhZGRBZG9iZUFjcm9iYXRQbHVnaW5EaXJl
Y3RvcnkoVmVjdG9yPFN0cmluZz4mIGRpcmVjdG9yaWVzKQogCiAgICAgLy8gRW51bWVyYXRlIHN1
YmtleXMKICAgICBmb3IgKGludCBpID0gMDs7IGkrKykgewotICAgICAgICBEV09SRCBuYW1lTGVu
ID0gX2NvdW50b2YobmFtZSk7CisgICAgICAgIERXT1JEIG5hbWVMZW4gPSBXVEZfQVJSQVlfTEVO
R1RIKG5hbWUpOwogICAgICAgICByZXN1bHQgPSA6OlJlZ0VudW1LZXlFeFcoa2V5LCBpLCBuYW1l
LCAmbmFtZUxlbiwgMCwgMCwgMCwgJmxhc3RNb2RpZmllZCk7CiAKICAgICAgICAgaWYgKHJlc3Vs
dCAhPSBFUlJPUl9TVUNDRVNTKQpAQCAtMjIyLDcgKzIyMiw3IEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBhZGRNYWNyb21lZGlhUGx1Z2luRGlyZWN0b3JpZXMoVmVjdG9yPFN0cmluZz4mIGRpcmVjdG9y
aWVzKQogI2lmICFPUyhXSU5DRSkKICAgICBXQ0hBUiBzeXN0ZW1EaXJlY3RvcnlTdHJbTUFYX1BB
VEhdOwogCi0gICAgaWYgKCE6OkdldFN5c3RlbURpcmVjdG9yeVcoc3lzdGVtRGlyZWN0b3J5U3Ry
LCBfY291bnRvZihzeXN0ZW1EaXJlY3RvcnlTdHIpKSkKKyAgICBpZiAoITo6R2V0U3lzdGVtRGly
ZWN0b3J5VyhzeXN0ZW1EaXJlY3RvcnlTdHIsIFdURl9BUlJBWV9MRU5HVEgoc3lzdGVtRGlyZWN0
b3J5U3RyKSkpCiAgICAgICAgIHJldHVybjsKIAogICAgIFdDSEFSIG1hY3JvbWVkaWFEaXJlY3Rv
cnlTdHJbTUFYX1BBVEhdOwpAQCAtMzEyLDcgKzMxMiw3IEBAIHN0YXRpYyB2b2lkIGFkZFBsdWdp
blBhdGhzRnJvbVJlZ2lzdHJ5KEhLRVkgcm9vdEtleSwgVmVjdG9yPFN0cmluZz4mIHBhdGhzKQog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyA7ICsraSkgewogICAgICAgICAvLyBNU0ROIHNheXMgdGhh
dCBrZXkgbmFtZXMgaGF2ZSBhIG1heGltdW0gbGVuZ3RoIG9mIDI1NSBjaGFyYWN0ZXJzLgogICAg
ICAgICB3Y2hhcl90IG5hbWVbMjU2XTsKLSAgICAgICAgRFdPUkQgbmFtZUxlbiA9IF9jb3VudG9m
KG5hbWUpOworICAgICAgICBEV09SRCBuYW1lTGVuID0gV1RGX0FSUkFZX0xFTkdUSChuYW1lKTsK
ICAgICAgICAgaWYgKDo6UmVnRW51bUtleUV4VyhrZXksIGksIG5hbWUsICZuYW1lTGVuLCAwLCAw
LCAwLCAwKSAhPSBFUlJPUl9TVUNDRVNTKQogICAgICAgICAgICAgYnJlYWs7CiAKZGlmZiAtLWdp
dCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcCBiL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcAppbmRleCBiYmUyMTg2Li41
MjY0NzRhIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFn
ZVdpbi5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4u
Y3BwCkBAIC0xNTcsMTAgKzE1NywxMCBAQCBjb25zdCBjaGFyKiBXZWJQYWdlOjppbnRlcnByZXRL
ZXlFdmVudChjb25zdCBLZXlib2FyZEV2ZW50KiBldnQpCiAgICAgICAgIGtleURvd25Db21tYW5k
c01hcCA9IG5ldyBIYXNoTWFwPGludCwgY29uc3QgY2hhcio+OwogICAgICAgICBrZXlQcmVzc0Nv
bW1hbmRzTWFwID0gbmV3IEhhc2hNYXA8aW50LCBjb25zdCBjaGFyKj47CiAKLSAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IF9jb3VudG9mKGtleURvd25FbnRyaWVzKTsgaSsrKQorICAg
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgoa2V5RG93bkVudHJp
ZXMpOyArK2kpCiAgICAgICAgICAgICBrZXlEb3duQ29tbWFuZHNNYXAtPnNldChrZXlEb3duRW50
cmllc1tpXS5tb2RpZmllcnMgPDwgMTYgfCBrZXlEb3duRW50cmllc1tpXS52aXJ0dWFsS2V5LCBr
ZXlEb3duRW50cmllc1tpXS5uYW1lKTsKIAotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgX2NvdW50b2Yoa2V5UHJlc3NFbnRyaWVzKTsgaSsrKQorICAgICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgoa2V5UHJlc3NFbnRyaWVzKTsgKytpKQogICAgICAg
ICAgICAga2V5UHJlc3NDb21tYW5kc01hcC0+c2V0KGtleVByZXNzRW50cmllc1tpXS5tb2RpZmll
cnMgPDwgMTYgfCBrZXlQcmVzc0VudHJpZXNbaV0uY2hhckNvZGUsIGtleVByZXNzRW50cmllc1tp
XS5uYW1lKTsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71737</attachid>
            <date>2010-10-25 05:14:58 -0700</date>
            <delta_ts>2010-10-25 10:03:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48229b.patch</filename>
            <type>text/plain</type>
            <size>14948</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA4ZWZjNTg1Li40MTQ4OWYzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTAtMTAtMjUgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwbGFjZSBf
Y291bnRvZiB3aXRoIFdURl9BUlJBWV9MRU5HVEgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MjI5CisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoK
KwogMjAxMC0xMC0yNCAgS3dhbmcgWXVsIFNlbyAgPHNreXVsQGNvbXBhbnkxMDAubmV0PgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEtpbHplci4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9QbGF0Zm9ybS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKaW5kZXgg
ZTJhY2E2MS4uNzlmMTk0YSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3Jt
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTU2MywxMSArNTYzLDYg
QEAKICNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlzYWJsZSAiYXNzZXJ0LmgiICovCiAjZGVm
aW5lIGFzc2VydCh4KQogCi0vKiBfY291bnRvZiBpcyBvbmx5IGluY2x1ZGVkIGluIENFNjsgZm9y
IENFNSB3ZSBuZWVkIHRvIGRlZmluZSBpdCBvdXJzZWxmICovCi0jaWZuZGVmIF9jb3VudG9mCi0j
ZGVmaW5lIF9jb3VudG9mKHgpIChzaXplb2YoeCkgLyBzaXplb2YoKHgpWzBdKSkKLSNlbmRpZgot
CiAjZW5kaWYgIC8qIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpICovCiAKICNpZiBQTEFURk9S
TShRVCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggNzU2ZmE4ZC4uYmRhYjY5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0xMC0yNSAgUGF0cmlj
ayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNlIF9jb3VudG9mIHdpdGggV1RGX0FSUkFZ
X0xFTkdUSAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDgyMjkKKworICAgICAgICAqIHBsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Om9wZW5UZW1wb3JhcnlGaWxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5j
ZS9GaWxlU3lzdGVtV2luQ0UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3BlblRlbXBvcmFyeUZp
bGUpOgorICAgICAgICAqIHBsdWdpbnMvd2luL1BsdWdpbkRhdGFiYXNlV2luLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmFkZFBsdWdpblBhdGhzRnJvbVJlZ2lzdHJ5KToKKyAgICAgICAgKFdlYkNv
cmU6OmFkZFdpbmRvd3NNZWRpYVBsYXllclBsdWdpbkRpcmVjdG9yeSk6CisgICAgICAgIChXZWJD
b3JlOjphZGRNYWNyb21lZGlhUGx1Z2luRGlyZWN0b3JpZXMpOgorCiAyMDEwLTEwLTI0ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFRpbW90aHkgSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVT
eXN0ZW1XaW4uY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZVN5c3RlbVdpbi5jcHAKaW5k
ZXggNGI3YTY5Mi4uMmNjYTA4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmls
ZVN5c3RlbVdpbi5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZVN5c3RlbVdpbi5j
cHAKQEAgLTE5Miw4ICsxOTIsOCBAQCBDU3RyaW5nIG9wZW5UZW1wb3JhcnlGaWxlKGNvbnN0IGNo
YXIqLCBQbGF0Zm9ybUZpbGVIYW5kbGUmIGhhbmRsZSkKICAgICBoYW5kbGUgPSBJTlZBTElEX0hB
TkRMRV9WQUxVRTsKIAogICAgIGNoYXIgdGVtcFBhdGhbTUFYX1BBVEhdOwotICAgIGludCB0ZW1w
UGF0aExlbmd0aCA9IDo6R2V0VGVtcFBhdGhBKF9jb3VudG9mKHRlbXBQYXRoKSwgdGVtcFBhdGgp
OwotICAgIGlmICh0ZW1wUGF0aExlbmd0aCA8PSAwIHx8IHRlbXBQYXRoTGVuZ3RoID4gX2NvdW50
b2YodGVtcFBhdGgpKQorICAgIGludCB0ZW1wUGF0aExlbmd0aCA9IDo6R2V0VGVtcFBhdGhBKFdU
Rl9BUlJBWV9MRU5HVEgodGVtcFBhdGgpLCB0ZW1wUGF0aCk7CisgICAgaWYgKHRlbXBQYXRoTGVu
Z3RoIDw9IDAgfHwgdGVtcFBhdGhMZW5ndGggPiBXVEZfQVJSQVlfTEVOR1RIKHRlbXBQYXRoKSkK
ICAgICAgICAgcmV0dXJuIENTdHJpbmcoKTsKIAogICAgIEhDUllQVFBST1YgaENyeXB0UHJvdiA9
IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3dpbmNlL0ZpbGVTeXN0ZW1XaW5DRS5j
cHAgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbmNlL0ZpbGVTeXN0ZW1XaW5DRS5jcHAKaW5kZXggMmEy
NzA4OS4uOTBiMjc4ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9GaWxlU3lz
dGVtV2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvRmlsZVN5c3RlbVdpbkNF
LmNwcApAQCAtMTc0LDggKzE3NCw4IEBAIENTdHJpbmcgb3BlblRlbXBvcmFyeUZpbGUoY29uc3Qg
Y2hhciosIFBsYXRmb3JtRmlsZUhhbmRsZSYgaGFuZGxlKQogICAgIGhhbmRsZSA9IElOVkFMSURf
SEFORExFX1ZBTFVFOwogCiAgICAgd2NoYXJfdCB0ZW1wUGF0aFtNQVhfUEFUSF07Ci0gICAgaW50
IHRlbXBQYXRoTGVuZ3RoID0gOjpHZXRUZW1wUGF0aChfY291bnRvZih0ZW1wUGF0aCksIHRlbXBQ
YXRoKTsKLSAgICBpZiAodGVtcFBhdGhMZW5ndGggPD0gMCB8fCB0ZW1wUGF0aExlbmd0aCA+IF9j
b3VudG9mKHRlbXBQYXRoKSkKKyAgICBpbnQgdGVtcFBhdGhMZW5ndGggPSA6OkdldFRlbXBQYXRo
KFdURl9BUlJBWV9MRU5HVEgodGVtcFBhdGgpLCB0ZW1wUGF0aCk7CisgICAgaWYgKHRlbXBQYXRo
TGVuZ3RoIDw9IDAgfHwgdGVtcFBhdGhMZW5ndGggPiBXVEZfQVJSQVlfTEVOR1RIKHRlbXBQYXRo
KSkKICAgICAgICAgcmV0dXJuIENTdHJpbmcoKTsKIAogICAgIEhDUllQVFBST1YgaENyeXB0UHJv
diA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvd2luL1BsdWdpbkRhdGFiYXNlV2lu
LmNwcCBiL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luRGF0YWJhc2VXaW4uY3BwCmluZGV4IDZj
YmNkYzguLmVlNjEzMGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luRGF0
YWJhc2VXaW4uY3BwCisrKyBiL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luRGF0YWJhc2VXaW4u
Y3BwCkBAIC0zNCwxMCArMzQsNiBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNsdWRlIDxz
aGx3YXBpLmg+CiAKLSNpZiBDT01QSUxFUihNSU5HVykKLSNkZWZpbmUgX2NvdW50b2YoeCkgKHNp
emVvZih4KS9zaXplb2YoeFswXSkpCi0jZW5kaWYKLQogI2lmIE9TKFdJTkNFKQogLy8gV0lOQ0Ug
ZG9lc24ndCBzdXBwb3J0IFJlZ2lzdHJ5IEtleSBBY2Nlc3MgUmlnaHRzLiBUaGUgcGFyYW1ldGVy
IHNob3VsZCBhbHdheXMgYmUgMAogI2lmbmRlZiBLRVlfRU5VTUVSQVRFX1NVQl9LRVlTCkBAIC05
Niw3ICs5Miw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhZGRQbHVnaW5QYXRoc0Zyb21SZWdpc3Ry
eShIS0VZIHJvb3RLZXksIEhhc2hTZXQ8U3RyaW5nPiYgcGF0CiAKICAgICAvLyBFbnVtZXJhdGUg
c3Via2V5cwogICAgIGZvciAoaW50IGkgPSAwOzsgaSsrKSB7Ci0gICAgICAgIERXT1JEIG5hbWVM
ZW4gPSBfY291bnRvZihuYW1lKTsKKyAgICAgICAgRFdPUkQgbmFtZUxlbiA9IFdURl9BUlJBWV9M
RU5HVEgobmFtZSk7CiAgICAgICAgIHJlc3VsdCA9IFJlZ0VudW1LZXlFeFcoa2V5LCBpLCBuYW1l
LCAmbmFtZUxlbiwgMCwgMCwgMCwgJmxhc3RNb2RpZmllZCk7CiAKICAgICAgICAgaWYgKHJlc3Vs
dCAhPSBFUlJPUl9TVUNDRVNTKQpAQCAtMjU3LDkgKzI1Myw5IEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBhZGRXaW5kb3dzTWVkaWFQbGF5ZXJQbHVnaW5EaXJlY3RvcnkoVmVjdG9yPFN0cmluZz4mIGRp
cmVjdG9yCiAjaWYgIU9TKFdJTkNFKQogICAgIC8vIFRoZSBuZXcgV01QIEZpcmVmb3ggcGx1Z2lu
IGlzIGluc3RhbGxlZCBpbiBcUEZpbGVzXFBsdWdpbnMgaWYgaXQgY2FuJ3QgZmluZCBhbnkgRmly
ZWZveCBpbnN0YWxscwogICAgIFdDSEFSIHBsdWdpbkRpcmVjdG9yeVN0cltfTUFYX1BBVEggKyAx
XTsKLSAgICBEV09SRCBwbHVnaW5EaXJlY3RvcnlTaXplID0gOjpFeHBhbmRFbnZpcm9ubWVudFN0
cmluZ3NXKFRFWFQoIiVTWVNURU1EUklWRSVcXFBGaWxlc1xcUGx1Z2lucyIpLCBwbHVnaW5EaXJl
Y3RvcnlTdHIsIF9jb3VudG9mKHBsdWdpbkRpcmVjdG9yeVN0cikpOworICAgIERXT1JEIHBsdWdp
bkRpcmVjdG9yeVNpemUgPSA6OkV4cGFuZEVudmlyb25tZW50U3RyaW5nc1coVEVYVCgiJVNZU1RF
TURSSVZFJVxcUEZpbGVzXFxQbHVnaW5zIiksIHBsdWdpbkRpcmVjdG9yeVN0ciwgV1RGX0FSUkFZ
X0xFTkdUSChwbHVnaW5EaXJlY3RvcnlTdHIpKTsKIAotICAgIGlmIChwbHVnaW5EaXJlY3RvcnlT
aXplID4gMCAmJiBwbHVnaW5EaXJlY3RvcnlTaXplIDw9IF9jb3VudG9mKHBsdWdpbkRpcmVjdG9y
eVN0cikpCisgICAgaWYgKHBsdWdpbkRpcmVjdG9yeVNpemUgPiAwICYmIHBsdWdpbkRpcmVjdG9y
eVNpemUgPD0gV1RGX0FSUkFZX0xFTkdUSChwbHVnaW5EaXJlY3RvcnlTdHIpKQogICAgICAgICBk
aXJlY3Rvcmllcy5hcHBlbmQoU3RyaW5nKHBsdWdpbkRpcmVjdG9yeVN0ciwgcGx1Z2luRGlyZWN0
b3J5U2l6ZSAtIDEpKTsKICNlbmRpZgogCkBAIC00MTAsNyArNDA2LDcgQEAgc3RhdGljIGlubGlu
ZSB2b2lkIGFkZE1hY3JvbWVkaWFQbHVnaW5EaXJlY3RvcmllcyhWZWN0b3I8U3RyaW5nPiYgZGly
ZWN0b3JpZXMpCiAjaWYgIU9TKFdJTkNFKQogICAgIFdDSEFSIHN5c3RlbURpcmVjdG9yeVN0cltN
QVhfUEFUSF07CiAKLSAgICBpZiAoR2V0U3lzdGVtRGlyZWN0b3J5KHN5c3RlbURpcmVjdG9yeVN0
ciwgX2NvdW50b2Yoc3lzdGVtRGlyZWN0b3J5U3RyKSkgPT0gMCkKKyAgICBpZiAoIUdldFN5c3Rl
bURpcmVjdG9yeShzeXN0ZW1EaXJlY3RvcnlTdHIsIFdURl9BUlJBWV9MRU5HVEgoc3lzdGVtRGly
ZWN0b3J5U3RyKSkpCiAgICAgICAgIHJldHVybjsKIAogICAgIFdDSEFSIG1hY3JvbWVkaWFEaXJl
Y3RvcnlTdHJbTUFYX1BBVEhdOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9X
ZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAxMTA1NWMzLi45MDkyOWFlIDEwMDY0NAotLS0gYS9X
ZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDEwLTEwLTI1ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxh
Y2UgX2NvdW50b2Ygd2l0aCBXVEZfQVJSQVlfTEVOR1RICisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODIyOQorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3BwOgorICAgICAgICAoaXNQcmVJbnNwZWN0RWxlbWVu
dFRhZ1NhZmFyaSk6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpp
bnRlcnByZXRLZXlFdmVudCk6CisKIDIwMTAtMTAtMjQgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFw
cGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmNwcCBiL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3BwCmluZGV4IGFiMWY3OWUuLjI0MTc4ZjIg
MTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGll
bnQuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGll
bnQuY3BwCkBAIC02MCw3ICs2MCw3IEBAIHN0YXRpYyBib29sIGlzUHJlSW5zcGVjdEVsZW1lbnRU
YWdTYWZhcmkoSVdlYlVJRGVsZWdhdGUqIHVpRGVsZWdhdGUpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIFRDSEFSIG1vZHVsZVBhdGhbTUFYX1BBVEhdOwotICAgIERXT1JEIGxlbmd0aCA9
IDo6R2V0TW9kdWxlRmlsZU5hbWUoMCwgbW9kdWxlUGF0aCwgX2NvdW50b2YobW9kdWxlUGF0aCkp
OworICAgIERXT1JEIGxlbmd0aCA9IDo6R2V0TW9kdWxlRmlsZU5hbWUoMCwgbW9kdWxlUGF0aCwg
V1RGX0FSUkFZX0xFTkdUSChtb2R1bGVQYXRoKSk7CiAgICAgaWYgKCFsZW5ndGgpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBiL1dl
YktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggYTZjM2NiNC4uYTNmYjNhNSAxMDA2NDQKLS0tIGEv
V2ViS2l0L3dpbi9XZWJWaWV3LmNwcAorKysgYi9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC0x
ODMzLDEwICsxODMzLDEwIEBAIGNvbnN0IGNoYXIqIFdlYlZpZXc6OmludGVycHJldEtleUV2ZW50
KGNvbnN0IEtleWJvYXJkRXZlbnQqIGV2dCkKICAgICAgICAga2V5RG93bkNvbW1hbmRzTWFwID0g
bmV3IEhhc2hNYXA8aW50LCBjb25zdCBjaGFyKj47CiAgICAgICAgIGtleVByZXNzQ29tbWFuZHNN
YXAgPSBuZXcgSGFzaE1hcDxpbnQsIGNvbnN0IGNoYXIqPjsKIAotICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgX2NvdW50b2Yoa2V5RG93bkVudHJpZXMpOyBpKyspCisgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgV1RGX0FSUkFZX0xFTkdUSChrZXlEb3duRW50cmllcyk7ICsr
aSkKICAgICAgICAgICAgIGtleURvd25Db21tYW5kc01hcC0+c2V0KGtleURvd25FbnRyaWVzW2ld
Lm1vZGlmaWVycyA8PCAxNiB8IGtleURvd25FbnRyaWVzW2ldLnZpcnR1YWxLZXksIGtleURvd25F
bnRyaWVzW2ldLm5hbWUpOwogCi0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBfY291
bnRvZihrZXlQcmVzc0VudHJpZXMpOyBpKyspCisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgV1RGX0FSUkFZX0xFTkdUSChrZXlQcmVzc0VudHJpZXMpOyArK2kpCiAgICAgICAgICAgICBr
ZXlQcmVzc0NvbW1hbmRzTWFwLT5zZXQoa2V5UHJlc3NFbnRyaWVzW2ldLm1vZGlmaWVycyA8PCAx
NiB8IGtleVByZXNzRW50cmllc1tpXS5jaGFyQ29kZSwga2V5UHJlc3NFbnRyaWVzW2ldLm5hbWUp
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBiL1dlYktpdC93
aW5jZS9DaGFuZ2VMb2cKaW5kZXggMmUwNTg1ZC4uMmY4YzcxMCAxMDA2NDQKLS0tIGEvV2ViS2l0
L3dpbmNlL0NoYW5nZUxvZworKysgYi9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTAtMTAtMjUgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwbGFj
ZSBfY291bnRvZiB3aXRoIFdURl9BUlJBWV9MRU5HVEgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MjI5CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRXaW5DRS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudFdp
bkNFOjppbnRlcnByZXRLZXlFdmVudCk6CisKIDIwMTAtMTAtMjIgIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCmRpZmYg
LS1naXQgYS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50V2luQ0UuY3Bw
IGIvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFdpbkNFLmNwcAppbmRl
eCBiOWU2ZmIxLi43ZGVlNTYyIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBv
cnQvRWRpdG9yQ2xpZW50V2luQ0UuY3BwCisrKyBiL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRXaW5DRS5jcHAKQEAgLTMxMywxMCArMzEzLDEwIEBAIGNvbnN0IGNoYXIq
IEVkaXRvckNsaWVudFdpbkNFOjppbnRlcnByZXRLZXlFdmVudChjb25zdCBLZXlib2FyZEV2ZW50
KiBldmVudCkKICAgICAgICAga2V5RG93bkNvbW1hbmRzTWFwID0gbmV3IEhhc2hNYXA8aW50LCBj
b25zdCBjaGFyKj47CiAgICAgICAgIGtleVByZXNzQ29tbWFuZHNNYXAgPSBuZXcgSGFzaE1hcDxp
bnQsIGNvbnN0IGNoYXIqPjsKIAotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgX2Nv
dW50b2Yoa2V5RG93bkVudHJpZXMpOyBpKyspCisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgV1RGX0FSUkFZX0xFTkdUSChrZXlEb3duRW50cmllcyk7ICsraSkKICAgICAgICAgICAgIGtl
eURvd25Db21tYW5kc01hcC0+c2V0KGtleURvd25FbnRyaWVzW2ldLm1vZGlmaWVycyA8PCAxNiB8
IGtleURvd25FbnRyaWVzW2ldLnZpcnR1YWxLZXksIGtleURvd25FbnRyaWVzW2ldLm5hbWUpOwog
Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBfY291bnRvZihrZXlQcmVzc0VudHJp
ZXMpOyBpKyspCisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgV1RGX0FSUkFZX0xFTkdU
SChrZXlQcmVzc0VudHJpZXMpOyArK2kpCiAgICAgICAgICAgICBrZXlQcmVzc0NvbW1hbmRzTWFw
LT5zZXQoa2V5UHJlc3NFbnRyaWVzW2ldLm1vZGlmaWVycyA8PCAxNiB8IGtleVByZXNzRW50cmll
c1tpXS5jaGFyQ29kZSwga2V5UHJlc3NFbnRyaWVzW2ldLm5hbWUpOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5MWJkODJk
Li4wZmZjZjQxIDEwMDY0NAotLS0gYS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEwLTEwLTI1ICBQYXRyaWNrIEdhbnN0ZXJlciAg
PHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlcGxhY2UgX2NvdW50b2Ygd2l0aCBXVEZfQVJSQVlfTEVOR1RICisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODIyOQorCisgICAg
ICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL3dpbi9Qcm9jZXNzTGF1bmNoZXJXaW4uY3BwOgorICAg
ICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwOgorICAgICAgICAo
V2ViS2l0OjpzYWZhcmlQbHVnaW5zRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6YWRkTW96
aWxsYVBsdWdpbkRpcmVjdG9yaWVzKToKKyAgICAgICAgKFdlYktpdDo6YWRkV2luZG93c01lZGlh
UGxheWVyUGx1Z2luRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6YWRkQWRvYmVBY3JvYmF0
UGx1Z2luRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6YWRkTWFjcm9tZWRpYVBsdWdpbkRp
cmVjdG9yaWVzKToKKyAgICAgICAgKFdlYktpdDo6YWRkUGx1Z2luUGF0aHNGcm9tUmVnaXN0cnkp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmludGVycHJldEtleUV2ZW50KToKKwogMjAxMC0xMC0yNCAg
U2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBC
ZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci93aW4vUHJv
Y2Vzc0xhdW5jaGVyV2luLmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL3dpbi9Qcm9j
ZXNzTGF1bmNoZXJXaW4uY3BwCmluZGV4IGExYzlhYWYuLmYxMmU0OTIgMTAwNjQ0Ci0tLSBhL1dl
YktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL3dpbi9Qcm9jZXNzTGF1bmNoZXJXaW4uY3BwCisrKyBi
L1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL3dpbi9Qcm9jZXNzTGF1bmNoZXJXaW4uY3BwCkBA
IC02NCw3ICs2NCw3IEBAIHZvaWQgUHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgV0NIQVIgcGF0aFN0cltNQVhfUEFUSF07Ci0gICAgaWYgKCE6
OkdldE1vZHVsZUZpbGVOYW1lVyh3ZWJLaXRNb2R1bGUsIHBhdGhTdHIsIF9jb3VudG9mKHBhdGhT
dHIpKSkKKyAgICBpZiAoITo6R2V0TW9kdWxlRmlsZU5hbWVXKHdlYktpdE1vZHVsZSwgcGF0aFN0
ciwgV1RGX0FSUkFZX0xFTkdUSChwYXRoU3RyKSkpCiAgICAgICAgIHJldHVybjsKIAogICAgIDo6
UGF0aFJlbW92ZUZpbGVTcGVjVyhwYXRoU3RyKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCmluZGV4IDY0NWI0YzAuLmQ1YWUw
MzcgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9T
dG9yZVdpbi5jcHAKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5m
b1N0b3JlV2luLmNwcApAQCAtODIsOSArODIsOSBAQCBzdGF0aWMgaW5saW5lIFN0cmluZyBzYWZh
cmlQbHVnaW5zRGlyZWN0b3J5KCkKICAgICAgICAgY2FjaGVkUGx1Z2luRGlyZWN0b3J5ID0gdHJ1
ZTsKIAogICAgICAgICBXQ0hBUiBtb2R1bGVGaWxlTmFtZVN0cltNQVhfUEFUSF07Ci0gICAgICAg
IGludCBtb2R1bGVGaWxlTmFtZUxlbiA9IDo6R2V0TW9kdWxlRmlsZU5hbWVXKDAsIG1vZHVsZUZp
bGVOYW1lU3RyLCBfY291bnRvZihtb2R1bGVGaWxlTmFtZVN0cikpOworICAgICAgICBpbnQgbW9k
dWxlRmlsZU5hbWVMZW4gPSA6OkdldE1vZHVsZUZpbGVOYW1lVygwLCBtb2R1bGVGaWxlTmFtZVN0
ciwgV1RGX0FSUkFZX0xFTkdUSChtb2R1bGVGaWxlTmFtZVN0cikpOwogCi0gICAgICAgIGlmICgh
bW9kdWxlRmlsZU5hbWVMZW4gfHwgbW9kdWxlRmlsZU5hbWVMZW4gPT0gX2NvdW50b2YobW9kdWxl
RmlsZU5hbWVTdHIpKQorICAgICAgICBpZiAoIW1vZHVsZUZpbGVOYW1lTGVuIHx8IG1vZHVsZUZp
bGVOYW1lTGVuID09IFdURl9BUlJBWV9MRU5HVEgobW9kdWxlRmlsZU5hbWVTdHIpKQogICAgICAg
ICAgICAgcmV0dXJuIHBsdWdpbnNEaXJlY3Rvcnk7CiAKICAgICAgICAgaWYgKCE6OlBhdGhSZW1v
dmVGaWxlU3BlY1cobW9kdWxlRmlsZU5hbWVTdHIpKQpAQCAtMTA5LDcgKzEwOSw3IEBAIHN0YXRp
YyBpbmxpbmUgdm9pZCBhZGRNb3ppbGxhUGx1Z2luRGlyZWN0b3JpZXMoVmVjdG9yPFN0cmluZz4m
IGRpcmVjdG9yaWVzKQogCiAgICAgLy8gRW51bWVyYXRlIHN1YmtleXMKICAgICBmb3IgKGludCBp
ID0gMDs7IGkrKykgewotICAgICAgICBEV09SRCBuYW1lTGVuID0gX2NvdW50b2YobmFtZSk7Cisg
ICAgICAgIERXT1JEIG5hbWVMZW4gPSBXVEZfQVJSQVlfTEVOR1RIKG5hbWUpOwogICAgICAgICBy
ZXN1bHQgPSA6OlJlZ0VudW1LZXlFeFcoa2V5LCBpLCBuYW1lLCAmbmFtZUxlbiwgMCwgMCwgMCwg
Jmxhc3RNb2RpZmllZCk7CiAKICAgICAgICAgaWYgKHJlc3VsdCAhPSBFUlJPUl9TVUNDRVNTKQpA
QCAtMTQzLDkgKzE0Myw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhZGRXaW5kb3dzTWVkaWFQbGF5
ZXJQbHVnaW5EaXJlY3RvcnkoVmVjdG9yPFN0cmluZz4mIGRpcmVjdG9yCiB7CiAgICAgLy8gVGhl
IG5ldyBXTVAgRmlyZWZveCBwbHVnaW4gaXMgaW5zdGFsbGVkIGluIFxQRmlsZXNcUGx1Z2lucyBp
ZiBpdCBjYW4ndCBmaW5kIGFueSBGaXJlZm94IGluc3RhbGxzCiAgICAgV0NIQVIgcGx1Z2luRGly
ZWN0b3J5U3RyW01BWF9QQVRIICsgMV07Ci0gICAgRFdPUkQgcGx1Z2luRGlyZWN0b3J5U2l6ZSA9
IDo6RXhwYW5kRW52aXJvbm1lbnRTdHJpbmdzVyhMIiVTWVNURU1EUklWRSVcXFBGaWxlc1xcUGx1
Z2lucyIsIHBsdWdpbkRpcmVjdG9yeVN0ciwgX2NvdW50b2YocGx1Z2luRGlyZWN0b3J5U3RyKSk7
CisgICAgRFdPUkQgcGx1Z2luRGlyZWN0b3J5U2l6ZSA9IDo6RXhwYW5kRW52aXJvbm1lbnRTdHJp
bmdzVyhMIiVTWVNURU1EUklWRSVcXFBGaWxlc1xcUGx1Z2lucyIsIHBsdWdpbkRpcmVjdG9yeVN0
ciwgV1RGX0FSUkFZX0xFTkdUSChwbHVnaW5EaXJlY3RvcnlTdHIpKTsKIAotICAgIGlmIChwbHVn
aW5EaXJlY3RvcnlTaXplID4gMCAmJiBwbHVnaW5EaXJlY3RvcnlTaXplIDw9IF9jb3VudG9mKHBs
dWdpbkRpcmVjdG9yeVN0cikpCisgICAgaWYgKHBsdWdpbkRpcmVjdG9yeVNpemUgPiAwICYmIHBs
dWdpbkRpcmVjdG9yeVNpemUgPD0gV1RGX0FSUkFZX0xFTkdUSChwbHVnaW5EaXJlY3RvcnlTdHIp
KQogICAgICAgICBkaXJlY3Rvcmllcy5hcHBlbmQoU3RyaW5nKHBsdWdpbkRpcmVjdG9yeVN0ciwg
cGx1Z2luRGlyZWN0b3J5U2l6ZSAtIDEpKTsKIAogICAgIERXT1JEIHR5cGU7CkBAIC0xODcsNyAr
MTg3LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGFkZEFkb2JlQWNyb2JhdFBsdWdpbkRpcmVjdG9y
eShWZWN0b3I8U3RyaW5nPiYgZGlyZWN0b3JpZXMpCiAKICAgICAvLyBFbnVtZXJhdGUgc3Via2V5
cwogICAgIGZvciAoaW50IGkgPSAwOzsgaSsrKSB7Ci0gICAgICAgIERXT1JEIG5hbWVMZW4gPSBf
Y291bnRvZihuYW1lKTsKKyAgICAgICAgRFdPUkQgbmFtZUxlbiA9IFdURl9BUlJBWV9MRU5HVEgo
bmFtZSk7CiAgICAgICAgIHJlc3VsdCA9IDo6UmVnRW51bUtleUV4VyhrZXksIGksIG5hbWUsICZu
YW1lTGVuLCAwLCAwLCAwLCAmbGFzdE1vZGlmaWVkKTsKIAogICAgICAgICBpZiAocmVzdWx0ICE9
IEVSUk9SX1NVQ0NFU1MpCkBAIC0yMjIsNyArMjIyLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGFk
ZE1hY3JvbWVkaWFQbHVnaW5EaXJlY3RvcmllcyhWZWN0b3I8U3RyaW5nPiYgZGlyZWN0b3JpZXMp
CiAjaWYgIU9TKFdJTkNFKQogICAgIFdDSEFSIHN5c3RlbURpcmVjdG9yeVN0cltNQVhfUEFUSF07
CiAKLSAgICBpZiAoITo6R2V0U3lzdGVtRGlyZWN0b3J5VyhzeXN0ZW1EaXJlY3RvcnlTdHIsIF9j
b3VudG9mKHN5c3RlbURpcmVjdG9yeVN0cikpKQorICAgIGlmICghOjpHZXRTeXN0ZW1EaXJlY3Rv
cnlXKHN5c3RlbURpcmVjdG9yeVN0ciwgV1RGX0FSUkFZX0xFTkdUSChzeXN0ZW1EaXJlY3RvcnlT
dHIpKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgV0NIQVIgbWFjcm9tZWRpYURpcmVjdG9yeVN0
cltNQVhfUEFUSF07CkBAIC0zMTIsNyArMzEyLDcgQEAgc3RhdGljIHZvaWQgYWRkUGx1Z2luUGF0
aHNGcm9tUmVnaXN0cnkoSEtFWSByb290S2V5LCBWZWN0b3I8U3RyaW5nPiYgcGF0aHMpCiAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IDsgKytpKSB7CiAgICAgICAgIC8vIE1TRE4gc2F5cyB0aGF0IGtl
eSBuYW1lcyBoYXZlIGEgbWF4aW11bSBsZW5ndGggb2YgMjU1IGNoYXJhY3RlcnMuCiAgICAgICAg
IHdjaGFyX3QgbmFtZVsyNTZdOwotICAgICAgICBEV09SRCBuYW1lTGVuID0gX2NvdW50b2YobmFt
ZSk7CisgICAgICAgIERXT1JEIG5hbWVMZW4gPSBXVEZfQVJSQVlfTEVOR1RIKG5hbWUpOwogICAg
ICAgICBpZiAoOjpSZWdFbnVtS2V5RXhXKGtleSwgaSwgbmFtZSwgJm5hbWVMZW4sIDAsIDAsIDAs
IDApICE9IEVSUk9SX1NVQ0NFU1MpCiAgICAgICAgICAgICBicmVhazsKIApkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwCmluZGV4IGJiZTIxODYuLjUyNjQ3
NGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2lu
LmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHAK
QEAgLTE1NywxMCArMTU3LDEwIEBAIGNvbnN0IGNoYXIqIFdlYlBhZ2U6OmludGVycHJldEtleUV2
ZW50KGNvbnN0IEtleWJvYXJkRXZlbnQqIGV2dCkKICAgICAgICAga2V5RG93bkNvbW1hbmRzTWFw
ID0gbmV3IEhhc2hNYXA8aW50LCBjb25zdCBjaGFyKj47CiAgICAgICAgIGtleVByZXNzQ29tbWFu
ZHNNYXAgPSBuZXcgSGFzaE1hcDxpbnQsIGNvbnN0IGNoYXIqPjsKIAotICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgX2NvdW50b2Yoa2V5RG93bkVudHJpZXMpOyBpKyspCisgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgV1RGX0FSUkFZX0xFTkdUSChrZXlEb3duRW50cmllcyk7
ICsraSkKICAgICAgICAgICAgIGtleURvd25Db21tYW5kc01hcC0+c2V0KGtleURvd25FbnRyaWVz
W2ldLm1vZGlmaWVycyA8PCAxNiB8IGtleURvd25FbnRyaWVzW2ldLnZpcnR1YWxLZXksIGtleURv
d25FbnRyaWVzW2ldLm5hbWUpOwogCi0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBf
Y291bnRvZihrZXlQcmVzc0VudHJpZXMpOyBpKyspCisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgV1RGX0FSUkFZX0xFTkdUSChrZXlQcmVzc0VudHJpZXMpOyArK2kpCiAgICAgICAgICAg
ICBrZXlQcmVzc0NvbW1hbmRzTWFwLT5zZXQoa2V5UHJlc3NFbnRyaWVzW2ldLm1vZGlmaWVycyA8
PCAxNiB8IGtleVByZXNzRW50cmllc1tpXS5jaGFyQ29kZSwga2V5UHJlc3NFbnRyaWVzW2ldLm5h
bWUpOwogICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>