<?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>99619</bug_id>
          
          <creation_ts>2012-10-17 11:16:48 -0700</creation_ts>
          <short_desc>IndexedDB: Explicitly send null/undefined/integers to frontend IDBCallbacks</short_desc>
          <delta_ts>2012-10-17 15:57:39 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Alec Flett">alecflett</reporter>
          <assigned_to name="Alec Flett">alecflett</assigned_to>
          <cc>abarth</cc>
    
    <cc>dgrogan</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>744434</commentid>
    <comment_count>0</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-10-17 11:16:48 -0700</bug_when>
    <thetext>IndexedDB: Explicitly send null/undefined/integers to frontend IDBCallbacks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744445</commentid>
    <comment_count>1</comment_count>
      <attachid>169221</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-10-17 11:23:18 -0700</bug_when>
    <thetext>Created attachment 169221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744446</commentid>
    <comment_count>2</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-10-17 11:24:11 -0700</bug_when>
    <thetext>jsbell/dgrogan: and here&apos;s the webkit side. can you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744652</commentid>
    <comment_count>3</comment_count>
      <attachid>169221</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-10-17 14:51:50 -0700</bug_when>
    <thetext>Comment on attachment 169221
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=169221&amp;action=review

LGTM

&gt; Source/WebCore/Modules/indexeddb/IDBRequest.cpp:382
&gt; +    return onSuccess(SerializedScriptValue::numberValue(value));

These are deserialized right away but it looks there&apos;s no way to go from an integer to a ScriptValue without going through SerializedScriptValue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744666</commentid>
    <comment_count>4</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-17 14:59:51 -0700</bug_when>
    <thetext>(In reply to comment #3)

&gt; These are deserialized right away but it looks there&apos;s no way to go from an integer to a ScriptValue without going through SerializedScriptValue?

Maybe add a FIXME to add numberValue / undefinedValue to ScriptValue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744685</commentid>
    <comment_count>5</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-10-17 15:12:55 -0700</bug_when>
    <thetext>I&apos;ll add a FIXME - the static numbervalue/undefinedValue is pretty darn quick, relatively speaking and this code will be ripe for refactoring soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744686</commentid>
    <comment_count>6</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-10-17 15:13:44 -0700</bug_when>
    <thetext>abarth@ - r? this is fairly mechanical</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744697</commentid>
    <comment_count>7</comment_count>
      <attachid>169221</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-17 15:18:41 -0700</bug_when>
    <thetext>Comment on attachment 169221
Patch

Ok, but this is kind of dangerous in that someone passing a 0 literal might know realize which overload they&apos;re calling...  Can we use different names, or do they all need to be called onSuccess?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744699</commentid>
    <comment_count>8</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-10-17 15:21:56 -0700</bug_when>
    <thetext>abarth@ - FWIW the compiler should catch that ambiguity but yes, the fact that they&apos;re ALL named onSuccess is a bit problematic. This may also change as a part of our refactoring...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744734</commentid>
    <comment_count>9</comment_count>
      <attachid>169221</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 15:57:35 -0700</bug_when>
    <thetext>Comment on attachment 169221
Patch

Clearing flags on attachment: 169221

Committed r131661: &lt;http://trac.webkit.org/changeset/131661&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744735</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 15:57:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169221</attachid>
            <date>2012-10-17 11:23:18 -0700</date>
            <delta_ts>2012-10-17 15:57:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99619-20121017112205.patch</filename>
            <type>text/plain</type>
            <size>28242</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjhkNmY1MjFlZTgzODI3
MzdmZWRlYjk4YTRmNWYxZmRiZDhhYzBmOS4uMWZlZDc0ZWMzMTk0MGNjZjFhNWU4MTY5YTEzMTcz
ZDg1YTQzZDdjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEyLTEwLTE3ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IEV4
cGxpY2l0bHkgc2VuZCBudWxsL3VuZGVmaW5lZC9pbnRlZ2VycyB0byBmcm9udGVuZCBJREJDYWxs
YmFja3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5
NjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmF0
aGVyIHRoYW4gcGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWUgdG9rZW5zIGZyb20gdGhlIGJhY2tl
bmQsCisgICAgICAgIHNlbmQgZXhwbGljaXQgbnVsbCwgKGFzIG9uU3VjY2VzcyhzdGF0aWNfY2Fz
dDxTZXJpYWxpemVkU2NyaXB0VmFsdWUqPigwKSkpCisgICAgICAgIHVuZGVmaW5lZCwgKGFzIG9u
U3VjZXNzKCkpLCBhbmQgaW50ZWdlcnMgKGFzIG9uU3VjY2Vzcyhsb25nIGxvbmcpKQorCisgICAg
ICAgIFRoaXMgcmVkdWNlcyBiYWNrZW5kIGRlcGVuZGVuY3kgb24gdGhpbmdzIHRoYXQgbWlnaHQg
cmVxdWlyZSBhIEpTCisgICAgICAgIGludGVycHJldGVyIG9uIHRoZSBiYWNrZW5kLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgdGhpcyBpcyBhIHJlZmFjdG9yIGFuZCBleGlzdGluZyB0ZXN0cyBj
b3ZlcgorICAgICAgICBjb3JyZWN0bmVzcy4gVGVzdHMgdGhhdCBtaWdodCBmYWlsIGluY2x1ZGU6
CisKKyAgICAgICAgVGVzdDogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY291bnQuaHRtbAorICAg
ICAgICBUZXN0OiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jb3VudC5odG1sCisgICAg
ICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLWJhc2ljcy5odG1sCisKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDYWxsYmFja3MuaDoKKyAgICAgICAgKElEQkNhbGxi
YWNrcyk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yQmFja2VuZEltcGwu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yQmFja2VuZEltcGw6OmFkdmFuY2VJbnRl
cm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3JCYWNrZW5kSW1wbDo6Y29udGludWVG
dW5jdGlvbkludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkN1cnNvckJhY2tlbmRJbXBs
OjpwcmVmZXRjaENvbnRpbnVlSW50ZXJuYWwpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L0lEQkN1cnNvckJhY2tlbmRJbXBsLmg6CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3JCYWNr
ZW5kSW1wbDo6dmFsdWUpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNl
QmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1w
bDo6ZGVsZXRlRGF0YWJhc2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4
LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleEJhY2tlbmRJbXBsLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkluZGV4QmFja2VuZEltcGw6Om9wZW5DdXJzb3JJbnRl
cm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJJbmRleEJhY2tlbmRJbXBsOjpjb3VudEludGVy
bmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkluZGV4QmFja2VuZEltcGw6OmdldEludGVybmFs
KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHA6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpnZXRJbnRlcm5hbCk6
CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpkZWxldGVJbnRl
cm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpjbGVh
ckludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6
Om9wZW5DdXJzb3JJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJh
Y2tlbmRJbXBsOjpjb3VudEludGVybmFsKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9J
REJSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6Om9uU3VjY2Vzcyk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1
ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwOgor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3Bw
OgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwu
aDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRl
cmZhY2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmRlc2VyaWFsaXplSURCVmFsdWUpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKwog
MjAxMi0xMC0xNyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBCdWlsZCBmaXggZm9yIFdpbkNFIGFmdGVyIHIxMzEzNjUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCmluZGV4IDM5MTYzNmYwMWMzMmJmNDI1NWEzZDRiYTdiOGEwMzhiOTVjMzE1NTguLmRm
ZjU5NDVhNmUxYWU5NmM2OWI3MDljNTc1NWM0ODU2YTFhNzZlNDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMTAtMTcgIEFsZWMgRmxldHQgIDxhbGVj
ZmxldHRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4ZWREQjogRXhwbGljaXRseSBzZW5k
IG51bGwvdW5kZWZpbmVkL2ludGVnZXJzIHRvIGZyb250ZW5kIElEQkNhbGxiYWNrcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk2MTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIb29rIHVwIG5ldyB1bmRl
ZmluZWQvaW50ZWdlci1iYXNlZCBvblN1Y2Nlc3MgaGFuZGxlcnMuCisKKyAgICAgICAgKiBzcmMv
SURCQ2FsbGJhY2tzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpJREJDYWxsYmFja3NQcm94
eTo6b25TdWNjZXNzKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL0lEQkNhbGxi
YWNrc1Byb3h5Lmg6CisgICAgICAgIChJREJDYWxsYmFja3NQcm94eSk6CisgICAgICAgICogc3Jj
L1dlYklEQkNhbGxiYWNrc0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDYWxsYmFj
a3NJbXBsOjpvblN1Y2Nlc3MpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBzcmMvV2Vi
SURCQ2FsbGJhY2tzSW1wbC5oOgorICAgICAgICAoV2ViSURCQ2FsbGJhY2tzSW1wbCk6CisgICAg
ICAgICogdGVzdHMvSURCQWJvcnRPbkNvcnJ1cHRUZXN0LmNwcDoKKyAgICAgICAgKiB0ZXN0cy9J
REJEYXRhYmFzZUJhY2tlbmRUZXN0LmNwcDoKKwogMjAxMi0xMC0xNiAgTU9SSVRBIEhhamltZSAg
PG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbU2hhZG93IERPTV1bVjhdIFdlYkNvcmU6
OlY4RE9NV2luZG93OjppbnN0YWxsUGVyQ29udGV4dFByb3BlcnRpZXMoKSBpcyBzbG93IHdoZW4g
c2hhZG93RE9NRW5hYmxlZCBmbGFnIGlzIG9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCQ2FsbGJhY2tzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJDYWxsYmFja3MuaAppbmRleCAxZmViMGQ3MDExY2I4OGEzYjhhM2I0ODAy
MGMxODYwZmJmMzhhYTcwLi5jMzk0MDY4YzUyNzk1MGM3MDAwMDc4YTVjZDQ0NTQzZGQ0MjA5Yjll
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDYWxsYmFj
a3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDYWxsYmFja3Mu
aApAQCAtNjIsNiArNjIsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3Mo
UGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+KSA9IDA7CiAgICAgLy8gRnJvbSBJREJP
YmplY3RTdG9yZS9JREJJbmRleC5nZXQoKSAod2l0aCBrZXkgaW5qZWN0aW9uKQogICAgIHZpcnR1
YWwgdm9pZCBvblN1Y2Nlc3MoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBQYXNz
UmVmUHRyPElEQktleT4sIGNvbnN0IElEQktleVBhdGgmKSA9IDA7CisgICAgLy8gRnJvbSBJREJP
YmplY3RTdG9yZS9JREJJbmRleC5jb3VudCgpCisgICAgdmlydHVhbCB2b2lkIG9uU3VjY2Vzcyhp
bnQ2NF90IHZhbHVlKSA9IDA7CisKKyAgICAvLyBGcm9tIElEQkZhY3Rvci5kZWxldGVEYXRhYmFz
ZSgpLCBJREJPYmplY3RTdG9yZS9JREJJbmRleC5nZXQoKSwgSURCT2JqZWN0U3RvcmUuZGVsZXRl
KCksIElEQk9iamVjdFN0b3JlLmNsZWFyKCkKKyAgICB2aXJ0dWFsIHZvaWQgb25TdWNjZXNzKCkg
PSAwOworICAgIAogICAgIC8vIEZyb20gSURCQ3Vyc29yLmFkdmFuY2UoKS9jb250aW51ZSgpCiAg
ICAgdmlydHVhbCB2b2lkIG9uU3VjY2VzcyhQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8
SURCS2V5PiBwcmltYXJ5S2V5LCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4pID0g
MDsKICAgICAvLyBGcm9tIElEQkN1cnNvci5hZHZhbmNlKCkvY29udGludWUoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yQmFja2VuZEltcGwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yQmFja2VuZElt
cGwuY3BwCmluZGV4IDY2ODQ2NmIwZmM0NTk1NzE2NTQzOGQwM2MzMDhmNjk1Y2QyM2E3MDIuLjQy
OGNjMDQxMmMyYjYzNDQ0MDc0MDMyZjgyY2U1Yjg3OWRlOGJiMjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvckJhY2tlbmRJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3JCYWNrZW5kSW1wbC5j
cHAKQEAgLTg3LDcgKzg3LDcgQEAgdm9pZCBJREJDdXJzb3JCYWNrZW5kSW1wbDo6YWR2YW5jZUlu
dGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPEkKICAgICBSZWZQdHI8
SURCQ3Vyc29yQmFja2VuZEltcGw+IGN1cnNvciA9IHBycEN1cnNvcjsKICAgICBpZiAoIWN1cnNv
ci0+bV9jdXJzb3IgfHwgIWN1cnNvci0+bV9jdXJzb3ItPmFkdmFuY2UoY291bnQpKSB7CiAgICAg
ICAgIGN1cnNvci0+bV9jdXJzb3IgPSAwOwotICAgICAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhT
ZXJpYWxpemVkU2NyaXB0VmFsdWU6Om51bGxWYWx1ZSgpKTsKKyAgICAgICAgY2FsbGJhY2tzLT5v
blN1Y2Nlc3Moc3RhdGljX2Nhc3Q8U2VyaWFsaXplZFNjcmlwdFZhbHVlKj4oMCkpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCkBAIC0xMDIsNyArMTAyLDcgQEAgdm9pZCBJREJDdXJzb3JCYWNr
ZW5kSW1wbDo6Y29udGludWVGdW5jdGlvbkludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBQYXMKIAogICAgIGlmICghY3Vyc29yLT5tX2N1cnNvciB8fCAhY3Vyc29yLT5tX2N1cnNvci0+
Y29udGludWVGdW5jdGlvbihrZXkuZ2V0KCkpKSB7CiAgICAgICAgIGN1cnNvci0+bV9jdXJzb3Ig
PSAwOwotICAgICAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0VmFsdWU6
Om51bGxWYWx1ZSgpKTsKKyAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3Moc3RhdGljX2Nhc3Q8
U2VyaWFsaXplZFNjcmlwdFZhbHVlKj4oMCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBA
IC0xNjksNyArMTY5LDcgQEAgdm9pZCBJREJDdXJzb3JCYWNrZW5kSW1wbDo6cHJlZmV0Y2hDb250
aW51ZUludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXMKICAgICB9CiAKICAgICBp
ZiAoIWZvdW5kS2V5cy5zaXplKCkpIHsKLSAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoU2Vy
aWFsaXplZFNjcmlwdFZhbHVlOjpudWxsVmFsdWUoKSk7CisgICAgICAgIGNhbGxiYWNrcy0+b25T
dWNjZXNzKHN0YXRpY19jYXN0PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSo+KDApKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCQ3Vyc29yQmFja2VuZEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkN1cnNvckJhY2tlbmRJbXBsLmgKaW5kZXggMmI3NmRkNDhjMmYzNThjODZlZTk4
NWE0YWE2YzM3MTg2Njg1NTJkNS4uM2I5MmYxMTdlZjFlNGUyZjk3MWU3MjA5YzhjZDU0MDM4N2Uw
MGVkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vy
c29yQmFja2VuZEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJDdXJzb3JCYWNrZW5kSW1wbC5oCkBAIC02Nyw3ICs2Nyw3IEBAIHB1YmxpYzoKIAogICAgIFBh
c3NSZWZQdHI8SURCS2V5PiBrZXkoKSBjb25zdCB7IHJldHVybiBtX2N1cnNvci0+a2V5KCk7IH0K
ICAgICBQYXNzUmVmUHRyPElEQktleT4gcHJpbWFyeUtleSgpIGNvbnN0IHsgcmV0dXJuIG1fY3Vy
c29yLT5wcmltYXJ5S2V5KCk7IH0KLSAgICBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4gdmFsdWUoKSBjb25zdCB7IHJldHVybiAobV9jdXJzb3JUeXBlID09IEluZGV4S2V5Q3Vyc29y
KSA/IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6bnVsbFZhbHVlKCkgOiBTZXJpYWxpemVkU2NyaXB0
VmFsdWU6OmNyZWF0ZUZyb21XaXJlKG1fY3Vyc29yLT52YWx1ZSgpKTsgfQorICAgIFBhc3NSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIChtX2N1cnNv
clR5cGUgPT0gSW5kZXhLZXlDdXJzb3IpID8gMCA6IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3Jl
YXRlRnJvbVdpcmUobV9jdXJzb3ItPnZhbHVlKCkpOyB9CiAgICAgdm9pZCBjbG9zZSgpOwogCiBw
cml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
RGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcAppbmRleCBkMzMyMmNhNDA4ZjFmZDIzOGRiOTBj
MDJhZjNhMzIyN2Q4ZTZhNTVhLi40ZTg5NTQxN2Q0NjFiZDY4ZmMxMTgwMzQ1Yzc2OTE5NmI0YjE4
ODVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRh
YmFzZUJhY2tlbmRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcApAQCAtNTYxLDcgKzU2MSw3IEBAIHZvaWQgSURC
RGF0YWJhc2VCYWNrZW5kSW1wbDo6ZGVsZXRlRGF0YWJhc2UoUGFzc1JlZlB0cjxJREJDYWxsYmFj
a3M+IHBycENhbGxiYWNrCiAgICAgbV9pZCA9IEludmFsaWRJZDsKICAgICBtX2ludFZlcnNpb24g
PSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZlcnNpb247CiAgICAgbV9vYmplY3RTdG9yZXMu
Y2xlYXIoKTsKLSAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0VmFsdWU6
OnVuZGVmaW5lZFZhbHVlKCkpOworICAgIGNhbGxiYWNrcy0+b25TdWNjZXNzKCk7CiB9CiAKIHZv
aWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6Y2xvc2UoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUNh
bGxiYWNrcz4gcHJwQ2FsbGJhY2tzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCSW5kZXguY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCSW5kZXguY3BwCmluZGV4IGYxMjI1MDA1ODdjMzBhNDIxM2I1ZGQ1OWY4NGNkYmUzZDg3
NWNmODIuLmVjMjk4MzdhMTE5MTVjYmUxYTQ2MWFjOWMwY2U0YzFjNmQ5MmE1MmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHAKQEAgLTM3LDYgKzM3
LDcgQEAKICNpbmNsdWRlICJJREJSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSURCVHJhY2luZy5oIgog
I2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4QmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXhCYWNrZW5kSW1wbC5jcHAKaW5kZXggN2Yz
MmI5Y2QyZmZlMTUzZTdlZGIwMmUyNmNkYTRhNmFjNWI0NGJiMC4uN2IyYTQ3NWU1OWI1NWY4OGM5
NTMzZTU3YTVkNzI5YjJjNzUxMWM1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCSW5kZXhCYWNrZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXhCYWNrZW5kSW1wbC5jcHAKQEAgLTg0LDcgKzg0LDcg
QEAgdm9pZCBJREJJbmRleEJhY2tlbmRJbXBsOjpvcGVuQ3Vyc29ySW50ZXJuYWwoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHIKICAgICB9CiAKICAgICBpZiAoIWJhY2tpbmdTdG9y
ZUN1cnNvcikgewotICAgICAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0
VmFsdWU6Om51bGxWYWx1ZSgpKTsKKyAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3Moc3RhdGlj
X2Nhc3Q8U2VyaWFsaXplZFNjcmlwdFZhbHVlKj4oMCkpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCkBAIC0xMjMsNyArMTIzLDcgQEAgdm9pZCBJREJJbmRleEJhY2tlbmRJbXBsOjpjb3VudElu
dGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkkKIAogICAgIFJl
ZlB0cjxJREJCYWNraW5nU3RvcmU6OkN1cnNvcj4gYmFja2luZ1N0b3JlQ3Vyc29yID0gaW5kZXgt
PmJhY2tpbmdTdG9yZSgpLT5vcGVuSW5kZXhLZXlDdXJzb3IodHJhbnNhY3Rpb24tPmJhY2tpbmdT
dG9yZVRyYW5zYWN0aW9uKCksIGluZGV4LT5kYXRhYmFzZUlkKCksIGluZGV4LT5tX29iamVjdFN0
b3JlQmFja2VuZC0+aWQoKSwgaW5kZXgtPmlkKCksIHJhbmdlLmdldCgpLCBJREJDdXJzb3I6Ok5F
WFQpOwogICAgIGlmICghYmFja2luZ1N0b3JlQ3Vyc29yKSB7Ci0gICAgICAgIGNhbGxiYWNrcy0+
b25TdWNjZXNzKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6bnVtYmVyVmFsdWUoY291bnQpKTsKKyAg
ICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoY291bnQpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCkBAIC0xMzEsNyArMTMxLDcgQEAgdm9pZCBJREJJbmRleEJhY2tlbmRJbXBsOjpjb3VudElu
dGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkkKICAgICAgICAg
Kytjb3VudDsKICAgICB9IHdoaWxlIChiYWNraW5nU3RvcmVDdXJzb3ItPmNvbnRpbnVlRnVuY3Rp
b24oMCkpOwogICAgIGJhY2tpbmdTdG9yZUN1cnNvci0+Y2xvc2UoKTsKLSAgICBjYWxsYmFja3Mt
Pm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0VmFsdWU6Om51bWJlclZhbHVlKGNvdW50KSk7Cisg
ICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoY291bnQpOwogfQogCiB2b2lkIElEQkluZGV4QmFja2Vu
ZEltcGw6OmNvdW50KFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHJhbmdlLCBQYXNzUmVmUHRyPElE
QkNhbGxiYWNrcz4gY2FsbGJhY2tzLCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqIHRy
YW5zYWN0aW9uUHRyLCBFeGNlcHRpb25Db2RlJikKQEAgLTE1NSw3ICsxNTUsNyBAQCB2b2lkIElE
QkluZGV4QmFja2VuZEltcGw6OmdldEludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPElEQkluZAogICAgICAgICBSZWZQdHI8SURCQmFja2luZ1N0b3JlOjpDdXJzb3I+
IGJhY2tpbmdTdG9yZUN1cnNvciA9IGluZGV4LT5iYWNraW5nU3RvcmUoKS0+b3BlbkluZGV4Q3Vy
c29yKHRyYW5zYWN0aW9uLT5iYWNraW5nU3RvcmVUcmFuc2FjdGlvbigpLCBpbmRleC0+ZGF0YWJh
c2VJZCgpLCBpbmRleC0+bV9vYmplY3RTdG9yZUJhY2tlbmQtPmlkKCksIGluZGV4LT5pZCgpLCBr
ZXlSYW5nZS5nZXQoKSwgSURCQ3Vyc29yOjpORVhUKTsKIAogICAgICAgICBpZiAoIWJhY2tpbmdT
dG9yZUN1cnNvcikgewotICAgICAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlOjp1bmRlZmluZWRWYWx1ZSgpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrcy0+
b25TdWNjZXNzKCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAga2V5
ID0gYmFja2luZ1N0b3JlQ3Vyc29yLT5rZXkoKTsKQEAgLTE2Nyw3ICsxNjcsNyBAQCB2b2lkIElE
QkluZGV4QmFja2VuZEltcGw6OmdldEludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPElEQkluZAogICAgIFN0cmluZyB2YWx1ZSA9IGluZGV4LT5iYWNraW5nU3RvcmUo
KS0+Z2V0T2JqZWN0U3RvcmVSZWNvcmQodHJhbnNhY3Rpb24tPmJhY2tpbmdTdG9yZVRyYW5zYWN0
aW9uKCksIGluZGV4LT5kYXRhYmFzZUlkKCksIGluZGV4LT5tX29iamVjdFN0b3JlQmFja2VuZC0+
aWQoKSwgKnByaW1hcnlLZXkpOwogCiAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKSB7Ci0gICAgICAg
IGNhbGxiYWNrcy0+b25TdWNjZXNzKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6dW5kZWZpbmVkVmFs
dWUoKSk7CisgICAgICAgIGNhbGxiYWNrcy0+b25TdWNjZXNzKCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgaWYgKGluZGV4LT5tX29iamVjdFN0b3JlQmFja2VuZC0+YXV0b0luY3JlbWVu
dCgpICYmICFpbmRleC0+bV9vYmplY3RTdG9yZUJhY2tlbmQtPmtleVBhdGgoKS5pc051bGwoKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0
U3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3Rv
cmUuY3BwCmluZGV4IDFjZTk0OTI1ZWJlOTE5NzY3OWIwY2QyNzNlNTY3ZDA0MGJjOWU1MDAuLjJl
YWNiMzE5YzY1OGQ4Zjg1OWRlNTFkNmNlNWUyMGU2ZjY2MTQ3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKQEAgLTQxLDYg
KzQxLDcgQEAKICNpbmNsdWRlICJJREJLZXlSYW5nZS5oIgogI2luY2x1ZGUgIklEQlRyYWNpbmcu
aCIKICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbi5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaCIKICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRl
IDx3dGYvVW51c2VkUGFyYW0uaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcAppbmRleCAz
NzQ1YjYyZjU5MmYyYmYyZGM2M2U5YzE3MjI3OTA5MmQyMjQ0MTRlLi5kMDY4MThhNTgxYWUxYzRm
YjhmNDQ3YzU2ZmZkMTVlMjQ0ZDE2Y2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcApA
QCAtNDIsNyArNDIsNiBAQAogI2luY2x1ZGUgIklEQktleVJhbmdlLmgiCiAjaW5jbHVkZSAiSURC
VHJhY2luZy5oIgogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuaCIKLSNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtOTEsNyArOTAsNyBAQCB2b2lkIElEQk9iamVj
dFN0b3JlQmFja2VuZEltcGw6OmdldEludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPAogICAgIGVsc2UgewogICAgICAgICBSZWZQdHI8SURCQmFja2luZ1N0b3JlOjpD
dXJzb3I+IGJhY2tpbmdTdG9yZUN1cnNvciA9IG9iamVjdFN0b3JlLT5iYWNraW5nU3RvcmUoKS0+
b3Blbk9iamVjdFN0b3JlQ3Vyc29yKHRyYW5zYWN0aW9uLT5iYWNraW5nU3RvcmVUcmFuc2FjdGlv
bigpLCBvYmplY3RTdG9yZS0+ZGF0YWJhc2VJZCgpLCBvYmplY3RTdG9yZS0+aWQoKSwga2V5UmFu
Z2UuZ2V0KCksIElEQkN1cnNvcjo6TkVYVCk7CiAgICAgICAgIGlmICghYmFja2luZ1N0b3JlQ3Vy
c29yKSB7Ci0gICAgICAgICAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0
VmFsdWU6OnVuZGVmaW5lZFZhbHVlKCkpOworICAgICAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nl
c3MoKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBrZXkgPSBiYWNr
aW5nU3RvcmVDdXJzb3ItPmtleSgpOwpAQCAtMTAwLDcgKzk5LDcgQEAgdm9pZCBJREJPYmplY3RT
dG9yZUJhY2tlbmRJbXBsOjpnZXRJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFz
c1JlZlB0cjwKIAogICAgIFN0cmluZyB3aXJlRGF0YSA9IG9iamVjdFN0b3JlLT5iYWNraW5nU3Rv
cmUoKS0+Z2V0T2JqZWN0U3RvcmVSZWNvcmQodHJhbnNhY3Rpb24tPmJhY2tpbmdTdG9yZVRyYW5z
YWN0aW9uKCksIG9iamVjdFN0b3JlLT5kYXRhYmFzZUlkKCksIG9iamVjdFN0b3JlLT5pZCgpLCAq
a2V5KTsKICAgICBpZiAod2lyZURhdGEuaXNOdWxsKCkpIHsKLSAgICAgICAgY2FsbGJhY2tzLT5v
blN1Y2Nlc3MoU2VyaWFsaXplZFNjcmlwdFZhbHVlOjp1bmRlZmluZWRWYWx1ZSgpKTsKKyAgICAg
ICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
NDA0LDcgKzQwMyw3IEBAIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6ZGVsZXRlSW50
ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQCiAgICAgICAgIGJhY2tpbmdT
dG9yZUN1cnNvci0+Y2xvc2UoKTsKICAgICB9CiAKLSAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhT
ZXJpYWxpemVkU2NyaXB0VmFsdWU6OnVuZGVmaW5lZFZhbHVlKCkpOworICAgIGNhbGxiYWNrcy0+
b25TdWNjZXNzKCk7CiB9CiAKIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6Y2xlYXIo
UGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IHBycENhbGxiYWNrcywgSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlKiB0cmFuc2FjdGlvblB0ciwgRXhjZXB0aW9uQ29kZSYpCkBAIC00MjUsNyAr
NDI0LDcgQEAgdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpjbGVhcihQYXNzUmVmUHRy
PElEQkNhbGxiYWNrcz4gcHJwQ2FsbGJhY2tzLCBJREIKIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNr
ZW5kSW1wbDo6Y2xlYXJJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0
cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBvYmplY3RTdG9yZSwgUGFzc1JlZlB0cjxJREJD
YWxsYmFja3M+IGNhbGxiYWNrcywgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBs
PiB0cmFuc2FjdGlvbikKIHsKICAgICBvYmplY3RTdG9yZS0+YmFja2luZ1N0b3JlKCktPmNsZWFy
T2JqZWN0U3RvcmUodHJhbnNhY3Rpb24tPmJhY2tpbmdTdG9yZVRyYW5zYWN0aW9uKCksIG9iamVj
dFN0b3JlLT5kYXRhYmFzZUlkKCksIG9iamVjdFN0b3JlLT5pZCgpKTsKLSAgICBjYWxsYmFja3Mt
Pm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0VmFsdWU6OnVuZGVmaW5lZFZhbHVlKCkpOworICAg
IGNhbGxiYWNrcy0+b25TdWNjZXNzKCk7CiB9CiAKIFBhc3NSZWZQdHI8SURCSW5kZXhCYWNrZW5k
SW50ZXJmYWNlPiBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpjcmVhdGVJbmRleChpbnQ2NF90
IGlkLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IElEQktleVBhdGgmIGtleVBhdGgsIGJvb2wg
dW5pcXVlLCBib29sIG11bHRpRW50cnksIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSog
dHJhbnNhY3Rpb25QdHIsIEV4Y2VwdGlvbkNvZGUmIGVjKQpAQCAtNTIxLDcgKzUyMCw3IEBAIHZv
aWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6b3BlbkN1cnNvckludGVybmFsKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBQYXNzCiAgICAgaWYgKHRhc2tUeXBlID09IElEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZTo6UHJlZW1wdGl2ZVRhc2spCiAgICAgICAgIHRyYW5zYWN0aW9uLT5h
ZGRQcmVlbXB0aXZlRXZlbnQoKTsKICAgICBpZiAoIWJhY2tpbmdTdG9yZUN1cnNvcikgewotICAg
ICAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0VmFsdWU6Om51bGxWYWx1
ZSgpKTsKKyAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3Moc3RhdGljX2Nhc3Q8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlKj4oMCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC01NDQsNyAr
NTQzLDcgQEAgdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpjb3VudEludGVybmFsKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHQKICAgICB1aW50MzJfdCBjb3VudCA9IDA7
CiAgICAgUmVmUHRyPElEQkJhY2tpbmdTdG9yZTo6Q3Vyc29yPiBiYWNraW5nU3RvcmVDdXJzb3Ig
PSBvYmplY3RTdG9yZS0+YmFja2luZ1N0b3JlKCktPm9wZW5PYmplY3RTdG9yZUtleUN1cnNvcih0
cmFuc2FjdGlvbi0+YmFja2luZ1N0b3JlVHJhbnNhY3Rpb24oKSwgb2JqZWN0U3RvcmUtPmRhdGFi
YXNlSWQoKSwgb2JqZWN0U3RvcmUtPmlkKCksIHJhbmdlLmdldCgpLCBJREJDdXJzb3I6Ok5FWFQp
OwogICAgIGlmICghYmFja2luZ1N0b3JlQ3Vyc29yKSB7Ci0gICAgICAgIGNhbGxiYWNrcy0+b25T
dWNjZXNzKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6bnVtYmVyVmFsdWUoY291bnQpKTsKKyAgICAg
ICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoY291bnQpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CkBAIC01NTMsNyArNTUyLDcgQEAgdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpjb3Vu
dEludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHQKICAgICB9IHdoaWxl
IChiYWNraW5nU3RvcmVDdXJzb3ItPmNvbnRpbnVlRnVuY3Rpb24oMCkpOwogCiAgICAgYmFja2lu
Z1N0b3JlQ3Vyc29yLT5jbG9zZSgpOwotICAgIGNhbGxiYWNrcy0+b25TdWNjZXNzKFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTo6bnVtYmVyVmFsdWUoY291bnQpKTsKKyAgICBjYWxsYmFja3MtPm9uU3Vj
Y2Vzcyhjb3VudCk7CiB9CiAKIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6bG9hZElu
ZGV4ZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
UmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0
LmNwcAppbmRleCAwNmFlOWUyMzU5NTdlMDEwYzBjYmQ1MWQ1ZjQ5OTc5MzIzODNjMzFmLi4zZjZm
OWNkODQyOTdiODE5ZDU0MThlNTAzOWNiZDM4MTFhZTM0ZDdmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcApAQCAtNDEsNiArNDEsNyBAQAog
I2luY2x1ZGUgIklEQkV2ZW50RGlzcGF0Y2hlci5oIgogI2luY2x1ZGUgIklEQlRyYWNpbmcuaCIK
ICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbi5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNzYsNiArMzc3LDE2IEBAIHZv
aWQgSURCUmVxdWVzdDo6b25TdWNjZXNzKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiBwcnBTZXJpYWxpemVkU2NyaXB0CiAgICAgb25TdWNjZXNzSW50ZXJuYWwodmFsdWUpOwogfQog
Cit2b2lkIElEQlJlcXVlc3Q6Om9uU3VjY2VzcyhpbnQ2NF90IHZhbHVlKQoreworICAgIHJldHVy
biBvblN1Y2Nlc3MoU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpudW1iZXJWYWx1ZSh2YWx1ZSkpOwor
fQorCit2b2lkIElEQlJlcXVlc3Q6Om9uU3VjY2VzcygpCit7CisgICAgcmV0dXJuIG9uU3VjY2Vz
cyhTZXJpYWxpemVkU2NyaXB0VmFsdWU6OnVuZGVmaW5lZFZhbHVlKCkpOworfQorCiB2b2lkIElE
QlJlcXVlc3Q6Om9uU3VjY2Vzc0ludGVybmFsKGNvbnN0IFNjcmlwdFZhbHVlJiB2YWx1ZSkKIHsK
ICAgICBtX3Jlc3VsdCA9IElEQkFueTo6Y3JlYXRlKHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaAppbmRleCBkODJmYWM3MjA3YzExZWViZTQy
ZjcxM2UwZTkwMGM3ZmFkZTQ4ZDc5Li5jYWIwNjUxMjAwYzQ1ZjU4YWMwMjRmMWNmZDgwYzU1NjJl
OTYzNmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJS
ZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVz
dC5oCkBAIC04OCw2ICs4OCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgb25TdWNjZXNz
KFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPik7CiAgICAgdmlydHVh
bCB2b2lkIG9uU3VjY2VzcyhQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4pOwogICAg
IHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3MoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
LCBQYXNzUmVmUHRyPElEQktleT4sIGNvbnN0IElEQktleVBhdGgmKTsKKyAgICB2aXJ0dWFsIHZv
aWQgb25TdWNjZXNzKGludDY0X3QpOworICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3MoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgb25TdWNjZXNzKFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxJ
REJLZXk+IHByaW1hcnlLZXksIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPik7CiAg
ICAgdmlydHVhbCB2b2lkIG9uU3VjY2Vzc1dpdGhQcmVmZXRjaChjb25zdCBWZWN0b3I8UmVmUHRy
PElEQktleT4gPiYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8SURCS2V5PiA+JiwgY29uc3QgVmVjdG9y
PFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+ID4mKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OyB9IC8vIE5vdCBpbXBsZW1lbnRlZC4gQ2FsbGJhY2sgc2hvdWxkIG5vdCByZWFjaCB0aGUgcmVu
ZGVyZXIgc2lkZS4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IDA1M2UwODY1NjBiMDllODkyYTA5MGE5ZTI3YWI2ZWI0
NTBjYWIzOTcuLjhlYzE1ZTVlYzA3M2RmZmIxZmIxNjEwZWU4NjQwMzIxZTA0OWE0MmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5j
cHAKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25p
dG9yLmgiCiAjaW5jbHVkZSAiSURCVHJhY2luZy5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFj
ay5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3BwCmluZGV4IDYyNjVlZTkxOWU3ZWU3
N2ViMWZiZGMyOWE2N2RiN2RkN2MxZjgzM2MuLmYxNjY1MTk0OWJhZDNjNWIxNTFiZWI0ZmY3NWYy
NWQwNmI3MWEyNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3BwCkBAIC0zNSw2ICszNSw3
IEBACiAjaW5jbHVkZSAiSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5oIgogI2luY2x1ZGUgIklE
QlRyYWNpbmcuaCIKICNpbmNsdWRlICJJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgiCisjaW5j
bHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uQmFja2VuZEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uQmFja2VuZEltcGwuaAppbmRleCAxYWUxNDViNmM3Mzc5YzFhODA5MGU3YTFkZjA5
NmMxZWNkZTRkYTcxLi4zNGE5NzU3MGYwMGZiN2EwODRiOGRkMzg5MzQ3YTI1NGEyNTM0ODYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlv
bkJhY2tlbmRJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
VHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiSURC
RGF0YWJhc2VFcnJvci5oIgogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFj
ZS5oIgogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzLmgiCisjaW5jbHVkZSAiU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3Rm
L0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZS5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlLmgKaW5kZXggZWI3MzQxZmUwNzZjNWNhYjFjMzU5NTQyZjY1OWY1MWM1NmFhYWQw
ZC4uZjcwN2YzNGEwOTk4NTRmNDM5MjE4MjM5NGEyZjFlNzI1Y2UwNTc0YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50
ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW50ZXJmYWNlLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgSURCVHJh
bnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlX2gKIAogI2luY2x1ZGUgIklEQkNhbGxiYWNrcy5oIgot
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDx3dGYvVGhyZWFk
aW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAKaW5kZXggMWYzMDA4
ZTc4MzdhZjk1MjkwZjYxMDU5YWYzOWMyYWZmOTQ0MWYxNS4uODNhZTliMmZkOGViZGFlNDFmZGY2
MjhiYTU4OTNjYzQ5MDg2ZDkwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAKQEAgLTIxNCw3ICsyMTQsMTAgQEAgU2NyaXB0VmFs
dWUgZGVzZXJpYWxpemVJREJWYWx1ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRDb250
ZXh0LCBQYXNzUmVmUHQKIHsKICAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CiAgICAg
djg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZSh0b1Y4Q29udGV4dChzY3JpcHRDb250ZXh0
LCBVc2VDdXJyZW50V29ybGQpKTsKLSAgICByZXR1cm4gU2NyaXB0VmFsdWUocHJwVmFsdWUtPmRl
c2VyaWFsaXplKCkpOworICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHNlcmlhbGl6
ZWRWYWx1ZSA9IHBycFZhbHVlOworICAgIGlmIChzZXJpYWxpemVkVmFsdWUpCisgICAgICAgIHJl
dHVybiBTY3JpcHRWYWx1ZShzZXJpYWxpemVkVmFsdWUtPmRlc2VyaWFsaXplKCkpOworICAgIHJl
dHVybiBTY3JpcHRWYWx1ZSh2ODo6TnVsbCgpKTsKIH0KIAogYm9vbCBpbmplY3RJREJLZXlJbnRv
U2NyaXB0VmFsdWUoUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgU2NyaXB0VmFsdWUmIHZhbHVlLCBj
b25zdCBJREJLZXlQYXRoJiBrZXlQYXRoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKaW5kZXggZDA0NTE3MGY1MGI3MzZlMjAy
ZWQyYjI0ZDM2Mzc1ZGYwOWVkZDg4OC4uNjM0MDFkZDZlYmFhZmNmMTY3YTUzOWQwM2JiY2M1YThh
NzZhY2U4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
ZGV4ZWREQkFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5kZXhlZERCQWdlbnQuY3BwCkBAIC0xMDIsNiArMTAyLDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBvblN1Y2Nlc3MoUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2U+KSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgb25TdWNjZXNzKFBhc3NSZWZQdHI8
U2VyaWFsaXplZFNjcmlwdFZhbHVlPikgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCB2b2lkIG9u
U3VjY2VzcyhQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIFBhc3NSZWZQdHI8SURC
S2V5PiwgY29uc3QgSURCS2V5UGF0aCYpIE9WRVJSSURFIHsgfQorICAgIHZpcnR1YWwgdm9pZCBv
blN1Y2Nlc3MoaW50NjRfdCB2YWx1ZSkgT1ZFUlJJREUgeyByZXR1cm4gb25TdWNjZXNzKFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZTo6bnVtYmVyVmFsdWUodmFsdWUpKTsgfQorICAgIHZpcnR1YWwgdm9p
ZCBvblN1Y2Nlc3MoKSBPVkVSUklERSB7IHJldHVybiBvblN1Y2Nlc3MoU2VyaWFsaXplZFNjcmlw
dFZhbHVlOjp1bmRlZmluZWRWYWx1ZSgpKTsgfQogICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3Mo
UGFzc1JlZlB0cjxJREJLZXk+LCBQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPikgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCB2b2lkIG9uU3VjY2Vz
c1dpdGhQcmVmZXRjaChjb25zdCBWZWN0b3I8UmVmUHRyPElEQktleT4gPiYsIGNvbnN0IFZlY3Rv
cjxSZWZQdHI8SURCS2V5PiA+JiwgY29uc3QgVmVjdG9yPFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+ID4mKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgb25VcGdyYWRlTmVlZGVk
KGludDY0X3QsIFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlPiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U+KSBP
VkVSUklERSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkNh
bGxiYWNrc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkNhbGxiYWNr
c1Byb3h5LmNwcAppbmRleCBhZjQ5ODRhNzdjNGI4NWUyNmUyOWVmODhhOGQyODNkZTQ2YWNjMzhj
Li40MmFjNzZiYTU1NzIxZGJiOWMxYTIxOTQzYTYzOThiNjg2ZjI2NTUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJDYWxsYmFja3NQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCQ2FsbGJhY2tzUHJveHkuY3BwCkBAIC0xMDYsNiAr
MTA2LDE2IEBAIHZvaWQgSURCQ2FsbGJhY2tzUHJveHk6Om9uU3VjY2VzcyhQYXNzUmVmUHRyPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc2VyaWFsaXplZFNjCiAgICAgbV9jYWxsYmFja3MtPm9uU3Vj
Y2VzcyhzZXJpYWxpemVkU2NyaXB0VmFsdWUsIGtleSwga2V5UGF0aCk7CiB9CiAKK3ZvaWQgSURC
Q2FsbGJhY2tzUHJveHk6Om9uU3VjY2VzcyhpbnQ2NF90IHZhbHVlKQoreworICAgIG1fY2FsbGJh
Y2tzLT5vblN1Y2Nlc3ModmFsdWUpOworfQorCit2b2lkIElEQkNhbGxiYWNrc1Byb3h5OjpvblN1
Y2Nlc3MoKQoreworICAgIG1fY2FsbGJhY2tzLT5vblN1Y2Nlc3MoKTsKK30KKwogdm9pZCBJREJD
YWxsYmFja3NQcm94eTo6b25TdWNjZXNzKFBhc3NSZWZQdHI8SURCS2V5PiBrZXksIFBhc3NSZWZQ
dHI8SURCS2V5PiBwcmltYXJ5S2V5LCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
dmFsdWUpCiB7CiAgICAgbV9jYWxsYmFja3MtPm9uU3VjY2VzcyhrZXksIHByaW1hcnlLZXksIHZh
bHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkNhbGxiYWNr
c1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJDYWxsYmFja3NQcm94eS5o
CmluZGV4IGY2MTNhODVjMmU0ZWQxNmNiODg3ZjY4YTA1MDMxODQ5Y2IxY2VmMjAuLmM5NDA2OThm
NzEwMTVlZGFmZGI2ZDAyNzgwMTJlYzcwNzEyNTdkYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0lEQkNhbGxiYWNrc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvSURCQ2FsbGJhY2tzUHJveHkuaApAQCAtNTQsNiArNTQsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIG9uU3VjY2VzcyhQYXNzUmVmUHRyPFdlYkNvcmU6OklEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZT4pOwogICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3MoUGFz
c1JlZlB0cjxXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU+KTsKICAgICB2aXJ0dWFsIHZv
aWQgb25TdWNjZXNzKFBhc3NSZWZQdHI8V2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwg
UGFzc1JlZlB0cjxXZWJDb3JlOjpJREJLZXk+LCBjb25zdCBXZWJDb3JlOjpJREJLZXlQYXRoJik7
CisgICAgdmlydHVhbCB2b2lkIG9uU3VjY2VzcyhpbnQ2NF90KTsKKyAgICB2aXJ0dWFsIHZvaWQg
b25TdWNjZXNzKCk7CiAgICAgdmlydHVhbCB2b2lkIG9uU3VjY2VzcyhQYXNzUmVmUHRyPFdlYkNv
cmU6OklEQktleT4sIFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCS2V5PiBwcmltYXJ5S2V5LCBQYXNz
UmVmUHRyPFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4pOwogICAgIHZpcnR1YWwgdm9p
ZCBvblN1Y2Nlc3NXaXRoUHJlZmV0Y2goY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJDb3JlOjpJREJL
ZXk+ID4mIGtleXMsIGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViQ29yZTo6SURCS2V5PiA+JiBwcmlt
YXJ5S2V5cywgY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFs
dWU+ID4mIHZhbHVlcyk7CiAgICAgdmlydHVhbCB2b2lkIG9uQmxvY2tlZCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCQ2FsbGJhY2tzSW1wbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJDYWxsYmFja3NJbXBsLmNwcAppbmRleCAy
Y2I5MGVhNDZlNjNhYWE2NTI4Mzk2NWExYzRmZWU0YzA5NTIwYTg2Li5lMDljMWEzZmVkMjQ3ZDJm
NTViZTdiOTcyNWQ1YTM5MjUzYjY5NjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJJREJDYWxsYmFja3NJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJJREJDYWxsYmFja3NJbXBsLmNwcApAQCAtMTAwLDYgKzEwMCwxNiBAQCB2b2lk
IFdlYklEQkNhbGxiYWNrc0ltcGw6Om9uU3VjY2Vzcyhjb25zdCBXZWJTZXJpYWxpemVkU2NyaXB0
VmFsdWUmIHNlcmlhbGl6ZWRTYwogICAgIG1fY2FsbGJhY2tzLT5vblN1Y2Nlc3Moc2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLCBrZXksIGtleVBhdGgpOwogfQogCit2b2lkIFdlYklEQkNhbGxiYWNrc0lt
cGw6Om9uU3VjY2Vzcyhsb25nIGxvbmcgdmFsdWUpCit7CisgICAgbV9jYWxsYmFja3MtPm9uU3Vj
Y2Vzcyh2YWx1ZSk7Cit9CisKK3ZvaWQgV2ViSURCQ2FsbGJhY2tzSW1wbDo6b25TdWNjZXNzKCkK
K3sKKyAgICBtX2NhbGxiYWNrcy0+b25TdWNjZXNzKCk7Cit9CisKIHZvaWQgV2ViSURCQ2FsbGJh
Y2tzSW1wbDo6b25TdWNjZXNzKGNvbnN0IFdlYklEQktleSYga2V5LCBjb25zdCBXZWJJREJLZXkm
IHByaW1hcnlLZXksIGNvbnN0IFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSYgdmFsdWUpCiB7CiAg
ICAgbV9jYWxsYmFja3MtPm9uU3VjY2VzcyhrZXksIHByaW1hcnlLZXksIHZhbHVlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkNhbGxiYWNrc0ltcGwuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkNhbGxiYWNrc0ltcGwuaAppbmRleCAz
M2NkMjAyOWZhY2ZjZDUyOTVkZDY2NDRhZDAxY2M3ZGI3Njk5MDU1Li5iYTQ0NDg0MjgzM2ExZWI0
MzJhZTUzMGE0OTZkMWVlOTc5ZTUwZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJJREJDYWxsYmFja3NJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViSURCQ2FsbGJhY2tzSW1wbC5oCkBAIC01MCw2ICs1MCw4IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgb25TdWNjZXNzKGNvbnN0IFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSYp
OwogICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3MoY29uc3QgV2ViU2VyaWFsaXplZFNjcmlwdFZh
bHVlJiwgY29uc3QgV2ViSURCS2V5JiwgY29uc3QgV2ViSURCS2V5UGF0aCYpOwogICAgIHZpcnR1
YWwgdm9pZCBvblN1Y2Nlc3MoY29uc3QgV2ViSURCS2V5JiwgY29uc3QgV2ViSURCS2V5JiBwcmlt
YXJ5S2V5LCBjb25zdCBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUmKTsKKyAgICB2aXJ0dWFsIHZv
aWQgb25TdWNjZXNzKGxvbmcgbG9uZyk7CisgICAgdmlydHVhbCB2b2lkIG9uU3VjY2VzcygpOwog
ICAgIHZpcnR1YWwgdm9pZCBvbkJsb2NrZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQgb25CbG9ja2Vk
KGxvbmcgbG9uZyBvbGRWZXJzaW9uKTsKICAgICB2aXJ0dWFsIHZvaWQgb25VcGdyYWRlTmVlZGVk
KGxvbmcgbG9uZyBvbGRWZXJzaW9uLCBXZWJJREJUcmFuc2FjdGlvbiosIFdlYklEQkRhdGFiYXNl
Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkFib3J0T25D
b3JydXB0VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkFib3J0T25D
b3JydXB0VGVzdC5jcHAKaW5kZXggYjA4MGJmYzRkZjUxYTI5OGY0ZmRiNWQ5YzI4ZTc3MTdmNDBk
YWYxNC4uY2QyYTA3NjQ5NzNiNWEzYmVlMmQ1ZWEwNDM3NTZhZjAwMzI5MTVjMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJBYm9ydE9uQ29ycnVwdFRlc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSURCQWJvcnRPbkNvcnJ1cHRUZXN0
LmNwcApAQCAtNjEsNiArNjEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIG9uU3VjY2Vz
cyhQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4pIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBvblN1Y2Nlc3MoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+KSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgb25TdWNjZXNzKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiwgUGFzc1JlZlB0cjxJREJLZXk+LCBjb25zdCBJREJLZXlQYXRoJikgeyB9CisgICAg
dmlydHVhbCB2b2lkIG9uU3VjY2VzcyhpbnQ2NF90KSBPVkVSUklERSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgb25TdWNjZXNzKCkgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCB2b2lkIG9uU3VjY2Vz
cyhQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxTZXJp
YWxpemVkU2NyaXB0VmFsdWU+KSB7IH07CiAgICAgdmlydHVhbCB2b2lkIG9uU3VjY2Vzc1dpdGhQ
cmVmZXRjaChjb25zdCBWZWN0b3I8UmVmUHRyPElEQktleT4gPiYsIGNvbnN0IFZlY3RvcjxSZWZQ
dHI8SURCS2V5PiA+JiwgY29uc3QgVmVjdG9yPFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
ID4mKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgb25CbG9ja2VkKCkgeyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkRhdGFiYXNlQmFja2VuZFRlc3QuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJEYXRhYmFzZUJhY2tlbmRUZXN0LmNwcApp
bmRleCAyY2YyYTFmODg3ZDc3NjMwMmI5N2JjNWY4Yzc4ZWJjNTA0M2ZiNzgzLi5jZWUwODljODVi
M2I4ZTMyNjViNTdiNDI1MjVlZTNhYjlkNmFkNWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0lEQkRhdGFiYXNlQmFja2VuZFRlc3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvSURCRGF0YWJhc2VCYWNrZW5kVGVzdC5jcHAKQEAgLTkxLDYg
KzkxLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3MoUGFzc1JlZlB0cjxJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+KSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgb25TdWNjZXNzKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPikgT1ZFUlJJ
REUgeyB9CiAgICAgdmlydHVhbCB2b2lkIG9uU3VjY2VzcyhQYXNzUmVmUHRyPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4sIFBhc3NSZWZQdHI8SURCS2V5PiwgY29uc3QgSURCS2V5UGF0aCYpIE9WRVJS
SURFIHsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgb25TdWNjZXNzKGludDY0X3QpIE9WRVJSSURFIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3MoKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgb25TdWNjZXNzKFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxJREJLZXk+LCBQ
YXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4pIE9WRVJSSURFIHsgfTsKICAgICB2aXJ0
dWFsIHZvaWQgb25TdWNjZXNzV2l0aFByZWZldGNoKGNvbnN0IFZlY3RvcjxSZWZQdHI8SURCS2V5
PiA+JiwgY29uc3QgVmVjdG9yPFJlZlB0cjxJREJLZXk+ID4mLCBjb25zdCBWZWN0b3I8UmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gPiYpIE9WRVJSSURFIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCBvbkJsb2NrZWQoKSBPVkVSUklERSB7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>