<?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>48191</bug_id>
          
          <creation_ts>2010-10-23 10:52:12 -0700</creation_ts>
          <short_desc>Add a ARRAYSIZE macro</short_desc>
          <delta_ts>2010-10-23 12:53:12 -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>DUPLICATE</resolution>
          <dup_id>32828</dup_id>
          
          <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>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>298430</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-10-23 10:52:12 -0700</bug_when>
    <thetext>see patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298439</commentid>
    <comment_count>1</comment_count>
      <attachid>71650</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2010-10-23 11:27:08 -0700</bug_when>
    <thetext>Created attachment 71650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298441</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-23 11:32:02 -0700</bug_when>
    <thetext>Attachment 71650 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 20 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>298449</commentid>
    <comment_count>3</comment_count>
      <attachid>71650</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-10-23 12:53:04 -0700</bug_when>
    <thetext>Comment on attachment 71650
Patch

From bug 32828: &quot;I&apos;d prefer to use a function template rather than a macro.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298450</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-10-23 12:53:12 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 32828 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71650</attachid>
            <date>2010-10-23 11:27:08 -0700</date>
            <delta_ts>2010-10-23 12:53:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48191.patch</filename>
            <type>text/plain</type>
            <size>20497</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA1NzU3M2RhLi5kOTMxN2JmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTAtMTAtMjMgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgQVJS
QVlTSVpFIG1hY3JvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00ODE5MQorCisgICAgICAgIFVuaWZ5IHRoZSBkaWZmZXJlbnQgaW1wbGVtZW50YXRpb25z
IGFuZCB1c2FnZXMuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB3dGYv
U3RkTGliRXh0cmFzLmg6CisKIDIwMTAtMTAtMjIgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbW92ZSB0aGUgUXVhcnR6Q29yZVByZXNlbnQuaCBtZWNoYW5pc20K
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL1BsYXRmb3JtLmgKaW5kZXggOTQ2MTkyYi4uZDQyOWRlMiAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRm
b3JtLmgKQEAgLTU2MywxMSArNTYzLDYgQEAKICNkZWZpbmUgX0lOQ19BU1NFUlQgICAgLyogZGlz
YWJsZSAiYXNzZXJ0LmgiICovCiAjZGVmaW5lIGFzc2VydCh4KQogCi0vKiBfY291bnRvZiBpcyBv
bmx5IGluY2x1ZGVkIGluIENFNjsgZm9yIENFNSB3ZSBuZWVkIHRvIGRlZmluZSBpdCBvdXJzZWxm
ICovCi0jaWZuZGVmIF9jb3VudG9mCi0jZGVmaW5lIF9jb3VudG9mKHgpIChzaXplb2YoeCkgLyBz
aXplb2YoKHgpWzBdKSkKLSNlbmRpZgotCiAjZW5kaWYgIC8qIE9TKFdJTkNFKSAmJiAhUExBVEZP
Uk0oUVQpICovCiAKICNpZiBQTEFURk9STShRVCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9TdGRMaWJFeHRyYXMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMuaApp
bmRleCBkNTk0YzE3Li5iMzc5NzEyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvU3Rk
TGliRXh0cmFzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5oCkBAIC0y
OCw2ICsyOCwxMSBAQAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIAorLy8gQVJSQVlT
SVpFOiBHZXQgdGhlIG51bWJlciBvZiBpdGVtcyBpbiBhbiBhcnJheS4KKyNpZm5kZWYgQVJSQVlT
SVpFCisjZGVmaW5lIEFSUkFZU0laRShleHApIChzaXplb2YoZXhwKSAvIHNpemVvZigoZXhwKVsw
XSkpCisjZW5kaWYKKwogLy8gVXNlIHRoZXNlIHRvIGRlY2xhcmUgYW5kIGRlZmluZSBhIHN0YXRp
YyBsb2NhbCB2YXJpYWJsZSAoc3RhdGljIFQ7KSBzbyB0aGF0CiAvLyAgaXQgaXMgbGVha2VkIHNv
IHRoYXQgaXRzIGRlc3RydWN0b3JzIGFyZSBub3QgY2FsbGVkIGF0IGV4aXQuIFVzaW5nIHRoaXMK
IC8vICBtYWNybyBhbHNvIGFsbG93cyB3b3JrYXJvdW5kcyBhIGNvbXBpbGVyIGJ1ZyBwcmVzZW50
IGluIEFwcGxlJ3MgdmVyc2lvbiBvZiBHQ0MgNC4wLjEuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0No
YW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGVlYjQ5ODMuLmVjMjgxMmYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjQgQEAKKzIwMTAtMTAtMjMgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGEgQVJSQVlTSVpFIG1hY3JvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00ODE5MQorCisgICAgICAgIFVuaWZ5IHRoZSBkaWZmZXJlbnQgaW1wbGVtZW50
YXRpb25zIGFuZCB1c2FnZXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9VVUlELmNwcDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS93aW4vRmlsZVN5c3RlbVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpv
cGVuVGVtcG9yYXJ5RmlsZSk6CisgICAgICAgICogcGxhdGZvcm0vd2luY2UvRmlsZVN5c3RlbVdp
bkNFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZW5UZW1wb3JhcnlGaWxlKToKKyAgICAgICAg
KiBwbHVnaW5zL3dpbi9QbHVnaW5EYXRhYmFzZVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjph
ZGRQbHVnaW5QYXRoc0Zyb21SZWdpc3RyeSk6CisgICAgICAgIChXZWJDb3JlOjphZGRXaW5kb3dz
TWVkaWFQbGF5ZXJQbHVnaW5EaXJlY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6YWRkTWFjcm9t
ZWRpYVBsdWdpbkRpcmVjdG9yaWVzKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkZhY3RvcnlCYWNr
ZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVUYWJsZXMpOgorCiAyMDEwLTEw
LTIyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1VVSUQuY3BwIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9VVUlELmNwcAppbmRleCBmZGJmNjAxLi44NzJlMTNlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL1VVSUQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVVVJRC5jcHAK
QEAgLTM5LDkgKzM5LDYgQEAKIAogI2lmIE9TKFdJTkRPV1MpCiAjaW5jbHVkZSA8b2JqYmFzZS5o
PgotI2lmbmRlZiBBUlJBWVNJWkUKLSNkZWZpbmUgQVJSQVlTSVpFKGEpICAgICAgICAgICAoc2l6
ZW9mKGEpIC8gc2l6ZW9mKChhKVswXSkpCi0jZW5kaWYKICNlbGlmIE9TKERBUldJTikKICNpbmNs
dWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2VsaWYgT1MoTElOVVgpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCmluZGV4IDRiN2E2OTIuLmFiZmZlOTAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCkBAIC0xOTIsOCArMTkyLDgg
QEAgQ1N0cmluZyBvcGVuVGVtcG9yYXJ5RmlsZShjb25zdCBjaGFyKiwgUGxhdGZvcm1GaWxlSGFu
ZGxlJiBoYW5kbGUpCiAgICAgaGFuZGxlID0gSU5WQUxJRF9IQU5ETEVfVkFMVUU7CiAKICAgICBj
aGFyIHRlbXBQYXRoW01BWF9QQVRIXTsKLSAgICBpbnQgdGVtcFBhdGhMZW5ndGggPSA6OkdldFRl
bXBQYXRoQShfY291bnRvZih0ZW1wUGF0aCksIHRlbXBQYXRoKTsKLSAgICBpZiAodGVtcFBhdGhM
ZW5ndGggPD0gMCB8fCB0ZW1wUGF0aExlbmd0aCA+IF9jb3VudG9mKHRlbXBQYXRoKSkKKyAgICBp
bnQgdGVtcFBhdGhMZW5ndGggPSA6OkdldFRlbXBQYXRoQShBUlJBWVNJWkUodGVtcFBhdGgpLCB0
ZW1wUGF0aCk7CisgICAgaWYgKHRlbXBQYXRoTGVuZ3RoIDw9IDAgfHwgdGVtcFBhdGhMZW5ndGgg
PiBBUlJBWVNJWkUodGVtcFBhdGgpKQogICAgICAgICByZXR1cm4gQ1N0cmluZygpOwogCiAgICAg
SENSWVBUUFJPViBoQ3J5cHRQcm92ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
d2luY2UvRmlsZVN5c3RlbVdpbkNFLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvRmlsZVN5
c3RlbVdpbkNFLmNwcAppbmRleCAyYTI3MDg5Li42ZWE5NzhmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbmNlL0ZpbGVTeXN0ZW1XaW5DRS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS93aW5jZS9GaWxlU3lzdGVtV2luQ0UuY3BwCkBAIC0xNzQsOCArMTc0LDggQEAgQ1N0cmluZyBv
cGVuVGVtcG9yYXJ5RmlsZShjb25zdCBjaGFyKiwgUGxhdGZvcm1GaWxlSGFuZGxlJiBoYW5kbGUp
CiAgICAgaGFuZGxlID0gSU5WQUxJRF9IQU5ETEVfVkFMVUU7CiAKICAgICB3Y2hhcl90IHRlbXBQ
YXRoW01BWF9QQVRIXTsKLSAgICBpbnQgdGVtcFBhdGhMZW5ndGggPSA6OkdldFRlbXBQYXRoKF9j
b3VudG9mKHRlbXBQYXRoKSwgdGVtcFBhdGgpOwotICAgIGlmICh0ZW1wUGF0aExlbmd0aCA8PSAw
IHx8IHRlbXBQYXRoTGVuZ3RoID4gX2NvdW50b2YodGVtcFBhdGgpKQorICAgIGludCB0ZW1wUGF0
aExlbmd0aCA9IDo6R2V0VGVtcFBhdGgoQVJSQVlTSVpFKHRlbXBQYXRoKSwgdGVtcFBhdGgpOwor
ICAgIGlmICh0ZW1wUGF0aExlbmd0aCA8PSAwIHx8IHRlbXBQYXRoTGVuZ3RoID4gQVJSQVlTSVpF
KHRlbXBQYXRoKSkKICAgICAgICAgcmV0dXJuIENTdHJpbmcoKTsKIAogICAgIEhDUllQVFBST1Yg
aENyeXB0UHJvdiA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvd2luL1BsdWdpbkRh
dGFiYXNlV2luLmNwcCBiL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luRGF0YWJhc2VXaW4uY3Bw
CmluZGV4IDZjYmNkYzguLmQ5MGY1MjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy93aW4v
UGx1Z2luRGF0YWJhc2VXaW4uY3BwCisrKyBiL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luRGF0
YWJhc2VXaW4uY3BwCkBAIC0zNCwxMCArMzQsNiBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNp
bmNsdWRlIDxzaGx3YXBpLmg+CiAKLSNpZiBDT01QSUxFUihNSU5HVykKLSNkZWZpbmUgX2NvdW50
b2YoeCkgKHNpemVvZih4KS9zaXplb2YoeFswXSkpCi0jZW5kaWYKLQogI2lmIE9TKFdJTkNFKQog
Ly8gV0lOQ0UgZG9lc24ndCBzdXBwb3J0IFJlZ2lzdHJ5IEtleSBBY2Nlc3MgUmlnaHRzLiBUaGUg
cGFyYW1ldGVyIHNob3VsZCBhbHdheXMgYmUgMAogI2lmbmRlZiBLRVlfRU5VTUVSQVRFX1NVQl9L
RVlTCkBAIC05Niw3ICs5Miw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhZGRQbHVnaW5QYXRoc0Zy
b21SZWdpc3RyeShIS0VZIHJvb3RLZXksIEhhc2hTZXQ8U3RyaW5nPiYgcGF0CiAKICAgICAvLyBF
bnVtZXJhdGUgc3Via2V5cwogICAgIGZvciAoaW50IGkgPSAwOzsgaSsrKSB7Ci0gICAgICAgIERX
T1JEIG5hbWVMZW4gPSBfY291bnRvZihuYW1lKTsKKyAgICAgICAgRFdPUkQgbmFtZUxlbiA9IEFS
UkFZU0laRShuYW1lKTsKICAgICAgICAgcmVzdWx0ID0gUmVnRW51bUtleUV4VyhrZXksIGksIG5h
bWUsICZuYW1lTGVuLCAwLCAwLCAwLCAmbGFzdE1vZGlmaWVkKTsKIAogICAgICAgICBpZiAocmVz
dWx0ICE9IEVSUk9SX1NVQ0NFU1MpCkBAIC0yNTcsOSArMjUzLDkgQEAgc3RhdGljIGlubGluZSB2
b2lkIGFkZFdpbmRvd3NNZWRpYVBsYXllclBsdWdpbkRpcmVjdG9yeShWZWN0b3I8U3RyaW5nPiYg
ZGlyZWN0b3IKICNpZiAhT1MoV0lOQ0UpCiAgICAgLy8gVGhlIG5ldyBXTVAgRmlyZWZveCBwbHVn
aW4gaXMgaW5zdGFsbGVkIGluIFxQRmlsZXNcUGx1Z2lucyBpZiBpdCBjYW4ndCBmaW5kIGFueSBG
aXJlZm94IGluc3RhbGxzCiAgICAgV0NIQVIgcGx1Z2luRGlyZWN0b3J5U3RyW19NQVhfUEFUSCAr
IDFdOwotICAgIERXT1JEIHBsdWdpbkRpcmVjdG9yeVNpemUgPSA6OkV4cGFuZEVudmlyb25tZW50
U3RyaW5nc1coVEVYVCgiJVNZU1RFTURSSVZFJVxcUEZpbGVzXFxQbHVnaW5zIiksIHBsdWdpbkRp
cmVjdG9yeVN0ciwgX2NvdW50b2YocGx1Z2luRGlyZWN0b3J5U3RyKSk7CisgICAgRFdPUkQgcGx1
Z2luRGlyZWN0b3J5U2l6ZSA9IDo6RXhwYW5kRW52aXJvbm1lbnRTdHJpbmdzVyhURVhUKCIlU1lT
VEVNRFJJVkUlXFxQRmlsZXNcXFBsdWdpbnMiKSwgcGx1Z2luRGlyZWN0b3J5U3RyLCBBUlJBWVNJ
WkUocGx1Z2luRGlyZWN0b3J5U3RyKSk7CiAKLSAgICBpZiAocGx1Z2luRGlyZWN0b3J5U2l6ZSA+
IDAgJiYgcGx1Z2luRGlyZWN0b3J5U2l6ZSA8PSBfY291bnRvZihwbHVnaW5EaXJlY3RvcnlTdHIp
KQorICAgIGlmIChwbHVnaW5EaXJlY3RvcnlTaXplID4gMCAmJiBwbHVnaW5EaXJlY3RvcnlTaXpl
IDw9IEFSUkFZU0laRShwbHVnaW5EaXJlY3RvcnlTdHIpKQogICAgICAgICBkaXJlY3Rvcmllcy5h
cHBlbmQoU3RyaW5nKHBsdWdpbkRpcmVjdG9yeVN0ciwgcGx1Z2luRGlyZWN0b3J5U2l6ZSAtIDEp
KTsKICNlbmRpZgogCkBAIC00MTAsNyArNDA2LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGFkZE1h
Y3JvbWVkaWFQbHVnaW5EaXJlY3RvcmllcyhWZWN0b3I8U3RyaW5nPiYgZGlyZWN0b3JpZXMpCiAj
aWYgIU9TKFdJTkNFKQogICAgIFdDSEFSIHN5c3RlbURpcmVjdG9yeVN0cltNQVhfUEFUSF07CiAK
LSAgICBpZiAoR2V0U3lzdGVtRGlyZWN0b3J5KHN5c3RlbURpcmVjdG9yeVN0ciwgX2NvdW50b2Yo
c3lzdGVtRGlyZWN0b3J5U3RyKSkgPT0gMCkKKyAgICBpZiAoR2V0U3lzdGVtRGlyZWN0b3J5KHN5
c3RlbURpcmVjdG9yeVN0ciwgQVJSQVlTSVpFKHN5c3RlbURpcmVjdG9yeVN0cikpID09IDApCiAg
ICAgICAgIHJldHVybjsKIAogICAgIFdDSEFSIG1hY3JvbWVkaWFEaXJlY3RvcnlTdHJbTUFYX1BB
VEhdOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5j
cHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcAppbmRleCBjMTgy
OTRkLi4yNGQ0NzFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tl
bmRJbXBsLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNw
cApAQCAtMTA4LDcgKzEwOCw3IEBAIHN0YXRpYyBib29sIGNyZWF0ZVRhYmxlcyhTUUxpdGVEYXRh
YmFzZSogc3FsaXRlRGF0YWJhc2UpCiAgICAgICAgICJDUkVBVEUgSU5ERVggSUYgTk9UIEVYSVNU
UyBJbmRleERhdGFfaW5kZXhJZCBPTiBJbmRleERhdGEoaW5kZXhJZCkiCiAgICAgICAgIH07CiAK
LSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFycmF5c2l6ZShjb21tYW5kcyk7ICsraSkgewor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgQVJSQVlTSVpFKGNvbW1hbmRzKTsgKytpKSB7CiAg
ICAgICAgIGlmICghc3FsaXRlRGF0YWJhc2UtPmV4ZWN1dGVDb21tYW5kKGNvbW1hbmRzW2ldKSkg
ewogICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cnkgdG8gcmVjb3ZlciBmcm9tIHRo
aXMgc2l0dWF0aW9uLiBNYXliZSBudWtlIHRoZSBkYXRhYmFzZSBhbmQgc3RhcnQgb3Zlcj8KICAg
ICAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIHJ1biB0aGUgZm9sbG93aW5nIGNvbW1hbmQg
Zm9yIEluZGV4ZWREQjogJXMiLCBjb21tYW5kc1tpXSk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBhMGRmMWZk
Li4zZjJhNmRlIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0xMC0yMyAgUGF0
cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBBUlJBWVNJWkUgbWFjcm8KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MTkxCisKKyAgICAg
ICAgVW5pZnkgdGhlIGRpZmZlcmVudCBpbXBsZW1lbnRhdGlvbnMgYW5kIHVzYWdlcy4KKworICAg
ICAgICAqIHNyYy9FZGl0b3JDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RWRpdG9y
Q2xpZW50SW1wbDo6aW50ZXJwcmV0S2V5RXZlbnQpOgorICAgICAgICAqIHRlc3RzL0tVUkxUZXN0
LmNwcDoKKyAgICAgICAgKENvbXBvbmVudENhc2U6OlRFU1QpOgorCiAyMDEwLTEwLTIyICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENh
cmxzc29uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBs
LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAKaW5kZXggMTE5
NzdiNi4uYzMyMDM4MCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGll
bnRJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuY3Bw
CkBAIC01MTYsMTIgKzUxNiwxMiBAQCBjb25zdCBjaGFyKiBFZGl0b3JDbGllbnRJbXBsOjppbnRl
cnByZXRLZXlFdmVudChjb25zdCBLZXlib2FyZEV2ZW50KiBldnQpCiAgICAgICAgIGtleURvd25D
b21tYW5kc01hcCA9IG5ldyBIYXNoTWFwPGludCwgY29uc3QgY2hhcio+OwogICAgICAgICBrZXlQ
cmVzc0NvbW1hbmRzTWFwID0gbmV3IEhhc2hNYXA8aW50LCBjb25zdCBjaGFyKj47CiAKLSAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGFycmF5c2l6ZShrZXlEb3duRW50cmllcyk7IGkr
KykgeworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgQVJSQVlTSVpFKGtleURvd25F
bnRyaWVzKTsgaSsrKSB7CiAgICAgICAgICAgICBrZXlEb3duQ29tbWFuZHNNYXAtPnNldChrZXlE
b3duRW50cmllc1tpXS5tb2RpZmllcnMgPDwgMTYgfCBrZXlEb3duRW50cmllc1tpXS52aXJ0dWFs
S2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5RG93bkVudHJpZXNb
aV0ubmFtZSk7CiAgICAgICAgIH0KIAotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
YXJyYXlzaXplKGtleVByZXNzRW50cmllcyk7IGkrKykgeworICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgQVJSQVlTSVpFKGtleVByZXNzRW50cmllcyk7IGkrKykgewogICAgICAgICAg
ICAga2V5UHJlc3NDb21tYW5kc01hcC0+c2V0KGtleVByZXNzRW50cmllc1tpXS5tb2RpZmllcnMg
PDwgMTYgfCBrZXlQcmVzc0VudHJpZXNbaV0uY2hhckNvZGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAga2V5UHJlc3NFbnRyaWVzW2ldLm5hbWUpOwogICAgICAgICB9CmRp
ZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvS1VSTFRlc3QuY3BwIGIvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL0tVUkxUZXN0LmNwcAppbmRleCAxNTJkZDMxLi40MGU0Mjk2IDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvS1VSTFRlc3QuY3BwCisrKyBiL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9LVVJMVGVzdC5jcHAKQEAgLTEzNSw3ICsxMzUsNyBAQCBURVNUKEtVUkxUZXN0
LCBEaWZmZXJlbnRHZXR0ZXJzKQogICAgICAgICB7Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9mb28v
YmxhaD9iYXI9YmF6I1x4Y2VceGIxXHhjZVx4YjIiLCAiaHR0cCIsICJ3d3cuZ29vZ2xlLmNvbSIs
IDAsICIiLCAwLCAiL2Zvby9ibGFoLyIsICJibGFoIiwgImJhcj1iYXoiLCAiXHhjZVx4YjFceGNl
XHhiMiJ9LAogICAgIH07CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFycmF5c2l6ZShj
YXNlcyk7IGkrKykgeworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgQVJSQVlTSVpFKGNhc2Vz
KTsgaSsrKSB7CiAgICAgICAgIFdlYkNvcmU6OktVUkwga3VybChXZWJDb3JlOjpQYXJzZWRVUkxT
dHJpbmcsIGNhc2VzW2ldLnVybCk7CiAKICAgICAgICAgRVhQRUNUX0VRKGNhc2VzW2ldLnByb3Rv
Y29sLCBrdXJsLnByb3RvY29sKCkpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9DaGFuZ2VMb2cg
Yi9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA0NmE4MGRmLi5iYTcxNWZkIDEwMDY0NAotLS0g
YS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDEwLTEwLTIzICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBhIEFSUkFZU0laRSBtYWNybworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDgxOTEKKworICAgICAgICBVbmlmeSB0aGUgZGlmZmVyZW50IGltcGxlbWVu
dGF0aW9ucyBhbmQgdXNhZ2VzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50RWZsLmNwcDoKKwogMjAxMC0xMC0yMiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KZGlmZiAtLWdpdCBhL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcCBiL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcAppbmRleCBhNjNiNzEyLi4wYTU5ODA0IDEw
MDY0NAotLS0gYS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHAK
KysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwCkBAIC0y
OTIsOCArMjkyLDYgQEAgc3RhdGljIGNvbnN0IEtleVByZXNzRW50cnkga2V5UHJlc3NFbnRyaWVz
W10gPSB7CiAgICAgeyAnXHInLCAgIEFsdEtleSB8IFNoaWZ0S2V5LCAgIkluc2VydE5ld2xpbmUi
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiB9OwogCi0jZGVmaW5lIEFSUkFZU0la
RShhcnJheSkgKHNpemVvZihhcnJheSkgLyBzaXplb2YoKGFycmF5KVswXSkpCi0KIGNvbnN0IGNo
YXIqIEVkaXRvckNsaWVudEVmbDo6aW50ZXJwcmV0S2V5RXZlbnQoY29uc3QgS2V5Ym9hcmRFdmVu
dCogZXZlbnQpCiB7CiAgICAgQVNTRVJUKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLmtl
eWRvd25FdmVudCB8fCBldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlwcmVzc0V2ZW50
KTsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKaW5kZXggZTE4ZmRhNy4uMjI2M2JkZiAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0xMC0y
MyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBBUlJBWVNJWkUgbWFjcm8K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MTkxCisK
KyAgICAgICAgVW5pZnkgdGhlIGRpZmZlcmVudCBpbXBsZW1lbnRhdGlvbnMgYW5kIHVzYWdlcy4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmNwcDoKKyAg
ICAgICAgKGlzUHJlSW5zcGVjdEVsZW1lbnRUYWdTYWZhcmkpOgorICAgICAgICAqIFdlYlZpZXcu
Y3BwOgorICAgICAgICAoV2ViVmlldzo6aW50ZXJwcmV0S2V5RXZlbnQpOgorCiAyMDEwLTEwLTIy
ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IHdpbmRvd3MgYnVp
bGQuCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51
Q2xpZW50LmNwcCBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGll
bnQuY3BwCmluZGV4IGFiMWY3OWUuLjZlYWYzZmIgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3BwCisrKyBiL1dlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3BwCkBAIC02MCw3ICs2MCw3IEBAIHN0
YXRpYyBib29sIGlzUHJlSW5zcGVjdEVsZW1lbnRUYWdTYWZhcmkoSVdlYlVJRGVsZWdhdGUqIHVp
RGVsZWdhdGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFRDSEFSIG1vZHVsZVBhdGhb
TUFYX1BBVEhdOwotICAgIERXT1JEIGxlbmd0aCA9IDo6R2V0TW9kdWxlRmlsZU5hbWUoMCwgbW9k
dWxlUGF0aCwgX2NvdW50b2YobW9kdWxlUGF0aCkpOworICAgIERXT1JEIGxlbmd0aCA9IDo6R2V0
TW9kdWxlRmlsZU5hbWUoMCwgbW9kdWxlUGF0aCwgQVJSQVlTSVpFKG1vZHVsZVBhdGgpKTsKICAg
ICBpZiAoIWxlbmd0aCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9XZWJL
aXQvd2luL1dlYlZpZXcuY3BwIGIvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCBiNTdlMDZh
Li43NzJiNDk5IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1dlYktp
dC93aW4vV2ViVmlldy5jcHAKQEAgLTE4MzMsMTAgKzE4MzMsMTAgQEAgY29uc3QgY2hhciogV2Vi
Vmlldzo6aW50ZXJwcmV0S2V5RXZlbnQoY29uc3QgS2V5Ym9hcmRFdmVudCogZXZ0KQogICAgICAg
ICBrZXlEb3duQ29tbWFuZHNNYXAgPSBuZXcgSGFzaE1hcDxpbnQsIGNvbnN0IGNoYXIqPjsKICAg
ICAgICAga2V5UHJlc3NDb21tYW5kc01hcCA9IG5ldyBIYXNoTWFwPGludCwgY29uc3QgY2hhcio+
OwogCi0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBfY291bnRvZihrZXlEb3duRW50
cmllcyk7IGkrKykKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IEFSUkFZU0laRShr
ZXlEb3duRW50cmllcyk7IGkrKykKICAgICAgICAgICAgIGtleURvd25Db21tYW5kc01hcC0+c2V0
KGtleURvd25FbnRyaWVzW2ldLm1vZGlmaWVycyA8PCAxNiB8IGtleURvd25FbnRyaWVzW2ldLnZp
cnR1YWxLZXksIGtleURvd25FbnRyaWVzW2ldLm5hbWUpOwogCi0gICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBfY291bnRvZihrZXlQcmVzc0VudHJpZXMpOyBpKyspCisgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBBUlJBWVNJWkUoa2V5UHJlc3NFbnRyaWVzKTsgaSsrKQog
ICAgICAgICAgICAga2V5UHJlc3NDb21tYW5kc01hcC0+c2V0KGtleVByZXNzRW50cmllc1tpXS5t
b2RpZmllcnMgPDwgMTYgfCBrZXlQcmVzc0VudHJpZXNbaV0uY2hhckNvZGUsIGtleVByZXNzRW50
cmllc1tpXS5uYW1lKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW5jZS9DaGFuZ2VM
b2cgYi9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IDJlMDU4NWQuLmU0ZjZhODYgMTAwNjQ0
Ci0tLSBhL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbmNlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTEwLTIzICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9n
YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIEFSUkFZU0laRSBtYWNybworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDgxOTEKKworICAgICAgICBVbmlmeSB0aGUgZGlmZmVyZW50
IGltcGxlbWVudGF0aW9ucyBhbmQgdXNhZ2VzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
RWRpdG9yQ2xpZW50V2luQ0UuY3BwOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRXaW5D
RTo6aW50ZXJwcmV0S2V5RXZlbnQpOgorCiAyMDEwLTEwLTIyICBTYW0gV2VpbmlnICA8c2FtQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFdpbkNFLmNwcCBi
L1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRXaW5DRS5jcHAKaW5kZXgg
YjllNmZiMS4uY2RkNjY0OCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0
L0VkaXRvckNsaWVudFdpbkNFLmNwcAorKysgYi9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQv
RWRpdG9yQ2xpZW50V2luQ0UuY3BwCkBAIC0zMTMsMTAgKzMxMywxMCBAQCBjb25zdCBjaGFyKiBF
ZGl0b3JDbGllbnRXaW5DRTo6aW50ZXJwcmV0S2V5RXZlbnQoY29uc3QgS2V5Ym9hcmRFdmVudCog
ZXZlbnQpCiAgICAgICAgIGtleURvd25Db21tYW5kc01hcCA9IG5ldyBIYXNoTWFwPGludCwgY29u
c3QgY2hhcio+OwogICAgICAgICBrZXlQcmVzc0NvbW1hbmRzTWFwID0gbmV3IEhhc2hNYXA8aW50
LCBjb25zdCBjaGFyKj47CiAKLSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IF9jb3Vu
dG9mKGtleURvd25FbnRyaWVzKTsgaSsrKQorICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgQVJSQVlTSVpFKGtleURvd25FbnRyaWVzKTsgaSsrKQogICAgICAgICAgICAga2V5RG93bkNv
bW1hbmRzTWFwLT5zZXQoa2V5RG93bkVudHJpZXNbaV0ubW9kaWZpZXJzIDw8IDE2IHwga2V5RG93
bkVudHJpZXNbaV0udmlydHVhbEtleSwga2V5RG93bkVudHJpZXNbaV0ubmFtZSk7CiAKLSAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IF9jb3VudG9mKGtleVByZXNzRW50cmllcyk7IGkr
KykKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IEFSUkFZU0laRShrZXlQcmVzc0Vu
dHJpZXMpOyBpKyspCiAgICAgICAgICAgICBrZXlQcmVzc0NvbW1hbmRzTWFwLT5zZXQoa2V5UHJl
c3NFbnRyaWVzW2ldLm1vZGlmaWVycyA8PCAxNiB8IGtleVByZXNzRW50cmllc1tpXS5jaGFyQ29k
ZSwga2V5UHJlc3NFbnRyaWVzW2ldLm5hbWUpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBiZGQ4OWFmLi5mMmI3Yjk5IDEw
MDY0NAotLS0gYS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDEwLTEwLTIzICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBhIEFSUkFZU0laRSBtYWNybworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDgxOTEKKworICAgICAgICBVbmlmeSB0aGUgZGlmZmVyZW50IGltcGxl
bWVudGF0aW9ucyBhbmQgdXNhZ2VzLgorCisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL3dp
bi9Qcm9jZXNzTGF1bmNoZXJXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNo
ZXI6OmxhdW5jaFByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVn
aW5JbmZvU3RvcmVXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpzYWZhcmlQbHVnaW5zRGlyZWN0
b3J5KToKKyAgICAgICAgKFdlYktpdDo6YWRkTW96aWxsYVBsdWdpbkRpcmVjdG9yaWVzKToKKyAg
ICAgICAgKFdlYktpdDo6YWRkV2luZG93c01lZGlhUGxheWVyUGx1Z2luRGlyZWN0b3J5KToKKyAg
ICAgICAgKFdlYktpdDo6YWRkQWRvYmVBY3JvYmF0UGx1Z2luRGlyZWN0b3J5KToKKyAgICAgICAg
KFdlYktpdDo6YWRkTWFjcm9tZWRpYVBsdWdpbkRpcmVjdG9yaWVzKToKKyAgICAgICAgKFdlYktp
dDo6YWRkUGx1Z2luUGF0aHNGcm9tUmVnaXN0cnkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS93aW4vV2ViUGFnZVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmludGVy
cHJldEtleUV2ZW50KToKKwogMjAxMC0xMC0yMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCmRpZmYgLS1naXQg
YS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci93aW4vUHJvY2Vzc0xhdW5jaGVyV2luLmNwcCBi
L1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL3dpbi9Qcm9jZXNzTGF1bmNoZXJXaW4uY3BwCmlu
ZGV4IGExYzlhYWYuLjgyZjYyMDMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5j
aGVyL3dpbi9Qcm9jZXNzTGF1bmNoZXJXaW4uY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0xh
dW5jaGVyL3dpbi9Qcm9jZXNzTGF1bmNoZXJXaW4uY3BwCkBAIC02NCw3ICs2NCw3IEBAIHZvaWQg
UHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
V0NIQVIgcGF0aFN0cltNQVhfUEFUSF07Ci0gICAgaWYgKCE6OkdldE1vZHVsZUZpbGVOYW1lVyh3
ZWJLaXRNb2R1bGUsIHBhdGhTdHIsIF9jb3VudG9mKHBhdGhTdHIpKSkKKyAgICBpZiAoITo6R2V0
TW9kdWxlRmlsZU5hbWVXKHdlYktpdE1vZHVsZSwgcGF0aFN0ciwgQVJSQVlTSVpFKHBhdGhTdHIp
KSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgOjpQYXRoUmVtb3ZlRmlsZVNwZWNXKHBhdGhTdHIp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0
b3JlV2luLmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9y
ZVdpbi5jcHAKaW5kZXggNjQ1YjRjMC4uZjEwYmM4OCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAorKysgYi9XZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCkBAIC04Miw5ICs4Miw5
IEBAIHN0YXRpYyBpbmxpbmUgU3RyaW5nIHNhZmFyaVBsdWdpbnNEaXJlY3RvcnkoKQogICAgICAg
ICBjYWNoZWRQbHVnaW5EaXJlY3RvcnkgPSB0cnVlOwogCiAgICAgICAgIFdDSEFSIG1vZHVsZUZp
bGVOYW1lU3RyW01BWF9QQVRIXTsKLSAgICAgICAgaW50IG1vZHVsZUZpbGVOYW1lTGVuID0gOjpH
ZXRNb2R1bGVGaWxlTmFtZVcoMCwgbW9kdWxlRmlsZU5hbWVTdHIsIF9jb3VudG9mKG1vZHVsZUZp
bGVOYW1lU3RyKSk7CisgICAgICAgIGludCBtb2R1bGVGaWxlTmFtZUxlbiA9IDo6R2V0TW9kdWxl
RmlsZU5hbWVXKDAsIG1vZHVsZUZpbGVOYW1lU3RyLCBBUlJBWVNJWkUobW9kdWxlRmlsZU5hbWVT
dHIpKTsKIAotICAgICAgICBpZiAoIW1vZHVsZUZpbGVOYW1lTGVuIHx8IG1vZHVsZUZpbGVOYW1l
TGVuID09IF9jb3VudG9mKG1vZHVsZUZpbGVOYW1lU3RyKSkKKyAgICAgICAgaWYgKCFtb2R1bGVG
aWxlTmFtZUxlbiB8fCBtb2R1bGVGaWxlTmFtZUxlbiA9PSBBUlJBWVNJWkUobW9kdWxlRmlsZU5h
bWVTdHIpKQogICAgICAgICAgICAgcmV0dXJuIHBsdWdpbnNEaXJlY3Rvcnk7CiAKICAgICAgICAg
aWYgKCE6OlBhdGhSZW1vdmVGaWxlU3BlY1cobW9kdWxlRmlsZU5hbWVTdHIpKQpAQCAtMTA5LDcg
KzEwOSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhZGRNb3ppbGxhUGx1Z2luRGlyZWN0b3JpZXMo
VmVjdG9yPFN0cmluZz4mIGRpcmVjdG9yaWVzKQogCiAgICAgLy8gRW51bWVyYXRlIHN1YmtleXMK
ICAgICBmb3IgKGludCBpID0gMDs7IGkrKykgewotICAgICAgICBEV09SRCBuYW1lTGVuID0gX2Nv
dW50b2YobmFtZSk7CisgICAgICAgIERXT1JEIG5hbWVMZW4gPSBBUlJBWVNJWkUobmFtZSk7CiAg
ICAgICAgIHJlc3VsdCA9IDo6UmVnRW51bUtleUV4VyhrZXksIGksIG5hbWUsICZuYW1lTGVuLCAw
LCAwLCAwLCAmbGFzdE1vZGlmaWVkKTsKIAogICAgICAgICBpZiAocmVzdWx0ICE9IEVSUk9SX1NV
Q0NFU1MpCkBAIC0xNDMsOSArMTQzLDkgQEAgc3RhdGljIGlubGluZSB2b2lkIGFkZFdpbmRvd3NN
ZWRpYVBsYXllclBsdWdpbkRpcmVjdG9yeShWZWN0b3I8U3RyaW5nPiYgZGlyZWN0b3IKIHsKICAg
ICAvLyBUaGUgbmV3IFdNUCBGaXJlZm94IHBsdWdpbiBpcyBpbnN0YWxsZWQgaW4gXFBGaWxlc1xQ
bHVnaW5zIGlmIGl0IGNhbid0IGZpbmQgYW55IEZpcmVmb3ggaW5zdGFsbHMKICAgICBXQ0hBUiBw
bHVnaW5EaXJlY3RvcnlTdHJbTUFYX1BBVEggKyAxXTsKLSAgICBEV09SRCBwbHVnaW5EaXJlY3Rv
cnlTaXplID0gOjpFeHBhbmRFbnZpcm9ubWVudFN0cmluZ3NXKEwiJVNZU1RFTURSSVZFJVxcUEZp
bGVzXFxQbHVnaW5zIiwgcGx1Z2luRGlyZWN0b3J5U3RyLCBfY291bnRvZihwbHVnaW5EaXJlY3Rv
cnlTdHIpKTsKKyAgICBEV09SRCBwbHVnaW5EaXJlY3RvcnlTaXplID0gOjpFeHBhbmRFbnZpcm9u
bWVudFN0cmluZ3NXKEwiJVNZU1RFTURSSVZFJVxcUEZpbGVzXFxQbHVnaW5zIiwgcGx1Z2luRGly
ZWN0b3J5U3RyLCBBUlJBWVNJWkUocGx1Z2luRGlyZWN0b3J5U3RyKSk7CiAKLSAgICBpZiAocGx1
Z2luRGlyZWN0b3J5U2l6ZSA+IDAgJiYgcGx1Z2luRGlyZWN0b3J5U2l6ZSA8PSBfY291bnRvZihw
bHVnaW5EaXJlY3RvcnlTdHIpKQorICAgIGlmIChwbHVnaW5EaXJlY3RvcnlTaXplID4gMCAmJiBw
bHVnaW5EaXJlY3RvcnlTaXplIDw9IEFSUkFZU0laRShwbHVnaW5EaXJlY3RvcnlTdHIpKQogICAg
ICAgICBkaXJlY3Rvcmllcy5hcHBlbmQoU3RyaW5nKHBsdWdpbkRpcmVjdG9yeVN0ciwgcGx1Z2lu
RGlyZWN0b3J5U2l6ZSAtIDEpKTsKIAogICAgIERXT1JEIHR5cGU7CkBAIC0xODcsNyArMTg3LDcg
QEAgc3RhdGljIGlubGluZSB2b2lkIGFkZEFkb2JlQWNyb2JhdFBsdWdpbkRpcmVjdG9yeShWZWN0
b3I8U3RyaW5nPiYgZGlyZWN0b3JpZXMpCiAKICAgICAvLyBFbnVtZXJhdGUgc3Via2V5cwogICAg
IGZvciAoaW50IGkgPSAwOzsgaSsrKSB7Ci0gICAgICAgIERXT1JEIG5hbWVMZW4gPSBfY291bnRv
ZihuYW1lKTsKKyAgICAgICAgRFdPUkQgbmFtZUxlbiA9IEFSUkFZU0laRShuYW1lKTsKICAgICAg
ICAgcmVzdWx0ID0gOjpSZWdFbnVtS2V5RXhXKGtleSwgaSwgbmFtZSwgJm5hbWVMZW4sIDAsIDAs
IDAsICZsYXN0TW9kaWZpZWQpOwogCiAgICAgICAgIGlmIChyZXN1bHQgIT0gRVJST1JfU1VDQ0VT
UykKQEAgLTIyMiw3ICsyMjIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYWRkTWFjcm9tZWRpYVBs
dWdpbkRpcmVjdG9yaWVzKFZlY3RvcjxTdHJpbmc+JiBkaXJlY3RvcmllcykKICNpZiAhT1MoV0lO
Q0UpCiAgICAgV0NIQVIgc3lzdGVtRGlyZWN0b3J5U3RyW01BWF9QQVRIXTsKIAotICAgIGlmICgh
OjpHZXRTeXN0ZW1EaXJlY3RvcnlXKHN5c3RlbURpcmVjdG9yeVN0ciwgX2NvdW50b2Yoc3lzdGVt
RGlyZWN0b3J5U3RyKSkpCisgICAgaWYgKCE6OkdldFN5c3RlbURpcmVjdG9yeVcoc3lzdGVtRGly
ZWN0b3J5U3RyLCBBUlJBWVNJWkUoc3lzdGVtRGlyZWN0b3J5U3RyKSkpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIFdDSEFSIG1hY3JvbWVkaWFEaXJlY3RvcnlTdHJbTUFYX1BBVEhdOwpAQCAtMzEy
LDcgKzMxMiw3IEBAIHN0YXRpYyB2b2lkIGFkZFBsdWdpblBhdGhzRnJvbVJlZ2lzdHJ5KEhLRVkg
cm9vdEtleSwgVmVjdG9yPFN0cmluZz4mIHBhdGhzKQogICAgIGZvciAoc2l6ZV90IGkgPSAwOyA7
ICsraSkgewogICAgICAgICAvLyBNU0ROIHNheXMgdGhhdCBrZXkgbmFtZXMgaGF2ZSBhIG1heGlt
dW0gbGVuZ3RoIG9mIDI1NSBjaGFyYWN0ZXJzLgogICAgICAgICB3Y2hhcl90IG5hbWVbMjU2XTsK
LSAgICAgICAgRFdPUkQgbmFtZUxlbiA9IF9jb3VudG9mKG5hbWUpOworICAgICAgICBEV09SRCBu
YW1lTGVuID0gQVJSQVlTSVpFKG5hbWUpOwogICAgICAgICBpZiAoOjpSZWdFbnVtS2V5RXhXKGtl
eSwgaSwgbmFtZSwgJm5hbWVMZW4sIDAsIDAsIDAsIDApICE9IEVSUk9SX1NVQ0NFU1MpCiAgICAg
ICAgICAgICBicmVhazsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
d2luL1dlYlBhZ2VXaW4uY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBh
Z2VXaW4uY3BwCmluZGV4IGJiZTIxODYuLjBkYmU4ODMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHAKQEAgLTE1NywxMCArMTU3LDEwIEBAIGNvbnN0
IGNoYXIqIFdlYlBhZ2U6OmludGVycHJldEtleUV2ZW50KGNvbnN0IEtleWJvYXJkRXZlbnQqIGV2
dCkKICAgICAgICAga2V5RG93bkNvbW1hbmRzTWFwID0gbmV3IEhhc2hNYXA8aW50LCBjb25zdCBj
aGFyKj47CiAgICAgICAgIGtleVByZXNzQ29tbWFuZHNNYXAgPSBuZXcgSGFzaE1hcDxpbnQsIGNv
bnN0IGNoYXIqPjsKIAotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgX2NvdW50b2Yo
a2V5RG93bkVudHJpZXMpOyBpKyspCisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBB
UlJBWVNJWkUoa2V5RG93bkVudHJpZXMpOyBpKyspCiAgICAgICAgICAgICBrZXlEb3duQ29tbWFu
ZHNNYXAtPnNldChrZXlEb3duRW50cmllc1tpXS5tb2RpZmllcnMgPDwgMTYgfCBrZXlEb3duRW50
cmllc1tpXS52aXJ0dWFsS2V5LCBrZXlEb3duRW50cmllc1tpXS5uYW1lKTsKIAotICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgX2NvdW50b2Yoa2V5UHJlc3NFbnRyaWVzKTsgaSsrKQor
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgQVJSQVlTSVpFKGtleVByZXNzRW50cmll
cyk7IGkrKykKICAgICAgICAgICAgIGtleVByZXNzQ29tbWFuZHNNYXAtPnNldChrZXlQcmVzc0Vu
dHJpZXNbaV0ubW9kaWZpZXJzIDw8IDE2IHwga2V5UHJlc3NFbnRyaWVzW2ldLmNoYXJDb2RlLCBr
ZXlQcmVzc0VudHJpZXNbaV0ubmFtZSk7CiAgICAgfQogCg==
</data>
<flag name="review"
          id="61748"
          type_id="1"
          status="-"
          setter="ap"
    />
    <flag name="commit-queue"
          id="61749"
          type_id="3"
          status="-"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>