<?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>102430</bug_id>
          
          <creation_ts>2012-11-15 14:11:44 -0800</creation_ts>
          <short_desc>IndexedDB: Propagate DOMRequestState to IndexedDB binding utility functions</short_desc>
          <delta_ts>2012-11-16 12:57:11 -0800</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>
          
          <blocked>45110</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Michael Pruett">michael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>alecflett</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>768476</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Pruett">michael</who>
    <bug_when>2012-11-15 14:11:44 -0800</bug_when>
    <thetext>Currently the DOMRequestState maintained in IDBRequest is propagated to deserializeIDBValue() and idbKeyToScriptValue(). This approach is fine for the V8 implementation of the IDB binding utilities, but in order to implement the binding utilities for JSC, the DOMRequestState should be propagated to injectIDBKeyIntoScriptValue(), createIDBKeyFromScriptValueAndKeyPath(), and canInjectIDBKeyIntoScriptValue() as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768533</commentid>
    <comment_count>1</comment_count>
      <attachid>174525</attachid>
    <who name="Michael Pruett">michael</who>
    <bug_when>2012-11-15 14:52:46 -0800</bug_when>
    <thetext>Created attachment 174525
Propagate DOMRequestState to IndexedDB binding utility functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768708</commentid>
    <comment_count>2</comment_count>
      <attachid>174525</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-15 17:07:55 -0800</bug_when>
    <thetext>Comment on attachment 174525
Propagate DOMRequestState to IndexedDB binding utility functions

In general this LGTM, I wonder if we&apos;ll also have to stick in some Scope()&apos;s as well. But for now, lets leave them out optimistically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768769</commentid>
    <comment_count>3</comment_count>
      <attachid>174525</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-15 17:50:07 -0800</bug_when>
    <thetext>Comment on attachment 174525
Propagate DOMRequestState to IndexedDB binding utility functions

What is a DOMRequestState in JSC?  http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/js/DOMRequestState.h didn&apos;t find anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768783</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Pruett">michael</who>
    <bug_when>2012-11-15 18:01:32 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 174525 [details])
&gt; What is a DOMRequestState in JSC?  http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/js/DOMRequestState.h didn&apos;t find anything.

I haven&apos;t yet submitted a patch adding the JSC implementation of DOMRequestState, but I envision it being fairly similar to the IDBJSContext class in Source/WebCore/bindings/js/IDBBindingUtilities.cpp in the most recent patch I submitted for &lt;https://bugs.webkit.org/show_bug.cgi?id=45110&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769348</commentid>
    <comment_count>5</comment_count>
      <attachid>174525</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-16 09:19:40 -0800</bug_when>
    <thetext>Comment on attachment 174525
Propagate DOMRequestState to IndexedDB binding utility functions

Ok, so it&apos;s basically the exec state.  Then this patch makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769421</commentid>
    <comment_count>6</comment_count>
      <attachid>174719</attachid>
    <who name="Michael Pruett">michael</who>
    <bug_when>2012-11-16 10:28:34 -0800</bug_when>
    <thetext>Created attachment 174719
Propagate DOMRequestState to IndexedDB binding utility functions

I&apos;ve updated ChangeLogs adding Adam Barth as the reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769433</commentid>
    <comment_count>7</comment_count>
      <attachid>174719</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-16 10:35:20 -0800</bug_when>
    <thetext>Comment on attachment 174719
Propagate DOMRequestState to IndexedDB binding utility functions

FYI, the commit queue will automaticaly update the CLs with the reviewer if a committer checks cq+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769598</commentid>
    <comment_count>8</comment_count>
      <attachid>174719</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 12:57:07 -0800</bug_when>
    <thetext>Comment on attachment 174719
Propagate DOMRequestState to IndexedDB binding utility functions

Clearing flags on attachment: 174719

Committed r134989: &lt;http://trac.webkit.org/changeset/134989&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769600</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 12:57:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174525</attachid>
            <date>2012-11-15 14:52:46 -0800</date>
            <delta_ts>2012-11-16 10:29:16 -0800</delta_ts>
            <desc>Propagate DOMRequestState to IndexedDB binding utility functions</desc>
            <filename>idb-DOMRequestState.patch</filename>
            <type>text/plain</type>
            <size>16257</size>
            <attacher name="Michael Pruett">michael</attacher>
            
              <data encoding="base64">RnJvbTogTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KRGF0ZTogVGh1LCAxNSBOb3Yg
MjAxMiAxNDozOToxOSAtMDgwMApTdWJqZWN0OiBJbmRleGVkREI6IFByb3BhZ2F0ZSBET01SZXF1
ZXN0U3RhdGUgdG8gSW5kZXhlZERCIGJpbmRpbmcgdXRpbGl0eSBmdW5jdGlvbnMKCi0tLQogU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM0ICsr
KysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJD
dXJzb3IuY3BwICAgICB8ICAgIDYgKystLQogLi4uL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCT2JqZWN0U3RvcmUuY3BwICAgfCAgIDE1ICsrKystLS0tLQogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAgICAgfCAgIDE0ICsrKystLS0tCiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmggICAgICB8ICAgIDIgKysKIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwIHwgICAgNiAr
Ky0tCiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmggICB8
ICAgIDYgKystLQogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgfCAgIDE2ICsrKysrKysrKwogLi4uL2Nocm9taXVtL3Rlc3RzL0lEQkJpbmRpbmdVdGls
aXRpZXNUZXN0LmNwcCAgICAgfCAgICA0ICstLQogOSBmaWxlcyBjaGFuZ2VkLCA3NyBpbnNlcnRp
b25zKCspLCAyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmNkY2FkYi4uMGFiMGU3NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTExLTE1ICBNaWNoYWVsIFBydWV0dCAg
PG1pY2hhZWxANjhrLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IFByb3BhZ2F0ZSBET01SZXF1
ZXN0U3RhdGUgdG8gSW5kZXhlZERCIGJpbmRpbmcgdXRpbGl0eSBmdW5jdGlvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjQzMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERPTVJlcXVlc3RTdGF0ZSBp
cyBjdXJyZW50bHkgcHJvcGFnYXRlZCB0byBzb21lIGJ1dCBub3QgYWxsIG9mCisgICAgICAgIHRo
ZSBJbmRleGVkREIgYmluZGluZyB1dGlsaXR5IGZ1bmN0aW9ucy4gSW4gb3JkZXIgdG8gaW1wbGVt
ZW50CisgICAgICAgIHRoZXNlIGZ1bmN0aW9ucyBmb3IgSlNDLCB0aGlzIHN0YXRlIG11c3QgYmUg
cHJvcGFnYXRlZCB0byBhbGwKKyAgICAgICAgb2YgdGhlIHV0aWxpdHkgZnVuY3Rpb25zLgorCisg
ICAgICAgIFRlc3RzOiBzdG9yYWdlL2luZGV4ZWRkYi8qCisKKyAgICAgICAgKiBNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJDdXJzb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yOjp1cGRh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yOjpzZXRWYWx1ZVJlYWR5KToKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpnZW5lcmF0ZUluZGV4S2V5c0ZvclZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9i
amVjdFN0b3JlOjpwdXQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvSURCUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0Ojpv
blN1Y2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6ZGlzcGF0Y2hFdmVudCk6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oOgorICAgICAgICAoV2Vi
Q29yZTo6SURCUmVxdWVzdDo6cmVxdWVzdFN0YXRlKToKKyAgICAgICAgKElEQlJlcXVlc3QpOgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y3JlYXRlSURCS2V5RnJvbVNjcmlwdFZhbHVlQW5kS2V5UGF0aCk6CisgICAgICAg
IChXZWJDb3JlOjpzZXJpYWxpemVJREJWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjppbmplY3RJ
REJLZXlJbnRvU2NyaXB0VmFsdWUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0lEQkJpbmRpbmdV
dGlsaXRpZXMuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEyLTExLTE1ICBUb255IENoYW5n
ICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgR2VuZXJhdGUgU2V0dGluZ3MgZnJvbSBh
IC5pbiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJDdXJzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29y
LmNwcAppbmRleCAzN2I4ZTIzLi5hNzNmNzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKQEAgLTE0NSw3ICsxNDUsNyBAQCBQYXNzUmVmUHRy
PElEQlJlcXVlc3Q+IElEQkN1cnNvcjo6dXBkYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQsIFNjcmlwdAogICAgIGNvbnN0IElEQktleVBhdGgmIGtleVBhdGggPSBvYmplY3RTdG9y
ZS0+bWV0YWRhdGEoKS5rZXlQYXRoOwogICAgIGNvbnN0IGJvb2wgdXNlc0luTGluZUtleXMgPSAh
a2V5UGF0aC5pc051bGwoKTsKICAgICBpZiAodXNlc0luTGluZUtleXMpIHsKLSAgICAgICAgUmVm
UHRyPElEQktleT4ga2V5UGF0aEtleSA9IGNyZWF0ZUlEQktleUZyb21TY3JpcHRWYWx1ZUFuZEtl
eVBhdGgodmFsdWUsIGtleVBhdGgpOworICAgICAgICBSZWZQdHI8SURCS2V5PiBrZXlQYXRoS2V5
ID0gY3JlYXRlSURCS2V5RnJvbVNjcmlwdFZhbHVlQW5kS2V5UGF0aChtX3JlcXVlc3QtPnJlcXVl
c3RTdGF0ZSgpLCB2YWx1ZSwga2V5UGF0aCk7CiAgICAgICAgIGlmICgha2V5UGF0aEtleSB8fCAh
a2V5UGF0aEtleS0+aXNFcXVhbChtX2N1cnJlbnRQcmltYXJ5S2V5LmdldCgpKSkgewogICAgICAg
ICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6REFUQV9FUlI7CiAgICAgICAgICAgICBy
ZXR1cm4gMDsKQEAgLTI3MCwxMCArMjcwLDEwIEBAIHZvaWQgSURCQ3Vyc29yOjpzZXRWYWx1ZVJl
YWR5KERPTVJlcXVlc3RTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8SURCS2V5PiBrZXksIFBhCiAg
ICAgICAgIGNvbnN0IElEQk9iamVjdFN0b3JlTWV0YWRhdGEgbWV0YWRhdGEgPSBvYmplY3RTdG9y
ZS0+bWV0YWRhdGEoKTsKICAgICAgICAgaWYgKG1ldGFkYXRhLmF1dG9JbmNyZW1lbnQgJiYgIW1l
dGFkYXRhLmtleVBhdGguaXNOdWxsKCkpIHsKICNpZm5kZWYgTkRFQlVHCi0gICAgICAgICAgICBS
ZWZQdHI8SURCS2V5PiBleHBlY3RlZEtleSA9IGNyZWF0ZUlEQktleUZyb21TY3JpcHRWYWx1ZUFu
ZEtleVBhdGgodmFsdWUsIG1ldGFkYXRhLmtleVBhdGgpOworICAgICAgICAgICAgUmVmUHRyPElE
QktleT4gZXhwZWN0ZWRLZXkgPSBjcmVhdGVJREJLZXlGcm9tU2NyaXB0VmFsdWVBbmRLZXlQYXRo
KG1fcmVxdWVzdC0+cmVxdWVzdFN0YXRlKCksIHZhbHVlLCBtZXRhZGF0YS5rZXlQYXRoKTsKICAg
ICAgICAgICAgIEFTU0VSVCghZXhwZWN0ZWRLZXkgfHwgZXhwZWN0ZWRLZXktPmlzRXF1YWwobV9j
dXJyZW50UHJpbWFyeUtleS5nZXQoKSkpOwogI2VuZGlmCi0gICAgICAgICAgICBib29sIGluamVj
dGVkID0gaW5qZWN0SURCS2V5SW50b1NjcmlwdFZhbHVlKG1fY3VycmVudFByaW1hcnlLZXksIHZh
bHVlLCBtZXRhZGF0YS5rZXlQYXRoKTsKKyAgICAgICAgICAgIGJvb2wgaW5qZWN0ZWQgPSBpbmpl
Y3RJREJLZXlJbnRvU2NyaXB0VmFsdWUobV9yZXF1ZXN0LT5yZXF1ZXN0U3RhdGUoKSwgbV9jdXJy
ZW50UHJpbWFyeUtleSwgdmFsdWUsIG1ldGFkYXRhLmtleVBhdGgpOwogICAgICAgICAgICAgLy8g
RklYTUU6IFRoZXJlIGlzIG5vIHdheSB0byByZXBvcnQgZXJyb3JzIGhlcmUuIE1vdmUgdGhpcyBp
bnRvIG9uU3VjY2Vzc1dpdGhDb250aW51YXRpb24gc28gdGhhdCB3ZSBjYW4gYWJvcnQgdGhlIHRy
YW5zYWN0aW9uIHRoZXJlLiBTZWU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05MjI3OAogICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChpbmplY3RlZCwgaW5qZWN0ZWQp
OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJPYmplY3RTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJPYmplY3RTdG9yZS5jcHAKaW5kZXggOWVmMzQ5NS4uZjc0MDk4MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcApAQCAtMTAx
LDEyICsxMDEsMTAgQEAgUGFzc1JlZlB0cjxJREJSZXF1ZXN0PiBJREJPYmplY3RTdG9yZTo6Z2V0
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3MKICAgICByZXR1cm4gZ2V0KGNv
bnRleHQsIGtleVJhbmdlLnJlbGVhc2UoKSwgZWMpOwogfQogCi1zdGF0aWMgdm9pZCBnZW5lcmF0
ZUluZGV4S2V5c0ZvclZhbHVlKGNvbnN0IElEQkluZGV4TWV0YWRhdGEmIGluZGV4TWV0YWRhdGEs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNjcmlwdFZhbHVl
JiBvYmplY3RWYWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSURC
T2JqZWN0U3RvcmU6OkluZGV4S2V5cyogaW5kZXhLZXlzKQorc3RhdGljIHZvaWQgZ2VuZXJhdGVJ
bmRleEtleXNGb3JWYWx1ZShET01SZXF1ZXN0U3RhdGUqIHJlcXVlc3RTdGF0ZSwgY29uc3QgSURC
SW5kZXhNZXRhZGF0YSYgaW5kZXhNZXRhZGF0YSwgY29uc3QgU2NyaXB0VmFsdWUmIG9iamVjdFZh
bHVlLCBJREJPYmplY3RTdG9yZTo6SW5kZXhLZXlzKiBpbmRleEtleXMpCiB7CiAgICAgQVNTRVJU
KGluZGV4S2V5cyk7Ci0gICAgUmVmUHRyPElEQktleT4gaW5kZXhLZXkgPSBjcmVhdGVJREJLZXlG
cm9tU2NyaXB0VmFsdWVBbmRLZXlQYXRoKG9iamVjdFZhbHVlLCBpbmRleE1ldGFkYXRhLmtleVBh
dGgpOworICAgIFJlZlB0cjxJREJLZXk+IGluZGV4S2V5ID0gY3JlYXRlSURCS2V5RnJvbVNjcmlw
dFZhbHVlQW5kS2V5UGF0aChyZXF1ZXN0U3RhdGUsIG9iamVjdFZhbHVlLCBpbmRleE1ldGFkYXRh
LmtleVBhdGgpOwogCiAgICAgaWYgKCFpbmRleEtleSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTcx
LDYgKzE2OSw3IEBAIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6OnB1dChJ
REJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U6OlB1dE1vCiAgICAgY29uc3QgSURCS2V5UGF0
aCYga2V5UGF0aCA9IG1fbWV0YWRhdGEua2V5UGF0aDsKICAgICBjb25zdCBib29sIHVzZXNJbkxp
bmVLZXlzID0gIWtleVBhdGguaXNOdWxsKCk7CiAgICAgY29uc3QgYm9vbCBoYXNLZXlHZW5lcmF0
b3IgPSBhdXRvSW5jcmVtZW50KCk7CisgICAgRE9NUmVxdWVzdFN0YXRlIHJlcXVlc3RTdGF0ZShj
b250ZXh0KTsKIAogICAgIGlmIChwdXRNb2RlICE9IElEQk9iamVjdFN0b3JlQmFja2VuZEludGVy
ZmFjZTo6Q3Vyc29yVXBkYXRlICYmIHVzZXNJbkxpbmVLZXlzICYmIGtleSkgewogICAgICAgICBl
YyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEQVRBX0VSUjsKQEAgLTE4MSw3ICsxODAsNyBAQCBQ
YXNzUmVmUHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpwdXQoSURCT2JqZWN0U3RvcmVC
YWNrZW5kSW50ZXJmYWNlOjpQdXRNbwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgaWYg
KHVzZXNJbkxpbmVLZXlzKSB7Ci0gICAgICAgIFJlZlB0cjxJREJLZXk+IGtleVBhdGhLZXkgPSBj
cmVhdGVJREJLZXlGcm9tU2NyaXB0VmFsdWVBbmRLZXlQYXRoKHZhbHVlLCBrZXlQYXRoKTsKKyAg
ICAgICAgUmVmUHRyPElEQktleT4ga2V5UGF0aEtleSA9IGNyZWF0ZUlEQktleUZyb21TY3JpcHRW
YWx1ZUFuZEtleVBhdGgoJnJlcXVlc3RTdGF0ZSwgdmFsdWUsIGtleVBhdGgpOwogICAgICAgICBp
ZiAoa2V5UGF0aEtleSAmJiAha2V5UGF0aEtleS0+aXNWYWxpZCgpKSB7CiAgICAgICAgICAgICBl
YyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEQVRBX0VSUjsKICAgICAgICAgICAgIHJldHVybiAw
OwpAQCAtMTkxLDcgKzE5MCw3IEBAIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4gSURCT2JqZWN0U3Rv
cmU6OnB1dChJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U6OlB1dE1vCiAgICAgICAgICAg
ICByZXR1cm4gMDsKICAgICAgICAgfQogICAgICAgICBpZiAoaGFzS2V5R2VuZXJhdG9yICYmICFr
ZXlQYXRoS2V5KSB7Ci0gICAgICAgICAgICBpZiAoIWNhbkluamVjdElEQktleUludG9TY3JpcHRW
YWx1ZSh2YWx1ZSwga2V5UGF0aCkpIHsKKyAgICAgICAgICAgIGlmICghY2FuSW5qZWN0SURCS2V5
SW50b1NjcmlwdFZhbHVlKCZyZXF1ZXN0U3RhdGUsIHZhbHVlLCBrZXlQYXRoKSkgewogICAgICAg
ICAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRBVEFfRVJSOwogICAgICAgICAg
ICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgfQpAQCAtMjA4LDcgKzIwNyw3IEBAIFBhc3NS
ZWZQdHI8SURCUmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6OnB1dChJREJPYmplY3RTdG9yZUJhY2tl
bmRJbnRlcmZhY2U6OlB1dE1vCiAgICAgVmVjdG9yPEluZGV4S2V5cz4gaW5kZXhLZXlzOwogICAg
IGZvciAoSURCT2JqZWN0U3RvcmVNZXRhZGF0YTo6SW5kZXhNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0
ID0gbV9tZXRhZGF0YS5pbmRleGVzLmJlZ2luKCk7IGl0ICE9IG1fbWV0YWRhdGEuaW5kZXhlcy5l
bmQoKTsgKytpdCkgewogICAgICAgICBJbmRleEtleXMga2V5czsKLSAgICAgICAgZ2VuZXJhdGVJ
bmRleEtleXNGb3JWYWx1ZShpdC0+dmFsdWUsIHZhbHVlLCAma2V5cyk7CisgICAgICAgIGdlbmVy
YXRlSW5kZXhLZXlzRm9yVmFsdWUoJnJlcXVlc3RTdGF0ZSwgaXQtPnZhbHVlLCB2YWx1ZSwgJmtl
eXMpOwogICAgICAgICBpbmRleElkcy5hcHBlbmQoaXQtPmtleSk7CiAgICAgICAgIGluZGV4S2V5
cy5hcHBlbmQoa2V5cyk7CiAgICAgfQpAQCAtMzI4LDcgKzMyNyw3IEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICBTY3JpcHRWYWx1ZSB2YWx1ZSA9IGN1cnNvci0+dmFsdWUoKTsKIAogICAgICAgICAg
ICAgSURCT2JqZWN0U3RvcmU6OkluZGV4S2V5cyBpbmRleEtleXM7Ci0gICAgICAgICAgICBnZW5l
cmF0ZUluZGV4S2V5c0ZvclZhbHVlKG1faW5kZXhNZXRhZGF0YSwgdmFsdWUsICZpbmRleEtleXMp
OworICAgICAgICAgICAgZ2VuZXJhdGVJbmRleEtleXNGb3JWYWx1ZShyZXF1ZXN0LT5yZXF1ZXN0
U3RhdGUoKSwgbV9pbmRleE1ldGFkYXRhLCB2YWx1ZSwgJmluZGV4S2V5cyk7CiAKICAgICAgICAg
ICAgIFZlY3RvcjxJREJPYmplY3RTdG9yZTo6SW5kZXhLZXlzLCAxPiBpbmRleEtleXNMaXN0Owog
ICAgICAgICAgICAgaW5kZXhLZXlzTGlzdC5hcHBlbmQoaW5kZXhLZXlzKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAKaW5kZXggNjlmZGI5Yi4u
ZjczOTFhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVx
dWVzdC5jcHAKQEAgLTI4Niw3ICsyODYsNyBAQCB2b2lkIElEQlJlcXVlc3Q6Om9uU3VjY2VzcyhQ
YXNzUmVmUHRyPElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2U+IGJhY2tlbmQsIFBhc3NSZQogICAg
ICAgICByZXR1cm47CiAKICAgICBET01SZXF1ZXN0U3RhdGU6OlNjb3BlIHNjb3BlKG1fcmVxdWVz
dFN0YXRlKTsKLSAgICBTY3JpcHRWYWx1ZSB2YWx1ZSA9IGRlc2VyaWFsaXplSURCVmFsdWUoJm1f
cmVxdWVzdFN0YXRlLCBzZXJpYWxpemVkVmFsdWUpOworICAgIFNjcmlwdFZhbHVlIHZhbHVlID0g
ZGVzZXJpYWxpemVJREJWYWx1ZShyZXF1ZXN0U3RhdGUoKSwgc2VyaWFsaXplZFZhbHVlKTsKICAg
ICBBU1NFUlQobV9jdXJzb3JUeXBlICE9IElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2U6OkludmFs
aWRDdXJzb3JUeXBlKTsKICAgICBSZWZQdHI8SURCQ3Vyc29yPiBjdXJzb3I7CiAgICAgaWYgKG1f
Y3Vyc29yVHlwZSA9PSBJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlOjpJbmRleEtleUN1cnNvcikK
QEAgLTM0Myw3ICszNDMsNyBAQCB2b2lkIElEQlJlcXVlc3Q6Om9uU3VjY2VzcyhQYXNzUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc2VyaWFsaXplZFNjcmlwdFZhbAogICAgICAgICByZXR1
cm47CiAKICAgICBET01SZXF1ZXN0U3RhdGU6OlNjb3BlIHNjb3BlKG1fcmVxdWVzdFN0YXRlKTsK
LSAgICBTY3JpcHRWYWx1ZSB2YWx1ZSA9IGRlc2VyaWFsaXplSURCVmFsdWUoJm1fcmVxdWVzdFN0
YXRlLCBzZXJpYWxpemVkU2NyaXB0VmFsdWUpOworICAgIFNjcmlwdFZhbHVlIHZhbHVlID0gZGVz
ZXJpYWxpemVJREJWYWx1ZShyZXF1ZXN0U3RhdGUoKSwgc2VyaWFsaXplZFNjcmlwdFZhbHVlKTsK
ICAgICBvblN1Y2Nlc3NJbnRlcm5hbCh2YWx1ZSk7CiB9CiAKQEAgLTM3MCwxNCArMzcwLDE0IEBA
IHZvaWQgSURCUmVxdWVzdDo6b25TdWNjZXNzKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiBwcnBTZXJpYWxpemVkU2NyaXB0CiAgICAgQVNTRVJUKGtleVBhdGggPT0gZWZmZWN0aXZl
T2JqZWN0U3RvcmUobV9zb3VyY2UpLT5rZXlQYXRoKCkpOwogI2VuZGlmCiAgICAgRE9NUmVxdWVz
dFN0YXRlOjpTY29wZSBzY29wZShtX3JlcXVlc3RTdGF0ZSk7Ci0gICAgU2NyaXB0VmFsdWUgdmFs
dWUgPSBkZXNlcmlhbGl6ZUlEQlZhbHVlKCZtX3JlcXVlc3RTdGF0ZSwgcHJwU2VyaWFsaXplZFNj
cmlwdFZhbHVlKTsKKyAgICBTY3JpcHRWYWx1ZSB2YWx1ZSA9IGRlc2VyaWFsaXplSURCVmFsdWUo
cmVxdWVzdFN0YXRlKCksIHBycFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSk7CiAKICAgICBSZWZQdHI8
SURCS2V5PiBwcmltYXJ5S2V5ID0gcHJwUHJpbWFyeUtleTsKICNpZm5kZWYgTkRFQlVHCi0gICAg
UmVmUHRyPElEQktleT4gZXhwZWN0ZWRLZXkgPSBjcmVhdGVJREJLZXlGcm9tU2NyaXB0VmFsdWVB
bmRLZXlQYXRoKHZhbHVlLCBrZXlQYXRoKTsKKyAgICBSZWZQdHI8SURCS2V5PiBleHBlY3RlZEtl
eSA9IGNyZWF0ZUlEQktleUZyb21TY3JpcHRWYWx1ZUFuZEtleVBhdGgocmVxdWVzdFN0YXRlKCks
IHZhbHVlLCBrZXlQYXRoKTsKICAgICBBU1NFUlQoIWV4cGVjdGVkS2V5IHx8IGV4cGVjdGVkS2V5
LT5pc0VxdWFsKHByaW1hcnlLZXkuZ2V0KCkpKTsKICNlbmRpZgotICAgIGJvb2wgaW5qZWN0ZWQg
PSBpbmplY3RJREJLZXlJbnRvU2NyaXB0VmFsdWUocHJpbWFyeUtleSwgdmFsdWUsIGtleVBhdGgp
OworICAgIGJvb2wgaW5qZWN0ZWQgPSBpbmplY3RJREJLZXlJbnRvU2NyaXB0VmFsdWUocmVxdWVz
dFN0YXRlKCksIHByaW1hcnlLZXksIHZhbHVlLCBrZXlQYXRoKTsKICAgICBBU1NFUlRfVU5VU0VE
KGluamVjdGVkLCBpbmplY3RlZCk7CiAgICAgb25TdWNjZXNzSW50ZXJuYWwodmFsdWUpOwogfQpA
QCAtNDA5LDcgKzQwOSw3IEBAIHZvaWQgSURCUmVxdWVzdDo6b25TdWNjZXNzKFBhc3NSZWZQdHI8
SURCS2V5PiBrZXksIFBhc3NSZWZQdHI8SURCS2V5PiBwcmltYXJ5S2V5CiAgICAgICAgIHJldHVy
bjsKIAogICAgIERPTVJlcXVlc3RTdGF0ZTo6U2NvcGUgc2NvcGUobV9yZXF1ZXN0U3RhdGUpOwot
ICAgIFNjcmlwdFZhbHVlIHZhbHVlID0gZGVzZXJpYWxpemVJREJWYWx1ZSgmbV9yZXF1ZXN0U3Rh
dGUsIHNlcmlhbGl6ZWRWYWx1ZSk7CisgICAgU2NyaXB0VmFsdWUgdmFsdWUgPSBkZXNlcmlhbGl6
ZUlEQlZhbHVlKHJlcXVlc3RTdGF0ZSgpLCBzZXJpYWxpemVkVmFsdWUpOwogICAgIEFTU0VSVCht
X3BlbmRpbmdDdXJzb3IpOwogICAgIHNldFJlc3VsdEN1cnNvcihtX3BlbmRpbmdDdXJzb3IucmVs
ZWFzZSgpLCBrZXksIHByaW1hcnlLZXksIHZhbHVlKTsKICAgICBlbnF1ZXVlRXZlbnQoY3JlYXRl
U3VjY2Vzc0V2ZW50KCkpOwpAQCAtNDgyLDcgKzQ4Miw3IEBAIGJvb2wgSURCUmVxdWVzdDo6ZGlz
cGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKICAgICBpZiAoZXZlbnQtPnR5cGUo
KSA9PSBldmVudE5hbWVzKCkuc3VjY2Vzc0V2ZW50KSB7CiAgICAgICAgIGN1cnNvclRvTm90aWZ5
ID0gZ2V0UmVzdWx0Q3Vyc29yKCk7CiAgICAgICAgIGlmIChjdXJzb3JUb05vdGlmeSkgewotICAg
ICAgICAgICAgY3Vyc29yVG9Ob3RpZnktPnNldFZhbHVlUmVhZHkoJm1fcmVxdWVzdFN0YXRlLCBt
X2N1cnNvcktleS5yZWxlYXNlKCksIG1fY3Vyc29yUHJpbWFyeUtleS5yZWxlYXNlKCksIG1fY3Vy
c29yVmFsdWUpOworICAgICAgICAgICAgY3Vyc29yVG9Ob3RpZnktPnNldFZhbHVlUmVhZHkocmVx
dWVzdFN0YXRlKCksIG1fY3Vyc29yS2V5LnJlbGVhc2UoKSwgbV9jdXJzb3JQcmltYXJ5S2V5LnJl
bGVhc2UoKSwgbV9jdXJzb3JWYWx1ZSk7CiAgICAgICAgICAgICBtX2N1cnNvclZhbHVlLmNsZWFy
KCk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJSZXF1ZXN0LmgKaW5kZXggYTljNzQwMC4uMmRjMmRlOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaApAQCAtMTE3LDYgKzExNyw4IEBAIHB1
YmxpYzoKIAogICAgIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZTo6VGFza1R5cGUgdGFz
a1R5cGUoKSB7IHJldHVybiBtX3Rhc2tUeXBlOyB9CiAKKyAgICBET01SZXF1ZXN0U3RhdGUqIHJl
cXVlc3RTdGF0ZSgpIHsgcmV0dXJuICZtX3JlcXVlc3RTdGF0ZTsgfQorCiBwcm90ZWN0ZWQ6CiAg
ICAgSURCUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJBbnk+
IHNvdXJjZSwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlOjpUYXNrVHlwZSwgSURCVHJh
bnNhY3Rpb24qKTsKICAgICB2b2lkIGVucXVldWVFdmVudChQYXNzUmVmUHRyPEV2ZW50Pik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3Bw
CmluZGV4IDM0ZDdlNDUuLjhiMzg1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwCkBAIC0xODgsNyArMTg4LDcgQEAgc3RhdGlj
IFBhc3NSZWZQdHI8SURCS2V5PiBjcmVhdGVJREJLZXlGcm9tU2NyaXB0VmFsdWVBbmRLZXlQYXRo
KGNvbnN0IFNjcmlwdFZhbHUKICAgICByZXR1cm4gY3JlYXRlSURCS2V5RnJvbVZhbHVlKHY4S2V5
KTsKIH0KIAotUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUlEQktleUZyb21TY3JpcHRWYWx1ZUFu
ZEtleVBhdGgoY29uc3QgU2NyaXB0VmFsdWUmIHZhbHVlLCBjb25zdCBJREJLZXlQYXRoJiBrZXlQ
YXRoKQorUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUlEQktleUZyb21TY3JpcHRWYWx1ZUFuZEtl
eVBhdGgoRE9NUmVxdWVzdFN0YXRlKiwgY29uc3QgU2NyaXB0VmFsdWUmIHZhbHVlLCBjb25zdCBJ
REJLZXlQYXRoJiBrZXlQYXRoKQogewogICAgIElEQl9UUkFDRSgiY3JlYXRlSURCS2V5RnJvbVNj
cmlwdFZhbHVlQW5kS2V5UGF0aCIpOwogICAgIEFTU0VSVCgha2V5UGF0aC5pc051bGwoKSk7CkBA
IC0yMjIsNyArMjIyLDcgQEAgU2NyaXB0VmFsdWUgZGVzZXJpYWxpemVJREJWYWx1ZShET01SZXF1
ZXN0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3IKICAgICByZXR1cm4gU2Ny
aXB0VmFsdWUodjg6Ok51bGwoKSk7CiB9CiAKLWJvb2wgaW5qZWN0SURCS2V5SW50b1NjcmlwdFZh
bHVlKFBhc3NSZWZQdHI8SURCS2V5PiBrZXksIFNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgSURC
S2V5UGF0aCYga2V5UGF0aCkKK2Jvb2wgaW5qZWN0SURCS2V5SW50b1NjcmlwdFZhbHVlKERPTVJl
cXVlc3RTdGF0ZSosIFBhc3NSZWZQdHI8SURCS2V5PiBrZXksIFNjcmlwdFZhbHVlJiB2YWx1ZSwg
Y29uc3QgSURCS2V5UGF0aCYga2V5UGF0aCkKIHsKICAgICBJREJfVFJBQ0UoImluamVjdElEQktl
eUludG9TY3JpcHRWYWx1ZSIpOwogICAgIEFTU0VSVCh2ODo6Q29udGV4dDo6SW5Db250ZXh0KCkp
OwpAQCAtMjQ4LDcgKzI0OCw3IEBAIGJvb2wgaW5qZWN0SURCS2V5SW50b1NjcmlwdFZhbHVlKFBh
c3NSZWZQdHI8SURCS2V5PiBrZXksIFNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLWJvb2wgY2FuSW5qZWN0SURCS2V5SW50b1NjcmlwdFZhbHVlKGNvbnN0IFNj
cmlwdFZhbHVlJiBzY3JpcHRWYWx1ZSwgY29uc3QgSURCS2V5UGF0aCYga2V5UGF0aCkKK2Jvb2wg
Y2FuSW5qZWN0SURCS2V5SW50b1NjcmlwdFZhbHVlKERPTVJlcXVlc3RTdGF0ZSosIGNvbnN0IFNj
cmlwdFZhbHVlJiBzY3JpcHRWYWx1ZSwgY29uc3QgSURCS2V5UGF0aCYga2V5UGF0aCkKIHsKICAg
ICBJREJfVFJBQ0UoImNhbkluamVjdElEQktleUludG9TY3JpcHRWYWx1ZSIpOwogICAgIEFTU0VS
VChrZXlQYXRoLnR5cGUoKSA9PSBJREJLZXlQYXRoOjpTdHJpbmdUeXBlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuaAppbmRleCA0NjU1Mzk3
Li44NmVmYzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5k
aW5nVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvSURCQmluZGlu
Z1V0aWxpdGllcy5oCkBAIC00MSw5ICs0MSw5IEBAIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTsKIAogUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUlEQktleUZyb21WYWx1ZSh2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4pOwogCi1ib29sIGluamVjdElEQktleUludG9TY3JpcHRWYWx1ZShQYXNzUmVm
UHRyPElEQktleT4sIFNjcmlwdFZhbHVlJiwgY29uc3QgSURCS2V5UGF0aCYpOwotUGFzc1JlZlB0
cjxJREJLZXk+IGNyZWF0ZUlEQktleUZyb21TY3JpcHRWYWx1ZUFuZEtleVBhdGgoY29uc3QgU2Ny
aXB0VmFsdWUmLCBjb25zdCBJREJLZXlQYXRoJik7Ci1ib29sIGNhbkluamVjdElEQktleUludG9T
Y3JpcHRWYWx1ZShjb25zdCBTY3JpcHRWYWx1ZSYsIGNvbnN0IElEQktleVBhdGgmKTsKK2Jvb2wg
aW5qZWN0SURCS2V5SW50b1NjcmlwdFZhbHVlKERPTVJlcXVlc3RTdGF0ZSosIFBhc3NSZWZQdHI8
SURCS2V5PiwgU2NyaXB0VmFsdWUmLCBjb25zdCBJREJLZXlQYXRoJik7CitQYXNzUmVmUHRyPElE
QktleT4gY3JlYXRlSURCS2V5RnJvbVNjcmlwdFZhbHVlQW5kS2V5UGF0aChET01SZXF1ZXN0U3Rh
dGUqLCBjb25zdCBTY3JpcHRWYWx1ZSYsIGNvbnN0IElEQktleVBhdGgmKTsKK2Jvb2wgY2FuSW5q
ZWN0SURCS2V5SW50b1NjcmlwdFZhbHVlKERPTVJlcXVlc3RTdGF0ZSosIGNvbnN0IFNjcmlwdFZh
bHVlJiwgY29uc3QgSURCS2V5UGF0aCYpOwogU2NyaXB0VmFsdWUgZGVzZXJpYWxpemVJREJWYWx1
ZShET01SZXF1ZXN0U3RhdGUqLCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4pOwog
U2NyaXB0VmFsdWUgaWRiS2V5VG9TY3JpcHRWYWx1ZShET01SZXF1ZXN0U3RhdGUqLCBQYXNzUmVm
UHRyPElEQktleT4pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGYwY2Q4ZTUuLjNk
Y2M0NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTIt
MTEtMTUgIE1pY2hhZWwgUHJ1ZXR0ICA8bWljaGFlbEA2OGsub3JnPgorCisgICAgICAgIEluZGV4
ZWREQjogUHJvcGFnYXRlIERPTVJlcXVlc3RTdGF0ZSB0byBJbmRleGVkREIgYmluZGluZyB1dGls
aXR5IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAyNDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRE9NUmVxdWVzdFN0YXRlIGlzIGN1cnJlbnRseSBwcm9wYWdhdGVkIHRvIHNvbWUgYnV0
IG5vdCBhbGwgb2YKKyAgICAgICAgdGhlIEluZGV4ZWREQiBiaW5kaW5nIHV0aWxpdHkgZnVuY3Rp
b25zLiBJbiBvcmRlciB0byBpbXBsZW1lbnQKKyAgICAgICAgdGhlc2UgZnVuY3Rpb25zIGZvciBK
U0MsIHRoaXMgc3RhdGUgbXVzdCBiZSBwcm9wYWdhdGVkIHRvIGFsbAorICAgICAgICBvZiB0aGUg
dXRpbGl0eSBmdW5jdGlvbnMuCisKKyAgICAgICAgKiB0ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVz
VGVzdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmNoZWNrS2V5RnJvbVZhbHVlQW5kS2V5UGF0aElu
dGVybmFsKToKKyAgICAgICAgKFdlYktpdDo6aW5qZWN0S2V5KToKKwogMjAxMi0xMS0xNSAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjEzNDgwMCBhbmQgcjEzNDgwNS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSURCQmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAKaW5k
ZXggZDk1MGMxYy4uYjUyOTY3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAKQEAgLTUzLDcgKzUzLDcgQEAg
UGFzc1JlZlB0cjxJREJLZXk+IGNoZWNrS2V5RnJvbVZhbHVlQW5kS2V5UGF0aEludGVybmFsKGNv
bnN0IFNjcmlwdFZhbHVlJiB2YWx1ZSwKICAgICBJREJLZXlQYXRoIGlkYktleVBhdGgoa2V5UGF0
aCk7CiAgICAgRVhQRUNUX1RSVUUoaWRiS2V5UGF0aC5pc1ZhbGlkKCkpOwogICAgIAotICAgIHJl
dHVybiBjcmVhdGVJREJLZXlGcm9tU2NyaXB0VmFsdWVBbmRLZXlQYXRoKHZhbHVlLCBpZGJLZXlQ
YXRoKTsKKyAgICByZXR1cm4gY3JlYXRlSURCS2V5RnJvbVNjcmlwdFZhbHVlQW5kS2V5UGF0aCgw
LCB2YWx1ZSwgaWRiS2V5UGF0aCk7CiB9CiAKIHZvaWQgY2hlY2tLZXlQYXRoTnVsbFZhbHVlKGNv
bnN0IFNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoKQpAQCAtNjYsNyAr
NjYsNyBAQCBib29sIGluamVjdEtleShQYXNzUmVmUHRyPElEQktleT4ga2V5LCBTY3JpcHRWYWx1
ZSYgdmFsdWUsIGNvbnN0IFN0cmluZyYga2V5UGF0aAogewogICAgIElEQktleVBhdGggaWRiS2V5
UGF0aChrZXlQYXRoKTsKICAgICBFWFBFQ1RfVFJVRShpZGJLZXlQYXRoLmlzVmFsaWQoKSk7Ci0g
ICAgcmV0dXJuIGluamVjdElEQktleUludG9TY3JpcHRWYWx1ZShrZXksIHZhbHVlLCBpZGJLZXlQ
YXRoKTsKKyAgICByZXR1cm4gaW5qZWN0SURCS2V5SW50b1NjcmlwdFZhbHVlKDAsIGtleSwgdmFs
dWUsIGlkYktleVBhdGgpOwogfQogCiB2b2lkIGNoZWNrSW5qZWN0aW9uKFBhc3NSZWZQdHI8SURC
S2V5PiBwcnBLZXksIFNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgU3RyaW5nJiBrZXlQYXRoKQot
LSAKMS43LjkuNQoK
</data>
<flag name="review"
          id="189636"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174719</attachid>
            <date>2012-11-16 10:28:34 -0800</date>
            <delta_ts>2012-11-16 12:57:07 -0800</delta_ts>
            <desc>Propagate DOMRequestState to IndexedDB binding utility functions</desc>
            <filename>idb-DOMRequestState.patch</filename>
            <type>text/plain</type>
            <size>16249</size>
            <attacher name="Michael Pruett">michael</attacher>
            
              <data encoding="base64">RnJvbTogTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KRGF0ZTogVGh1LCAxNSBOb3Yg
MjAxMiAxNDozOToxOSAtMDgwMApTdWJqZWN0OiBJbmRleGVkREI6IFByb3BhZ2F0ZSBET01SZXF1
ZXN0U3RhdGUgdG8gSW5kZXhlZERCIGJpbmRpbmcgdXRpbGl0eSBmdW5jdGlvbnMKCi0tLQogU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM0ICsr
KysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJD
dXJzb3IuY3BwICAgICB8ICAgIDYgKystLQogLi4uL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCT2JqZWN0U3RvcmUuY3BwICAgfCAgIDE1ICsrKystLS0tLQogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAgICAgfCAgIDE0ICsrKystLS0tCiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmggICAgICB8ICAgIDIgKysKIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwIHwgICAgNiAr
Ky0tCiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmggICB8
ICAgIDYgKystLQogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgfCAgIDE2ICsrKysrKysrKwogLi4uL2Nocm9taXVtL3Rlc3RzL0lEQkJpbmRpbmdVdGls
aXRpZXNUZXN0LmNwcCAgICAgfCAgICA0ICstLQogOSBmaWxlcyBjaGFuZ2VkLCA3NyBpbnNlcnRp
b25zKCspLCAyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmNkY2FkYi4uMTgyNmE3NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTExLTE1ICBNaWNoYWVsIFBydWV0dCAg
PG1pY2hhZWxANjhrLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IFByb3BhZ2F0ZSBET01SZXF1
ZXN0U3RhdGUgdG8gSW5kZXhlZERCIGJpbmRpbmcgdXRpbGl0eSBmdW5jdGlvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjQzMAorCisgICAgICAg
IFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgRE9NUmVxdWVzdFN0YXRlIGlzIGN1
cnJlbnRseSBwcm9wYWdhdGVkIHRvIHNvbWUgYnV0IG5vdCBhbGwgb2YKKyAgICAgICAgdGhlIElu
ZGV4ZWREQiBiaW5kaW5nIHV0aWxpdHkgZnVuY3Rpb25zLiBJbiBvcmRlciB0byBpbXBsZW1lbnQK
KyAgICAgICAgdGhlc2UgZnVuY3Rpb25zIGZvciBKU0MsIHRoaXMgc3RhdGUgbXVzdCBiZSBwcm9w
YWdhdGVkIHRvIGFsbAorICAgICAgICBvZiB0aGUgdXRpbGl0eSBmdW5jdGlvbnMuCisKKyAgICAg
ICAgVGVzdHM6IHN0b3JhZ2UvaW5kZXhlZGRiLyoKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL0lEQkN1cnNvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3I6OnVwZGF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3I6OnNldFZhbHVlUmVhZHkpOgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmdlbmVyYXRlSW5kZXhLZXlzRm9yVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0
U3RvcmU6OnB1dCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9JREJSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6Om9uU3Vj
Y2Vzcyk6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KToKKyAg
ICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpJREJSZXF1ZXN0OjpyZXF1ZXN0U3RhdGUpOgorICAgICAgICAoSURCUmVxdWVzdCk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpjcmVhdGVJREJLZXlGcm9tU2NyaXB0VmFsdWVBbmRLZXlQYXRoKToKKyAgICAgICAgKFdl
YkNvcmU6OnNlcmlhbGl6ZUlEQlZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OmluamVjdElEQktl
eUludG9TY3JpcHRWYWx1ZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxp
dGllcy5oOgorICAgICAgICAoV2ViQ29yZSk6CisKIDIwMTItMTEtMTUgIFRvbnkgQ2hhbmcgIDx0
b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBHZW5lcmF0ZSBTZXR0aW5ncyBmcm9tIGEgLmlu
IGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1
cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3Bw
CmluZGV4IDM3YjhlMjMuLmE3M2Y3NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCQ3Vyc29yLmNwcApAQCAtMTQ1LDcgKzE0NSw3IEBAIFBhc3NSZWZQdHI8SURC
UmVxdWVzdD4gSURCQ3Vyc29yOjp1cGRhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgU2NyaXB0CiAgICAgY29uc3QgSURCS2V5UGF0aCYga2V5UGF0aCA9IG9iamVjdFN0b3JlLT5t
ZXRhZGF0YSgpLmtleVBhdGg7CiAgICAgY29uc3QgYm9vbCB1c2VzSW5MaW5lS2V5cyA9ICFrZXlQ
YXRoLmlzTnVsbCgpOwogICAgIGlmICh1c2VzSW5MaW5lS2V5cykgewotICAgICAgICBSZWZQdHI8
SURCS2V5PiBrZXlQYXRoS2V5ID0gY3JlYXRlSURCS2V5RnJvbVNjcmlwdFZhbHVlQW5kS2V5UGF0
aCh2YWx1ZSwga2V5UGF0aCk7CisgICAgICAgIFJlZlB0cjxJREJLZXk+IGtleVBhdGhLZXkgPSBj
cmVhdGVJREJLZXlGcm9tU2NyaXB0VmFsdWVBbmRLZXlQYXRoKG1fcmVxdWVzdC0+cmVxdWVzdFN0
YXRlKCksIHZhbHVlLCBrZXlQYXRoKTsKICAgICAgICAgaWYgKCFrZXlQYXRoS2V5IHx8ICFrZXlQ
YXRoS2V5LT5pc0VxdWFsKG1fY3VycmVudFByaW1hcnlLZXkuZ2V0KCkpKSB7CiAgICAgICAgICAg
ICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEQVRBX0VSUjsKICAgICAgICAgICAgIHJldHVy
biAwOwpAQCAtMjcwLDEwICsyNzAsMTAgQEAgdm9pZCBJREJDdXJzb3I6OnNldFZhbHVlUmVhZHko
RE9NUmVxdWVzdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgUGEKICAgICAg
ICAgY29uc3QgSURCT2JqZWN0U3RvcmVNZXRhZGF0YSBtZXRhZGF0YSA9IG9iamVjdFN0b3JlLT5t
ZXRhZGF0YSgpOwogICAgICAgICBpZiAobWV0YWRhdGEuYXV0b0luY3JlbWVudCAmJiAhbWV0YWRh
dGEua2V5UGF0aC5pc051bGwoKSkgewogI2lmbmRlZiBOREVCVUcKLSAgICAgICAgICAgIFJlZlB0
cjxJREJLZXk+IGV4cGVjdGVkS2V5ID0gY3JlYXRlSURCS2V5RnJvbVNjcmlwdFZhbHVlQW5kS2V5
UGF0aCh2YWx1ZSwgbWV0YWRhdGEua2V5UGF0aCk7CisgICAgICAgICAgICBSZWZQdHI8SURCS2V5
PiBleHBlY3RlZEtleSA9IGNyZWF0ZUlEQktleUZyb21TY3JpcHRWYWx1ZUFuZEtleVBhdGgobV9y
ZXF1ZXN0LT5yZXF1ZXN0U3RhdGUoKSwgdmFsdWUsIG1ldGFkYXRhLmtleVBhdGgpOwogICAgICAg
ICAgICAgQVNTRVJUKCFleHBlY3RlZEtleSB8fCBleHBlY3RlZEtleS0+aXNFcXVhbChtX2N1cnJl
bnRQcmltYXJ5S2V5LmdldCgpKSk7CiAjZW5kaWYKLSAgICAgICAgICAgIGJvb2wgaW5qZWN0ZWQg
PSBpbmplY3RJREJLZXlJbnRvU2NyaXB0VmFsdWUobV9jdXJyZW50UHJpbWFyeUtleSwgdmFsdWUs
IG1ldGFkYXRhLmtleVBhdGgpOworICAgICAgICAgICAgYm9vbCBpbmplY3RlZCA9IGluamVjdElE
QktleUludG9TY3JpcHRWYWx1ZShtX3JlcXVlc3QtPnJlcXVlc3RTdGF0ZSgpLCBtX2N1cnJlbnRQ
cmltYXJ5S2V5LCB2YWx1ZSwgbWV0YWRhdGEua2V5UGF0aCk7CiAgICAgICAgICAgICAvLyBGSVhN
RTogVGhlcmUgaXMgbm8gd2F5IHRvIHJlcG9ydCBlcnJvcnMgaGVyZS4gTW92ZSB0aGlzIGludG8g
b25TdWNjZXNzV2l0aENvbnRpbnVhdGlvbiBzbyB0aGF0IHdlIGNhbiBhYm9ydCB0aGUgdHJhbnNh
Y3Rpb24gdGhlcmUuIFNlZTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTkyMjc4CiAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGluamVjdGVkLCBpbmplY3RlZCk7CiAg
ICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
Qk9iamVjdFN0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9i
amVjdFN0b3JlLmNwcAppbmRleCA5ZWYzNDk1Li5mNzQwOTgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwCkBAIC0xMDEsMTIg
KzEwMSwxMCBAQCBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpnZXQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzcwogICAgIHJldHVybiBnZXQoY29udGV4
dCwga2V5UmFuZ2UucmVsZWFzZSgpLCBlYyk7CiB9CiAKLXN0YXRpYyB2b2lkIGdlbmVyYXRlSW5k
ZXhLZXlzRm9yVmFsdWUoY29uc3QgSURCSW5kZXhNZXRhZGF0YSYgaW5kZXhNZXRhZGF0YSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU2NyaXB0VmFsdWUmIG9i
amVjdFZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJREJPYmpl
Y3RTdG9yZTo6SW5kZXhLZXlzKiBpbmRleEtleXMpCitzdGF0aWMgdm9pZCBnZW5lcmF0ZUluZGV4
S2V5c0ZvclZhbHVlKERPTVJlcXVlc3RTdGF0ZSogcmVxdWVzdFN0YXRlLCBjb25zdCBJREJJbmRl
eE1ldGFkYXRhJiBpbmRleE1ldGFkYXRhLCBjb25zdCBTY3JpcHRWYWx1ZSYgb2JqZWN0VmFsdWUs
IElEQk9iamVjdFN0b3JlOjpJbmRleEtleXMqIGluZGV4S2V5cykKIHsKICAgICBBU1NFUlQoaW5k
ZXhLZXlzKTsKLSAgICBSZWZQdHI8SURCS2V5PiBpbmRleEtleSA9IGNyZWF0ZUlEQktleUZyb21T
Y3JpcHRWYWx1ZUFuZEtleVBhdGgob2JqZWN0VmFsdWUsIGluZGV4TWV0YWRhdGEua2V5UGF0aCk7
CisgICAgUmVmUHRyPElEQktleT4gaW5kZXhLZXkgPSBjcmVhdGVJREJLZXlGcm9tU2NyaXB0VmFs
dWVBbmRLZXlQYXRoKHJlcXVlc3RTdGF0ZSwgb2JqZWN0VmFsdWUsIGluZGV4TWV0YWRhdGEua2V5
UGF0aCk7CiAKICAgICBpZiAoIWluZGV4S2V5KQogICAgICAgICByZXR1cm47CkBAIC0xNzEsNiAr
MTY5LDcgQEAgUGFzc1JlZlB0cjxJREJSZXF1ZXN0PiBJREJPYmplY3RTdG9yZTo6cHV0KElEQk9i
amVjdFN0b3JlQmFja2VuZEludGVyZmFjZTo6UHV0TW8KICAgICBjb25zdCBJREJLZXlQYXRoJiBr
ZXlQYXRoID0gbV9tZXRhZGF0YS5rZXlQYXRoOwogICAgIGNvbnN0IGJvb2wgdXNlc0luTGluZUtl
eXMgPSAha2V5UGF0aC5pc051bGwoKTsKICAgICBjb25zdCBib29sIGhhc0tleUdlbmVyYXRvciA9
IGF1dG9JbmNyZW1lbnQoKTsKKyAgICBET01SZXF1ZXN0U3RhdGUgcmVxdWVzdFN0YXRlKGNvbnRl
eHQpOwogCiAgICAgaWYgKHB1dE1vZGUgIT0gSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNl
OjpDdXJzb3JVcGRhdGUgJiYgdXNlc0luTGluZUtleXMgJiYga2V5KSB7CiAgICAgICAgIGVjID0g
SURCRGF0YWJhc2VFeGNlcHRpb246OkRBVEFfRVJSOwpAQCAtMTgxLDcgKzE4MCw3IEBAIFBhc3NS
ZWZQdHI8SURCUmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6OnB1dChJREJPYmplY3RTdG9yZUJhY2tl
bmRJbnRlcmZhY2U6OlB1dE1vCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KICAgICBpZiAodXNl
c0luTGluZUtleXMpIHsKLSAgICAgICAgUmVmUHRyPElEQktleT4ga2V5UGF0aEtleSA9IGNyZWF0
ZUlEQktleUZyb21TY3JpcHRWYWx1ZUFuZEtleVBhdGgodmFsdWUsIGtleVBhdGgpOworICAgICAg
ICBSZWZQdHI8SURCS2V5PiBrZXlQYXRoS2V5ID0gY3JlYXRlSURCS2V5RnJvbVNjcmlwdFZhbHVl
QW5kS2V5UGF0aCgmcmVxdWVzdFN0YXRlLCB2YWx1ZSwga2V5UGF0aCk7CiAgICAgICAgIGlmIChr
ZXlQYXRoS2V5ICYmICFrZXlQYXRoS2V5LT5pc1ZhbGlkKCkpIHsKICAgICAgICAgICAgIGVjID0g
SURCRGF0YWJhc2VFeGNlcHRpb246OkRBVEFfRVJSOwogICAgICAgICAgICAgcmV0dXJuIDA7CkBA
IC0xOTEsNyArMTkwLDcgQEAgUGFzc1JlZlB0cjxJREJSZXF1ZXN0PiBJREJPYmplY3RTdG9yZTo6
cHV0KElEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZTo6UHV0TW8KICAgICAgICAgICAgIHJl
dHVybiAwOwogICAgICAgICB9CiAgICAgICAgIGlmIChoYXNLZXlHZW5lcmF0b3IgJiYgIWtleVBh
dGhLZXkpIHsKLSAgICAgICAgICAgIGlmICghY2FuSW5qZWN0SURCS2V5SW50b1NjcmlwdFZhbHVl
KHZhbHVlLCBrZXlQYXRoKSkgeworICAgICAgICAgICAgaWYgKCFjYW5JbmplY3RJREJLZXlJbnRv
U2NyaXB0VmFsdWUoJnJlcXVlc3RTdGF0ZSwgdmFsdWUsIGtleVBhdGgpKSB7CiAgICAgICAgICAg
ICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6REFUQV9FUlI7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgICAgICAgICB9CkBAIC0yMDgsNyArMjA3LDcgQEAgUGFzc1JlZlB0
cjxJREJSZXF1ZXN0PiBJREJPYmplY3RTdG9yZTo6cHV0KElEQk9iamVjdFN0b3JlQmFja2VuZElu
dGVyZmFjZTo6UHV0TW8KICAgICBWZWN0b3I8SW5kZXhLZXlzPiBpbmRleEtleXM7CiAgICAgZm9y
IChJREJPYmplY3RTdG9yZU1ldGFkYXRhOjpJbmRleE1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBt
X21ldGFkYXRhLmluZGV4ZXMuYmVnaW4oKTsgaXQgIT0gbV9tZXRhZGF0YS5pbmRleGVzLmVuZCgp
OyArK2l0KSB7CiAgICAgICAgIEluZGV4S2V5cyBrZXlzOwotICAgICAgICBnZW5lcmF0ZUluZGV4
S2V5c0ZvclZhbHVlKGl0LT52YWx1ZSwgdmFsdWUsICZrZXlzKTsKKyAgICAgICAgZ2VuZXJhdGVJ
bmRleEtleXNGb3JWYWx1ZSgmcmVxdWVzdFN0YXRlLCBpdC0+dmFsdWUsIHZhbHVlLCAma2V5cyk7
CiAgICAgICAgIGluZGV4SWRzLmFwcGVuZChpdC0+a2V5KTsKICAgICAgICAgaW5kZXhLZXlzLmFw
cGVuZChrZXlzKTsKICAgICB9CkBAIC0zMjgsNyArMzI3LDcgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIFNjcmlwdFZhbHVlIHZhbHVlID0gY3Vyc29yLT52YWx1ZSgpOwogCiAgICAgICAgICAgICBJ
REJPYmplY3RTdG9yZTo6SW5kZXhLZXlzIGluZGV4S2V5czsKLSAgICAgICAgICAgIGdlbmVyYXRl
SW5kZXhLZXlzRm9yVmFsdWUobV9pbmRleE1ldGFkYXRhLCB2YWx1ZSwgJmluZGV4S2V5cyk7Cisg
ICAgICAgICAgICBnZW5lcmF0ZUluZGV4S2V5c0ZvclZhbHVlKHJlcXVlc3QtPnJlcXVlc3RTdGF0
ZSgpLCBtX2luZGV4TWV0YWRhdGEsIHZhbHVlLCAmaW5kZXhLZXlzKTsKIAogICAgICAgICAgICAg
VmVjdG9yPElEQk9iamVjdFN0b3JlOjpJbmRleEtleXMsIDE+IGluZGV4S2V5c0xpc3Q7CiAgICAg
ICAgICAgICBpbmRleEtleXNMaXN0LmFwcGVuZChpbmRleEtleXMpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcAppbmRleCA2OWZkYjliLi5mNzM5
MWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1
ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0
LmNwcApAQCAtMjg2LDcgKzI4Niw3IEBAIHZvaWQgSURCUmVxdWVzdDo6b25TdWNjZXNzKFBhc3NS
ZWZQdHI8SURCQ3Vyc29yQmFja2VuZEludGVyZmFjZT4gYmFja2VuZCwgUGFzc1JlCiAgICAgICAg
IHJldHVybjsKIAogICAgIERPTVJlcXVlc3RTdGF0ZTo6U2NvcGUgc2NvcGUobV9yZXF1ZXN0U3Rh
dGUpOwotICAgIFNjcmlwdFZhbHVlIHZhbHVlID0gZGVzZXJpYWxpemVJREJWYWx1ZSgmbV9yZXF1
ZXN0U3RhdGUsIHNlcmlhbGl6ZWRWYWx1ZSk7CisgICAgU2NyaXB0VmFsdWUgdmFsdWUgPSBkZXNl
cmlhbGl6ZUlEQlZhbHVlKHJlcXVlc3RTdGF0ZSgpLCBzZXJpYWxpemVkVmFsdWUpOwogICAgIEFT
U0VSVChtX2N1cnNvclR5cGUgIT0gSURCQ3Vyc29yQmFja2VuZEludGVyZmFjZTo6SW52YWxpZEN1
cnNvclR5cGUpOwogICAgIFJlZlB0cjxJREJDdXJzb3I+IGN1cnNvcjsKICAgICBpZiAobV9jdXJz
b3JUeXBlID09IElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2U6OkluZGV4S2V5Q3Vyc29yKQpAQCAt
MzQzLDcgKzM0Myw3IEBAIHZvaWQgSURCUmVxdWVzdDo6b25TdWNjZXNzKFBhc3NSZWZQdHI8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiBzZXJpYWxpemVkU2NyaXB0VmFsCiAgICAgICAgIHJldHVybjsK
IAogICAgIERPTVJlcXVlc3RTdGF0ZTo6U2NvcGUgc2NvcGUobV9yZXF1ZXN0U3RhdGUpOwotICAg
IFNjcmlwdFZhbHVlIHZhbHVlID0gZGVzZXJpYWxpemVJREJWYWx1ZSgmbV9yZXF1ZXN0U3RhdGUs
IHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSk7CisgICAgU2NyaXB0VmFsdWUgdmFsdWUgPSBkZXNlcmlh
bGl6ZUlEQlZhbHVlKHJlcXVlc3RTdGF0ZSgpLCBzZXJpYWxpemVkU2NyaXB0VmFsdWUpOwogICAg
IG9uU3VjY2Vzc0ludGVybmFsKHZhbHVlKTsKIH0KIApAQCAtMzcwLDE0ICszNzAsMTQgQEAgdm9p
ZCBJREJSZXF1ZXN0OjpvblN1Y2Nlc3MoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
IHBycFNlcmlhbGl6ZWRTY3JpcHQKICAgICBBU1NFUlQoa2V5UGF0aCA9PSBlZmZlY3RpdmVPYmpl
Y3RTdG9yZShtX3NvdXJjZSktPmtleVBhdGgoKSk7CiAjZW5kaWYKICAgICBET01SZXF1ZXN0U3Rh
dGU6OlNjb3BlIHNjb3BlKG1fcmVxdWVzdFN0YXRlKTsKLSAgICBTY3JpcHRWYWx1ZSB2YWx1ZSA9
IGRlc2VyaWFsaXplSURCVmFsdWUoJm1fcmVxdWVzdFN0YXRlLCBwcnBTZXJpYWxpemVkU2NyaXB0
VmFsdWUpOworICAgIFNjcmlwdFZhbHVlIHZhbHVlID0gZGVzZXJpYWxpemVJREJWYWx1ZShyZXF1
ZXN0U3RhdGUoKSwgcHJwU2VyaWFsaXplZFNjcmlwdFZhbHVlKTsKIAogICAgIFJlZlB0cjxJREJL
ZXk+IHByaW1hcnlLZXkgPSBwcnBQcmltYXJ5S2V5OwogI2lmbmRlZiBOREVCVUcKLSAgICBSZWZQ
dHI8SURCS2V5PiBleHBlY3RlZEtleSA9IGNyZWF0ZUlEQktleUZyb21TY3JpcHRWYWx1ZUFuZEtl
eVBhdGgodmFsdWUsIGtleVBhdGgpOworICAgIFJlZlB0cjxJREJLZXk+IGV4cGVjdGVkS2V5ID0g
Y3JlYXRlSURCS2V5RnJvbVNjcmlwdFZhbHVlQW5kS2V5UGF0aChyZXF1ZXN0U3RhdGUoKSwgdmFs
dWUsIGtleVBhdGgpOwogICAgIEFTU0VSVCghZXhwZWN0ZWRLZXkgfHwgZXhwZWN0ZWRLZXktPmlz
RXF1YWwocHJpbWFyeUtleS5nZXQoKSkpOwogI2VuZGlmCi0gICAgYm9vbCBpbmplY3RlZCA9IGlu
amVjdElEQktleUludG9TY3JpcHRWYWx1ZShwcmltYXJ5S2V5LCB2YWx1ZSwga2V5UGF0aCk7Cisg
ICAgYm9vbCBpbmplY3RlZCA9IGluamVjdElEQktleUludG9TY3JpcHRWYWx1ZShyZXF1ZXN0U3Rh
dGUoKSwgcHJpbWFyeUtleSwgdmFsdWUsIGtleVBhdGgpOwogICAgIEFTU0VSVF9VTlVTRUQoaW5q
ZWN0ZWQsIGluamVjdGVkKTsKICAgICBvblN1Y2Nlc3NJbnRlcm5hbCh2YWx1ZSk7CiB9CkBAIC00
MDksNyArNDA5LDcgQEAgdm9pZCBJREJSZXF1ZXN0OjpvblN1Y2Nlc3MoUGFzc1JlZlB0cjxJREJL
ZXk+IGtleSwgUGFzc1JlZlB0cjxJREJLZXk+IHByaW1hcnlLZXkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgRE9NUmVxdWVzdFN0YXRlOjpTY29wZSBzY29wZShtX3JlcXVlc3RTdGF0ZSk7Ci0gICAg
U2NyaXB0VmFsdWUgdmFsdWUgPSBkZXNlcmlhbGl6ZUlEQlZhbHVlKCZtX3JlcXVlc3RTdGF0ZSwg
c2VyaWFsaXplZFZhbHVlKTsKKyAgICBTY3JpcHRWYWx1ZSB2YWx1ZSA9IGRlc2VyaWFsaXplSURC
VmFsdWUocmVxdWVzdFN0YXRlKCksIHNlcmlhbGl6ZWRWYWx1ZSk7CiAgICAgQVNTRVJUKG1fcGVu
ZGluZ0N1cnNvcik7CiAgICAgc2V0UmVzdWx0Q3Vyc29yKG1fcGVuZGluZ0N1cnNvci5yZWxlYXNl
KCksIGtleSwgcHJpbWFyeUtleSwgdmFsdWUpOwogICAgIGVucXVldWVFdmVudChjcmVhdGVTdWNj
ZXNzRXZlbnQoKSk7CkBAIC00ODIsNyArNDgyLDcgQEAgYm9vbCBJREJSZXF1ZXN0OjpkaXNwYXRj
aEV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50KQogICAgIGlmIChldmVudC0+dHlwZSgpID09
IGV2ZW50TmFtZXMoKS5zdWNjZXNzRXZlbnQpIHsKICAgICAgICAgY3Vyc29yVG9Ob3RpZnkgPSBn
ZXRSZXN1bHRDdXJzb3IoKTsKICAgICAgICAgaWYgKGN1cnNvclRvTm90aWZ5KSB7Ci0gICAgICAg
ICAgICBjdXJzb3JUb05vdGlmeS0+c2V0VmFsdWVSZWFkeSgmbV9yZXF1ZXN0U3RhdGUsIG1fY3Vy
c29yS2V5LnJlbGVhc2UoKSwgbV9jdXJzb3JQcmltYXJ5S2V5LnJlbGVhc2UoKSwgbV9jdXJzb3JW
YWx1ZSk7CisgICAgICAgICAgICBjdXJzb3JUb05vdGlmeS0+c2V0VmFsdWVSZWFkeShyZXF1ZXN0
U3RhdGUoKSwgbV9jdXJzb3JLZXkucmVsZWFzZSgpLCBtX2N1cnNvclByaW1hcnlLZXkucmVsZWFz
ZSgpLCBtX2N1cnNvclZhbHVlKTsKICAgICAgICAgICAgIG1fY3Vyc29yVmFsdWUuY2xlYXIoKTsK
ICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQlJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QlJlcXVlc3QuaAppbmRleCBhOWM3NDAwLi4yZGMyZGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCkBAIC0xMTcsNiArMTE3LDggQEAgcHVibGlj
OgogCiAgICAgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlOjpUYXNrVHlwZSB0YXNrVHlw
ZSgpIHsgcmV0dXJuIG1fdGFza1R5cGU7IH0KIAorICAgIERPTVJlcXVlc3RTdGF0ZSogcmVxdWVz
dFN0YXRlKCkgeyByZXR1cm4gJm1fcmVxdWVzdFN0YXRlOyB9CisKIHByb3RlY3RlZDoKICAgICBJ
REJSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkFueT4gc291
cmNlLCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U6OlRhc2tUeXBlLCBJREJUcmFuc2Fj
dGlvbiopOwogICAgIHZvaWQgZW5xdWV1ZUV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAKaW5k
ZXggMzRkN2U0NS4uOGIzODVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAKQEAgLTE4OCw3ICsxODgsNyBAQCBzdGF0aWMgUGFz
c1JlZlB0cjxJREJLZXk+IGNyZWF0ZUlEQktleUZyb21TY3JpcHRWYWx1ZUFuZEtleVBhdGgoY29u
c3QgU2NyaXB0VmFsdQogICAgIHJldHVybiBjcmVhdGVJREJLZXlGcm9tVmFsdWUodjhLZXkpOwog
fQogCi1QYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSURCS2V5RnJvbVNjcmlwdFZhbHVlQW5kS2V5
UGF0aChjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUsIGNvbnN0IElEQktleVBhdGgmIGtleVBhdGgp
CitQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSURCS2V5RnJvbVNjcmlwdFZhbHVlQW5kS2V5UGF0
aChET01SZXF1ZXN0U3RhdGUqLCBjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUsIGNvbnN0IElEQktl
eVBhdGgmIGtleVBhdGgpCiB7CiAgICAgSURCX1RSQUNFKCJjcmVhdGVJREJLZXlGcm9tU2NyaXB0
VmFsdWVBbmRLZXlQYXRoIik7CiAgICAgQVNTRVJUKCFrZXlQYXRoLmlzTnVsbCgpKTsKQEAgLTIy
Miw3ICsyMjIsNyBAQCBTY3JpcHRWYWx1ZSBkZXNlcmlhbGl6ZUlEQlZhbHVlKERPTVJlcXVlc3RT
dGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcgogICAgIHJldHVybiBTY3JpcHRW
YWx1ZSh2ODo6TnVsbCgpKTsKIH0KIAotYm9vbCBpbmplY3RJREJLZXlJbnRvU2NyaXB0VmFsdWUo
UGFzc1JlZlB0cjxJREJLZXk+IGtleSwgU2NyaXB0VmFsdWUmIHZhbHVlLCBjb25zdCBJREJLZXlQ
YXRoJiBrZXlQYXRoKQorYm9vbCBpbmplY3RJREJLZXlJbnRvU2NyaXB0VmFsdWUoRE9NUmVxdWVz
dFN0YXRlKiwgUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgU2NyaXB0VmFsdWUmIHZhbHVlLCBjb25z
dCBJREJLZXlQYXRoJiBrZXlQYXRoKQogewogICAgIElEQl9UUkFDRSgiaW5qZWN0SURCS2V5SW50
b1NjcmlwdFZhbHVlIik7CiAgICAgQVNTRVJUKHY4OjpDb250ZXh0OjpJbkNvbnRleHQoKSk7CkBA
IC0yNDgsNyArMjQ4LDcgQEAgYm9vbCBpbmplY3RJREJLZXlJbnRvU2NyaXB0VmFsdWUoUGFzc1Jl
ZlB0cjxJREJLZXk+IGtleSwgU2NyaXB0VmFsdWUmIHZhbHVlLCBjb24KICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotYm9vbCBjYW5JbmplY3RJREJLZXlJbnRvU2NyaXB0VmFsdWUoY29uc3QgU2NyaXB0
VmFsdWUmIHNjcmlwdFZhbHVlLCBjb25zdCBJREJLZXlQYXRoJiBrZXlQYXRoKQorYm9vbCBjYW5J
bmplY3RJREJLZXlJbnRvU2NyaXB0VmFsdWUoRE9NUmVxdWVzdFN0YXRlKiwgY29uc3QgU2NyaXB0
VmFsdWUmIHNjcmlwdFZhbHVlLCBjb25zdCBJREJLZXlQYXRoJiBrZXlQYXRoKQogewogICAgIElE
Ql9UUkFDRSgiY2FuSW5qZWN0SURCS2V5SW50b1NjcmlwdFZhbHVlIik7CiAgICAgQVNTRVJUKGtl
eVBhdGgudHlwZSgpID09IElEQktleVBhdGg6OlN0cmluZ1R5cGUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5oCmluZGV4IDQ2NTUzOTcuLjg2
ZWZjNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdV
dGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRp
bGl0aWVzLmgKQEAgLTQxLDkgKzQxLDkgQEAgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwog
CiBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSURCS2V5RnJvbVZhbHVlKHY4OjpIYW5kbGU8djg6
OlZhbHVlPik7CiAKLWJvb2wgaW5qZWN0SURCS2V5SW50b1NjcmlwdFZhbHVlKFBhc3NSZWZQdHI8
SURCS2V5PiwgU2NyaXB0VmFsdWUmLCBjb25zdCBJREJLZXlQYXRoJik7Ci1QYXNzUmVmUHRyPElE
QktleT4gY3JlYXRlSURCS2V5RnJvbVNjcmlwdFZhbHVlQW5kS2V5UGF0aChjb25zdCBTY3JpcHRW
YWx1ZSYsIGNvbnN0IElEQktleVBhdGgmKTsKLWJvb2wgY2FuSW5qZWN0SURCS2V5SW50b1Njcmlw
dFZhbHVlKGNvbnN0IFNjcmlwdFZhbHVlJiwgY29uc3QgSURCS2V5UGF0aCYpOworYm9vbCBpbmpl
Y3RJREJLZXlJbnRvU2NyaXB0VmFsdWUoRE9NUmVxdWVzdFN0YXRlKiwgUGFzc1JlZlB0cjxJREJL
ZXk+LCBTY3JpcHRWYWx1ZSYsIGNvbnN0IElEQktleVBhdGgmKTsKK1Bhc3NSZWZQdHI8SURCS2V5
PiBjcmVhdGVJREJLZXlGcm9tU2NyaXB0VmFsdWVBbmRLZXlQYXRoKERPTVJlcXVlc3RTdGF0ZSos
IGNvbnN0IFNjcmlwdFZhbHVlJiwgY29uc3QgSURCS2V5UGF0aCYpOworYm9vbCBjYW5JbmplY3RJ
REJLZXlJbnRvU2NyaXB0VmFsdWUoRE9NUmVxdWVzdFN0YXRlKiwgY29uc3QgU2NyaXB0VmFsdWUm
LCBjb25zdCBJREJLZXlQYXRoJik7CiBTY3JpcHRWYWx1ZSBkZXNlcmlhbGl6ZUlEQlZhbHVlKERP
TVJlcXVlc3RTdGF0ZSosIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPik7CiBTY3Jp
cHRWYWx1ZSBpZGJLZXlUb1NjcmlwdFZhbHVlKERPTVJlcXVlc3RTdGF0ZSosIFBhc3NSZWZQdHI8
SURCS2V5Pik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZjBjZDhlNS4uOTA1ZTcz
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0xMS0x
NSAgTWljaGFlbCBQcnVldHQgIDxtaWNoYWVsQDY4ay5vcmc+CisKKyAgICAgICAgSW5kZXhlZERC
OiBQcm9wYWdhdGUgRE9NUmVxdWVzdFN0YXRlIHRvIEluZGV4ZWREQiBiaW5kaW5nIHV0aWxpdHkg
ZnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDI0MzAKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIERP
TVJlcXVlc3RTdGF0ZSBpcyBjdXJyZW50bHkgcHJvcGFnYXRlZCB0byBzb21lIGJ1dCBub3QgYWxs
IG9mCisgICAgICAgIHRoZSBJbmRleGVkREIgYmluZGluZyB1dGlsaXR5IGZ1bmN0aW9ucy4gSW4g
b3JkZXIgdG8gaW1wbGVtZW50CisgICAgICAgIHRoZXNlIGZ1bmN0aW9ucyBmb3IgSlNDLCB0aGlz
IHN0YXRlIG11c3QgYmUgcHJvcGFnYXRlZCB0byBhbGwKKyAgICAgICAgb2YgdGhlIHV0aWxpdHkg
ZnVuY3Rpb25zLgorCisgICAgICAgICogdGVzdHMvSURCQmluZGluZ1V0aWxpdGllc1Rlc3QuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpjaGVja0tleUZyb21WYWx1ZUFuZEtleVBhdGhJbnRlcm5hbCk6
CisgICAgICAgIChXZWJLaXQ6OmluamVjdEtleSk6CisKIDIwMTItMTEtMTUgIFNoZXJpZmYgQm90
ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIxMzQ4MDAgYW5kIHIxMzQ4MDUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0lEQkJpbmRpbmdVdGlsaXRpZXNUZXN0LmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvSURCQmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwCmluZGV4IGQ5NTBj
MWMuLmI1Mjk2N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSURC
QmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvSURCQmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwCkBAIC01Myw3ICs1Myw3IEBAIFBhc3NSZWZQ
dHI8SURCS2V5PiBjaGVja0tleUZyb21WYWx1ZUFuZEtleVBhdGhJbnRlcm5hbChjb25zdCBTY3Jp
cHRWYWx1ZSYgdmFsdWUsCiAgICAgSURCS2V5UGF0aCBpZGJLZXlQYXRoKGtleVBhdGgpOwogICAg
IEVYUEVDVF9UUlVFKGlkYktleVBhdGguaXNWYWxpZCgpKTsKICAgICAKLSAgICByZXR1cm4gY3Jl
YXRlSURCS2V5RnJvbVNjcmlwdFZhbHVlQW5kS2V5UGF0aCh2YWx1ZSwgaWRiS2V5UGF0aCk7Cisg
ICAgcmV0dXJuIGNyZWF0ZUlEQktleUZyb21TY3JpcHRWYWx1ZUFuZEtleVBhdGgoMCwgdmFsdWUs
IGlkYktleVBhdGgpOwogfQogCiB2b2lkIGNoZWNrS2V5UGF0aE51bGxWYWx1ZShjb25zdCBTY3Jp
cHRWYWx1ZSYgdmFsdWUsIGNvbnN0IFN0cmluZyYga2V5UGF0aCkKQEAgLTY2LDcgKzY2LDcgQEAg
Ym9vbCBpbmplY3RLZXkoUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgU2NyaXB0VmFsdWUmIHZhbHVl
LCBjb25zdCBTdHJpbmcmIGtleVBhdGgKIHsKICAgICBJREJLZXlQYXRoIGlkYktleVBhdGgoa2V5
UGF0aCk7CiAgICAgRVhQRUNUX1RSVUUoaWRiS2V5UGF0aC5pc1ZhbGlkKCkpOwotICAgIHJldHVy
biBpbmplY3RJREJLZXlJbnRvU2NyaXB0VmFsdWUoa2V5LCB2YWx1ZSwgaWRiS2V5UGF0aCk7Cisg
ICAgcmV0dXJuIGluamVjdElEQktleUludG9TY3JpcHRWYWx1ZSgwLCBrZXksIHZhbHVlLCBpZGJL
ZXlQYXRoKTsKIH0KIAogdm9pZCBjaGVja0luamVjdGlvbihQYXNzUmVmUHRyPElEQktleT4gcHJw
S2V5LCBTY3JpcHRWYWx1ZSYgdmFsdWUsIGNvbnN0IFN0cmluZyYga2V5UGF0aCkKLS0gCjEuNy45
LjUKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>