<?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>164091</bug_id>
          
          <creation_ts>2016-10-27 16:08:26 -0700</creation_ts>
          <short_desc>[macOS] [WebGL2] Temporarily upgrade WebGL 2&apos;s internal OpenGL context from version 2.1 to 3.2</short_desc>
          <delta_ts>2016-10-28 00:31:07 -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>WebKit 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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>noam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1245323</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-10-27 16:08:26 -0700</bug_when>
    <thetext>[macOS] [WebGL2] Temporarily upgrade WebGL 2&apos;s internal OpenGL context from version 2.1 to 3.2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245348</commentid>
    <comment_count>1</comment_count>
      <attachid>293080</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-10-27 16:57:31 -0700</bug_when>
    <thetext>Created attachment 293080
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245353</commentid>
    <comment_count>2</comment_count>
      <attachid>293082</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-10-27 17:04:58 -0700</bug_when>
    <thetext>Created attachment 293082
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245357</commentid>
    <comment_count>3</comment_count>
      <attachid>293083</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-10-27 17:12:03 -0700</bug_when>
    <thetext>Created attachment 293083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245387</commentid>
    <comment_count>4</comment_count>
      <attachid>293083</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-27 18:48:03 -0700</bug_when>
    <thetext>Comment on attachment 293083
Patch

Clearing flags on attachment: 293083

Committed r208022: &lt;http://trac.webkit.org/changeset/208022&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245388</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-27 18:48:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245477</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-10-28 00:31:07 -0700</bug_when>
    <thetext>You forgot GLES :(
https://trac.webkit.org/changeset/208040</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293080</attachid>
            <date>2016-10-27 16:57:31 -0700</date>
            <delta_ts>2016-10-27 17:04:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164091-20161027165342.patch</filename>
            <type>text/plain</type>
            <size>23296</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3Nzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTllZWZhOGE1YWM1ODEy
N2IyOGMxYTZmZGVkMmRhMzg1MmI0OWE5My4uYjRmMzcxNjI5MmI2MjI1NzAyNTcwYWYxODJiYzlm
MjlmYWUyZDYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE2LTEwLTI3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBb
V2ViR0wyXSBUZW1wb3JhcmlseSB1cGdyYWRlIFdlYkdMIDIncyBpbnRlcm5hbCBPcGVuR0wgY29u
dGV4dCBmcm9tIHZlcnNpb24gMi4xIHRvIDMuMgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0MDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSW4gb3JkZXIgdG8gdGVzdCBXZWJHTDIgY29ycmVjdGx5LCBJ
IGhhZCB0byB1cGdyYWRlIHRoZSBtYWNPUydzIE9wZW5HTCAKKyAgICAgICAgY29udGV4dCB0byBh
IDMuMi1jb21wYXRpYmxlIGNvbnRleHQgdG8gbWFrZSBzdXJlIHRoZSBuZXcgc3ltYm9scyBhcmUK
KyAgICAgICAgYWNjZXB0ZWQuIEV2ZW50dWFsbHksIHRoaXMgMy4yLWNvbXBhdGlibGUgY29udGV4
dCB3aWxsIGhhdmUgdG8gYmUKKyAgICAgICAgcmV2ZXJ0ZWQgYW5kIHJlcGxhY2VkIHdpdGggYW4g
QU5HTEUgY29udGV4dC4gVGhlIGN1cnJlbnQgMy4yLWNvbXBhdGlibGUKKyAgICAgICAgY29udGV4
dCBpcyBqdXN0IGZvciB0ZXN0aW5nLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY2FudmFzL3dlYmds
L3dlYmdsMi1jb250ZXh0LWNyZWF0aW9uLmh0bWwKKworICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdMQnVmZmVyLmNwcDogVXNlICJudWxscHRyIiBpbnN0ZWFkIG9mIDAuCisgICAgICAgIChXZWJD
b3JlOjpXZWJHTEJ1ZmZlcjo6YXNzb2NpYXRlQnVmZmVyRGF0YSk6CisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHA6IFVzZSBtYWtlX3VuaXF1ZSgpIGlu
c3RlYWQKKyAgICAgICAgb2YgdGhlIHVuaXF1ZV9wdHIgY29uc3RydWN0b3IuCisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjcmVhdGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmg6IEdyYXBoaWNzQ29udGV4dCBzaG91
bGQga25vdworICAgICAgICBpZiBpdCBpcyB1c2luZyBhIDMuMi1jb21wYXRpYmxlIGNvbnRleHQg
YmVjYXVzZSBzb21lIHBhcnRzIG9mIDIuMSBhcmUKKyAgICAgICAgcmVtb3ZlZCBpbiB0aGVzZSBj
b250ZXh0cywgYW5kIHJlcGxhY2VkIHdpdGggbmV3IHRoaW5ncyB3aGljaCBhcmVuJ3QKKyAgICAg
ICAgaW4gMi4xLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRl
eHQzRE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OnNldFBpeGVsRm9ybWF0KTogVXNlIGtDR0xQ
RkFPcGVuR0xQcm9maWxlIHRvIHNwZWNpZnkgYW4KKyAgICAgICAgT3BlbkdMIDMuMiBjb250ZXh0
LgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNE
KTogR0xfQ0xBTVAgaXMgZGVwcmVjYXRlZAorICAgICAgICBpbiBPcGVuR0wgMy4yLiBGb3J0dW5h
dGVseSwgR0xfQ0xBTVBfVE9fRURHRSBpc24ndCBkZXByZWNhdGVkIGFuZCBkb2VzCisgICAgICAg
IGV4YWN0bHkgd2hhdCB3ZSB3YW50LiBJbiBPcGVuR0wzLjIsIHBvaW50IHNwcml0ZXMgYXJlIGFs
d2F5cyBlbmFibGVkLAorICAgICAgICBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gZW5hYmxlIHRoZW0g
aW4gdGhvc2UgY29udGV4dHMuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6
aXNHTEVTMkNvbXBsaWFudCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4
dGVuc2lvbnMzRE9wZW5HTC5jcHA6IEluIE9wZW5HTCAzLjIsCisgICAgICAgIGdsR2V0U3RyaW5n
KCkgbm8gbG9uZ2VyIGFjY2VwdHMgR0xfRVhURU5TSU9OUy4gSW5zdGVhZCwgZ2xHZXRTdHJpbmdp
KCkKKyAgICAgICAgaXMgdXNlZCBpbnN0ZWFkLiBVbmZvcnR1bmF0ZWx5LCBnbEdldFN0cmluZygp
IGlzIG5vdCBhdmFpbGFibGUgaW4KKyAgICAgICAgT3BlbkdMIDIuMSBjb250ZXh0cywgc28gd2Ug
bmVlZCB0byB1c2Ugb25lIG9yIHRoZSBvdGhlciBiYXNlZCBvbiB0aGUKKyAgICAgICAgdmVyc2lv
biBvZiB0aGUgY29udGV4dCB3ZSdyZSB1c2luZy4KKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lv
bnMzRE9wZW5HTDo6RXh0ZW5zaW9uczNET3BlbkdMKToKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVu
c2lvbnMzRE9wZW5HTDo6Z2V0RXh0ZW5zaW9ucyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uOjpFeHRlbnNpb25zM0RPcGVuR0xDb21tb24pOgor
ICAgICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uOjppbml0aWFsaXplQXZh
aWxhYmxlRXh0ZW5zaW9ucyk6CisgICAgICAgIEluc3RlYWQgb2YgbW9kaWZ5aW5nIGdldEV4dGVu
c2lvbnMoKSB0byB1c2UgZ2xHZXRTdHJpbmdpKCksIGl0IG1ha2VzCisgICAgICAgIGJldHRlciBz
ZW5zZSB0byBtb2RpZnkgdGhpcyBmdW5jdGlvbiBiZWNhdXNlIGdldEV4dGVuc2lvbnMoKSByZXR1
cm5zCisgICAgICAgIGEgc3RyaW5nLiBCdWlsZGluZyB1cCBhIHN0cmluZyBqdXN0IHRvIHNwbGl0
IGl0IHVwIGFnYWluIGlzIHNpbGx5LCBzbworICAgICAgICBtb2RpZnlpbmcgdGhpcyBmdW5jdGlv
biBpbnN0ZWFkIG1ha2VzIG1vcmUgc2Vuc2UuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTENvbW1vbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQzRDo6Z2V0SW50ZWdlcnYpOiBHTF9NQVhfVkFSWUlOR19GTE9B
VFMgaXMKKyAgICAgICAgcmVtb3ZlZCBpbiBPcGVuR0wgMy4yIGNvbnRleHRzLiBIb3dldmVyLCBp
dCBpcyByZXBsYWNlZCBieQorICAgICAgICBHTF9NQVhfVkFSWUlOR19DT01QT05FTlRTLCB0aG91
Z2ggdGhpcyBpcyBkZXByZWNhdGVkIGJ1dCBub3QgcmVtb3ZlZC4KKyAgICAgICAgSW4gdGhlIG1v
cmUgcmVjZW50IE9wZW5HTCBjb250ZXh0IHZlcnNpb25zLCBHTF9NQVhfVkFSWUlOR19WRUNUT1JT
IGlzCisgICAgICAgIHJlY29tbWVuZGVkIGluc3RlYWQsIGJ1dCB0aGF0IGlzbid0IGF2YWlsYWJs
ZSBpbiBPcGVuR0wgMy4yLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6Omdl
dEV4dGVuc2lvbnMpOgorCiAyMDE2LTEwLTI0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVu
c2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IFdpbmRvd3MgYnVpbGQgYWZ0ZXIgcjIwNzc2
NyBhbmQgcjIwNzc2OQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuY3Bw
CmluZGV4IDZiZDIzY2U3YzRhOWJlY2Q5NTA0ZmY4ZjY0N2I5MDUwMjUxNzZhYWMuLjZkN2E0ODkw
ODYzYjFiYzVjMDFmODk5MTg2ZGUxN2IyMTc4NDY1ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAKQEAgLTkzLDcgKzkzLDcgQEAgYm9vbCBXZWJHTEJ1ZmZl
cjo6YXNzb2NpYXRlQnVmZmVyRGF0YUltcGwoY29uc3Qgdm9pZCogZGF0YSwgR0MzRHNpemVpcHRy
IGJ5dGVMZW4KIAogYm9vbCBXZWJHTEJ1ZmZlcjo6YXNzb2NpYXRlQnVmZmVyRGF0YShHQzNEc2l6
ZWlwdHIgc2l6ZSkKIHsKLSAgICByZXR1cm4gYXNzb2NpYXRlQnVmZmVyRGF0YUltcGwoMCwgc2l6
ZSk7CisgICAgcmV0dXJuIGFzc29jaWF0ZUJ1ZmZlckRhdGFJbXBsKG51bGxwdHIsIHNpemUpOwog
fQogCiBib29sIFdlYkdMQnVmZmVyOjphc3NvY2lhdGVCdWZmZXJEYXRhKEFycmF5QnVmZmVyKiBh
cnJheSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggMDM1MzdiNTQyMWU5ZTIxZGNiYTQ1MTIwZGY2ODg0
ZDg0MjAyOWE2Zi4uMmVjNDk3Y2E5NTE0MmZiYTZhMzA5YmJlNDVkMDExYzJhMDU4NDdlYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHAKQEAgLTQxNCwxMCArNDE0LDEwIEBAIHN0ZDo6dW5pcXVlX3B0cjxXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjcmVhdGUo
SFRNCiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlPiBy
ZW5kZXJpbmdDb250ZXh0ID0gbnVsbHB0cjsKICNpZiBFTkFCTEUoV0VCR0wyKQogICAgICAgICBp
ZiAodHlwZSA9PSAid2ViZ2wyIikKLSAgICAgICAgICAgIHJlbmRlcmluZ0NvbnRleHQgPSBzdGQ6
OnVuaXF1ZV9wdHI8V2ViR0wyUmVuZGVyaW5nQ29udGV4dD4obmV3IFdlYkdMMlJlbmRlcmluZ0Nv
bnRleHQoY2FudmFzLCBhdHRyaWJ1dGVzKSk7CisgICAgICAgICAgICByZW5kZXJpbmdDb250ZXh0
ID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJHTDJSZW5kZXJpbmdDb250ZXh0PihjYW52YXMsIGF0dHJp
YnV0ZXMpOwogICAgICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgICAgIHJlbmRlcmluZ0NvbnRl
eHQgPSBzdGQ6OnVuaXF1ZV9wdHI8V2ViR0xSZW5kZXJpbmdDb250ZXh0PihuZXcgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0KGNhbnZhcywgYXR0cmlidXRlcykpOworICAgICAgICAgICAgcmVuZGVyaW5n
Q29udGV4dCA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViR0xSZW5kZXJpbmdDb250ZXh0PihjYW52YXMs
IGF0dHJpYnV0ZXMpOwogICAgICAgICByZW5kZXJpbmdDb250ZXh0LT5zdXNwZW5kSWZOZWVkZWQo
KTsKICAgICAgICAgcmV0dXJuIHJlbmRlcmluZ0NvbnRleHQ7CiAgICAgfQpAQCAtNDM3LDEwICs0
MzcsMTAgQEAgc3RkOjp1bmlxdWVfcHRyPFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U+IFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2U6OmNyZWF0ZShIVE0KICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZT4gcmVuZGVyaW5nQ29udGV4dCA9IG51bGxwdHI7CiAjaWYg
RU5BQkxFKFdFQkdMMikKICAgICBpZiAodHlwZSA9PSAid2ViZ2wyIikKLSAgICAgICAgcmVuZGVy
aW5nQ29udGV4dCA9IHN0ZDo6dW5pcXVlX3B0cjxXZWJHTDJSZW5kZXJpbmdDb250ZXh0PihuZXcg
V2ViR0wyUmVuZGVyaW5nQ29udGV4dChjYW52YXMsIFdURk1vdmUoY29udGV4dCksIGF0dHJpYnV0
ZXMpKTsKKyAgICAgICAgcmVuZGVyaW5nQ29udGV4dCA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViR0wy
UmVuZGVyaW5nQ29udGV4dD4oY2FudmFzLCBXVEZNb3ZlKGNvbnRleHQpLCBhdHRyaWJ1dGVzKTsK
ICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgcmVuZGVyaW5nQ29udGV4dCA9IHN0ZDo6dW5pcXVl
X3B0cjxXZWJHTFJlbmRlcmluZ0NvbnRleHQ+KG5ldyBXZWJHTFJlbmRlcmluZ0NvbnRleHQoY2Fu
dmFzLCBXVEZNb3ZlKGNvbnRleHQpLCBhdHRyaWJ1dGVzKSk7CisgICAgICAgIHJlbmRlcmluZ0Nv
bnRleHQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4oY2FudmFzLCBX
VEZNb3ZlKGNvbnRleHQpLCBhdHRyaWJ1dGVzKTsKICAgICByZW5kZXJpbmdDb250ZXh0LT5zdXNw
ZW5kSWZOZWVkZWQoKTsKIAogICAgIHJldHVybiByZW5kZXJpbmdDb250ZXh0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKaW5k
ZXggNGFmZWRmYjcxMzcyOGNiOWM1ZWRlOWYxMDMwNTk3YjQxOWQwZTJkZS4uZTNlYzU2MDYxZWMw
Y2ZhNjVjM2MzMTliNDVjYjdjY2ZjNjJiYmNjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC0xNDQzLDYgKzE0NDMs
OCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxHcmFwaGljc0NvbnRleHQzRFByaXZh
dGU+IG1fcHJpdmF0ZTsKICAgICAKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlKiBtX3dl
YmdsQ29udGV4dDsKKworICAgIGJvb2wgbV9pc0ZvcldlYkdMMiB7IGZhbHNlIH07CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KaW5kZXggNzVmNjg1
MjkxYWMwMDgxYTgzYjYzZDg4MDM4NzIzNzQ5YWE1YjkzOS4uMzI4M2U2OTJhZDAxNWFiNzEzMDBh
ZTg5MWU2MjU2YzU0Zjc0MzFhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbQpAQCAtODQsNyAr
ODQsNyBAQCBwdWJsaWM6CiB9OwogCiAjaWYgIVBMQVRGT1JNKElPUykKLXN0YXRpYyB2b2lkIHNl
dFBpeGVsRm9ybWF0KFZlY3RvcjxDR0xQaXhlbEZvcm1hdEF0dHJpYnV0ZT4mIGF0dHJpYnMsIGlu
dCBjb2xvckJpdHMsIGludCBkZXB0aEJpdHMsIGJvb2wgYWNjZWxlcmF0ZWQsIGJvb2wgc3VwZXJz
YW1wbGUsIGJvb2wgY2xvc2VzdCwgYm9vbCBhbnRpYWxpYXMsIGJvb2wgYWxsb3dPZmZsaW5lKQor
c3RhdGljIHZvaWQgc2V0UGl4ZWxGb3JtYXQoVmVjdG9yPENHTFBpeGVsRm9ybWF0QXR0cmlidXRl
PiYgYXR0cmlicywgaW50IGNvbG9yQml0cywgaW50IGRlcHRoQml0cywgYm9vbCBhY2NlbGVyYXRl
ZCwgYm9vbCBzdXBlcnNhbXBsZSwgYm9vbCBjbG9zZXN0LCBib29sIGFudGlhbGlhcywgYm9vbCBh
bGxvd09mZmxpbmUsIGJvb2wgdXNlR0xFUzMpCiB7CiAgICAgYXR0cmlicy5jbGVhcigpOwogICAg
IApAQCAtMTIwLDYgKzEyMCwxMyBAQCBzdGF0aWMgdm9pZCBzZXRQaXhlbEZvcm1hdChWZWN0b3I8
Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+JiBhdHRyaWJzLCBpbnQgY29sb3JCaQogICAgICAgICBh
dHRyaWJzLmFwcGVuZChrQ0dMUEZBU2FtcGxlcyk7CiAgICAgICAgIGF0dHJpYnMuYXBwZW5kKHN0
YXRpY19jYXN0PENHTFBpeGVsRm9ybWF0QXR0cmlidXRlPig0KSk7CiAgICAgfQorCisgICAgaWYg
KHVzZUdMRVMzKSB7CisgICAgICAgIC8vIEZJWE1FOiBJbnN0ZWFkIG9mIGJhY2tpbmcgYSBXZWJH
TDIgR3JhcGhpY3NDb250ZXh0M0Qgd2l0aCBhIE9wZW5HTCAzLjIgY29udGV4dCwgd2Ugc2hvdWxk
IGluc3RlYWQgYmFjayBpdCB3aXRoIEFOR0xFLgorICAgICAgICAvLyBVc2UgYW4gT3BlbkdMIDMu
MiBjb250ZXh0IGZvciBub3cgdW50aWwgdGhlIEFOR0xFIGJhY2tlbmQgaXMgcmVhZHkuCisgICAg
ICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQRkFPcGVuR0xQcm9maWxlKTsKKyAgICAgICAgYXR0cmli
cy5hcHBlbmQoc3RhdGljX2Nhc3Q8Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+KGtDR0xPR0xQVmVy
c2lvbl8zXzJfQ29yZSkpOworICAgIH0KICAgICAgICAgCiAgICAgYXR0cmlicy5hcHBlbmQoc3Rh
dGljX2Nhc3Q8Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+KDApKTsKIH0KQEAgLTE5OSwxOSArMjA2
LDE5IEBAIEdyYXBoaWNzQ29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRChHcmFwaGljc0NvbnRl
eHQzRDo6QXR0cmlidXRlcyBhdHRycywgSG9zdFdpCiAKICAgICBib29sIHVzZU11bHRpc2FtcGxp
bmcgPSBtX2F0dHJzLmFudGlhbGlhczsKIAotICAgIHNldFBpeGVsRm9ybWF0KGF0dHJpYnMsIDMy
LCAzMiwgIWF0dHJzLmZvcmNlU29mdHdhcmVSZW5kZXJlciwgdHJ1ZSwgZmFsc2UsIHVzZU11bHRp
c2FtcGxpbmcsIGF0dHJzLnByZWZlckxvd1Bvd2VyVG9IaWdoUGVyZm9ybWFuY2UpOworICAgIHNl
dFBpeGVsRm9ybWF0KGF0dHJpYnMsIDMyLCAzMiwgIWF0dHJzLmZvcmNlU29mdHdhcmVSZW5kZXJl
ciwgdHJ1ZSwgZmFsc2UsIHVzZU11bHRpc2FtcGxpbmcsIGF0dHJzLnByZWZlckxvd1Bvd2VyVG9I
aWdoUGVyZm9ybWFuY2UsIGF0dHJzLnVzZUdMRVMzKTsKICAgICBDR0xDaG9vc2VQaXhlbEZvcm1h
dChhdHRyaWJzLmRhdGEoKSwgJnBpeGVsRm9ybWF0T2JqLCAmbnVtUGl4ZWxGb3JtYXRzKTsKIAog
ICAgIGlmICghbnVtUGl4ZWxGb3JtYXRzKSB7Ci0gICAgICAgIHNldFBpeGVsRm9ybWF0KGF0dHJp
YnMsIDMyLCAzMiwgIWF0dHJzLmZvcmNlU29mdHdhcmVSZW5kZXJlciwgZmFsc2UsIGZhbHNlLCB1
c2VNdWx0aXNhbXBsaW5nLCBhdHRycy5wcmVmZXJMb3dQb3dlclRvSGlnaFBlcmZvcm1hbmNlKTsK
KyAgICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDMyLCAhYXR0cnMuZm9yY2VTb2Z0
d2FyZVJlbmRlcmVyLCBmYWxzZSwgZmFsc2UsIHVzZU11bHRpc2FtcGxpbmcsIGF0dHJzLnByZWZl
ckxvd1Bvd2VyVG9IaWdoUGVyZm9ybWFuY2UsIGF0dHJzLnVzZUdMRVMzKTsKICAgICAgICAgQ0dM
Q2hvb3NlUGl4ZWxGb3JtYXQoYXR0cmlicy5kYXRhKCksICZwaXhlbEZvcm1hdE9iaiwgJm51bVBp
eGVsRm9ybWF0cyk7CiAKICAgICAgICAgaWYgKCFudW1QaXhlbEZvcm1hdHMpIHsKLSAgICAgICAg
ICAgIHNldFBpeGVsRm9ybWF0KGF0dHJpYnMsIDMyLCAxNiwgIWF0dHJzLmZvcmNlU29mdHdhcmVS
ZW5kZXJlciwgZmFsc2UsIGZhbHNlLCB1c2VNdWx0aXNhbXBsaW5nLCBhdHRycy5wcmVmZXJMb3dQ
b3dlclRvSGlnaFBlcmZvcm1hbmNlKTsKKyAgICAgICAgICAgIHNldFBpeGVsRm9ybWF0KGF0dHJp
YnMsIDMyLCAxNiwgIWF0dHJzLmZvcmNlU29mdHdhcmVSZW5kZXJlciwgZmFsc2UsIGZhbHNlLCB1
c2VNdWx0aXNhbXBsaW5nLCBhdHRycy5wcmVmZXJMb3dQb3dlclRvSGlnaFBlcmZvcm1hbmNlLCBh
dHRycy51c2VHTEVTMyk7CiAgICAgICAgICAgICBDR0xDaG9vc2VQaXhlbEZvcm1hdChhdHRyaWJz
LmRhdGEoKSwgJnBpeGVsRm9ybWF0T2JqLCAmbnVtUGl4ZWxGb3JtYXRzKTsKIAogICAgICAgICAg
ICAgaWYgKCFhdHRycy5mb3JjZVNvZnR3YXJlUmVuZGVyZXIgJiYgIW51bVBpeGVsRm9ybWF0cykg
ewotICAgICAgICAgICAgICAgIHNldFBpeGVsRm9ybWF0KGF0dHJpYnMsIDMyLCAxNiwgZmFsc2Us
IGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UpOworICAgICAgICAgICAgICAgIHNldFBpeGVsRm9y
bWF0KGF0dHJpYnMsIDMyLCAxNiwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGF0
dHJzLnVzZUdMRVMzKTsKICAgICAgICAgICAgICAgICBDR0xDaG9vc2VQaXhlbEZvcm1hdChhdHRy
aWJzLmRhdGEoKSwgJnBpeGVsRm9ybWF0T2JqLCAmbnVtUGl4ZWxGb3JtYXRzKTsKICAgICAgICAg
ICAgICAgICB1c2VNdWx0aXNhbXBsaW5nID0gZmFsc2U7CiAgICAgICAgICAgICB9CkBAIC0yMzcs
NiArMjQ0LDggQEAgR3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNEKEdyYXBoaWNz
Q29udGV4dDNEOjpBdHRyaWJ1dGVzIGF0dHJzLCBIb3N0V2kKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAorICAgIG1faXNGb3JXZWJHTDIgPSBhdHRycy51c2VHTEVTMzsKKwogICAgIC8vIFNldCB0
aGUgY3VycmVudCBjb250ZXh0IHRvIHRoZSBvbmUgZ2l2ZW4gdG8gdXMuCiAgICAgQ0dMU2V0Q3Vy
cmVudENvbnRleHQobV9jb250ZXh0T2JqKTsKIApAQCAtMjYzLDE2ICsyNzIsMTYgQEAgR3JhcGhp
Y3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNEKEdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1
dGVzIGF0dHJzLCBIb3N0V2kKICAgICAvLyBjcmVhdGUgYSB0ZXh0dXJlIHRvIHJlbmRlciBpbnRv
CiAgICAgOjpnbEdlblRleHR1cmVzKDEsICZtX3RleHR1cmUpOwogICAgIDo6Z2xCaW5kVGV4dHVy
ZShHTF9URVhUVVJFXzJELCBtX3RleHR1cmUpOwotICAgIDo6Z2xUZXhQYXJhbWV0ZXJmKEdMX1RF
WFRVUkVfMkQsIEdMX1RFWFRVUkVfTUFHX0ZJTFRFUiwgR0xfTElORUFSKTsKLSAgICA6OmdsVGV4
UGFyYW1ldGVyZihHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01JTl9GSUxURVIsIEdMX0xJTkVB
Uik7Ci0gICAgOjpnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9XUkFQ
X1MsIEdMX0NMQU1QKTsKLSAgICA6OmdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9U
RVhUVVJFX1dSQVBfVCwgR0xfQ0xBTVApOworICAgIDo6Z2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRV
UkVfMkQsIEdMX1RFWFRVUkVfTUFHX0ZJTFRFUiwgR0xfTElORUFSKTsKKyAgICA6OmdsVGV4UGFy
YW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01JTl9GSUxURVIsIEdMX0xJTkVBUik7
CisgICAgOjpnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9XUkFQX1Ms
IEdMX0NMQU1QX1RPX0VER0UpOworICAgIDo6Z2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQs
IEdMX1RFWFRVUkVfV1JBUF9ULCBHTF9DTEFNUF9UT19FREdFKTsKICAgICA6OmdsR2VuVGV4dHVy
ZXMoMSwgJm1fY29tcG9zaXRvclRleHR1cmUpOwogICAgIDo6Z2xCaW5kVGV4dHVyZShHTF9URVhU
VVJFXzJELCBtX2NvbXBvc2l0b3JUZXh0dXJlKTsKLSAgICA6OmdsVGV4UGFyYW1ldGVyZihHTF9U
RVhUVVJFXzJELCBHTF9URVhUVVJFX01BR19GSUxURVIsIEdMX0xJTkVBUik7Ci0gICAgOjpnbFRl
eFBhcmFtZXRlcmYoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9NSU5fRklMVEVSLCBHTF9MSU5F
QVIpOwotICAgIDo6Z2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfV1JB
UF9TLCBHTF9DTEFNUCk7Ci0gICAgOjpnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xf
VEVYVFVSRV9XUkFQX1QsIEdMX0NMQU1QKTsKKyAgICA6OmdsVGV4UGFyYW1ldGVyaShHTF9URVhU
VVJFXzJELCBHTF9URVhUVVJFX01BR19GSUxURVIsIEdMX0xJTkVBUik7CisgICAgOjpnbFRleFBh
cmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9NSU5fRklMVEVSLCBHTF9MSU5FQVIp
OworICAgIDo6Z2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfV1JBUF9T
LCBHTF9DTEFNUF9UT19FREdFKTsKKyAgICA6OmdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJE
LCBHTF9URVhUVVJFX1dSQVBfVCwgR0xfQ0xBTVBfVE9fRURHRSk7CiAgICAgOjpnbEJpbmRUZXh0
dXJlKEdMX1RFWFRVUkVfMkQsIDApOwogI2VuZGlmCiAKQEAgLTMxOCw3ICszMjcsOCBAQCBHcmFw
aGljc0NvbnRleHQzRDo6R3JhcGhpY3NDb250ZXh0M0QoR3JhcGhpY3NDb250ZXh0M0Q6OkF0dHJp
YnV0ZXMgYXR0cnMsIEhvc3RXaQogICAgIAogI2lmICFQTEFURk9STShJT1MpCiAgICAgOjpnbEVu
YWJsZShHTF9WRVJURVhfUFJPR1JBTV9QT0lOVF9TSVpFKTsKLSAgICA6OmdsRW5hYmxlKEdMX1BP
SU5UX1NQUklURSk7CisgICAgaWYgKCFpc0dMRVMyQ29tcGxpYW50KCkpCisgICAgICAgIDo6Z2xF
bmFibGUoR0xfUE9JTlRfU1BSSVRFKTsKICNlbmRpZgogCiAgICAgOjpnbENsZWFyQ29sb3IoMCwg
MCwgMCwgMCk7CkBAIC00MzgsNyArNDQ4LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6ZW5k
UGFpbnQoKQogCiBib29sIEdyYXBoaWNzQ29udGV4dDNEOjppc0dMRVMyQ29tcGxpYW50KCkgY29u
c3QKIHsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1faXNGb3JXZWJHTDI7CiB9CiAK
IHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnNldENvbnRleHRMb3N0Q2FsbGJhY2soc3RkOjp1bmlx
dWVfcHRyPENvbnRleHRMb3N0Q2FsbGJhY2s+KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcApp
bmRleCA0MzYxYWVkODg0ZDYzY2QxOWFjODRhOGQ2ZmQwODA5YmM2NDNhNjkxLi4zMzM1NWIzYjk2
ZjQ2ODI1MjkwYmYxNjg0YjRlODRmOWJiNGMwOTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdM
LmNwcApAQCAtNDUsOCArNDUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUV4dGVuc2lv
bnMzRE9wZW5HTDo6RXh0ZW5zaW9uczNET3BlbkdMKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0
KQotICAgIDogRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uKGNvbnRleHQpCitFeHRlbnNpb25zM0RP
cGVuR0w6OkV4dGVuc2lvbnMzRE9wZW5HTChHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCwgYm9v
bCB1c2VJbmRleGVkR2V0U3RyaW5nKQorICAgIDogRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uKGNv
bnRleHQsIHVzZUluZGV4ZWRHZXRTdHJpbmcpCiB7CiB9CiAKQEAgLTI5Niw2ICsyOTYsNyBAQCB2
b2lkIEV4dGVuc2lvbnMzRE9wZW5HTDo6dmVydGV4QXR0cmliRGl2aXNvcihHQzNEdWludCBpbmRl
eCwgR0MzRHVpbnQgZGl2aXNvcikKIAogU3RyaW5nIEV4dGVuc2lvbnMzRE9wZW5HTDo6Z2V0RXh0
ZW5zaW9ucygpCiB7CisgICAgQVNTRVJUKCFtX3VzZUluZGV4ZWRHZXRTdHJpbmcpOwogICAgIHJl
dHVybiBTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oOjpnbEdldFN0cmluZyhH
TF9FWFRFTlNJT05TKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmgKaW5kZXggODczYzE4
NTk3NjMzOTUxZjUyNmNlODQxYTRhOGM3YTI0MmI4OTIxYi4uN2Q3MjIxYWQyODc4NDhhMThhNTg3
MjRlNGI2YzQ0ZmE5NzM5YWQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuaApAQCAtMjMsOCAr
MjMsNyBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIEV4dGVuc2lvbnMzRE9wZW5HTF9o
Ci0jZGVmaW5lIEV4dGVuc2lvbnMzRE9wZW5HTF9oCisjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUg
IkV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbi5oIgogCkBAIC0zOCw3ICszNyw3IEBAIGNsYXNzIEV4
dGVuc2lvbnMzRE9wZW5HTCA6IHB1YmxpYyBFeHRlbnNpb25zM0RPcGVuR0xDb21tb24gewogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIC8vIFRoaXMgY2xhc3Mgb25s
eSBuZWVkcyB0byBiZSBpbnN0YW50aWF0ZWQgYnkgR3JhcGhpY3NDb250ZXh0M0QgaW1wbGVtZW50
YXRpb25zLgotICAgIGV4cGxpY2l0IEV4dGVuc2lvbnMzRE9wZW5HTChHcmFwaGljc0NvbnRleHQz
RCopOworICAgIGV4cGxpY2l0IEV4dGVuc2lvbnMzRE9wZW5HTChHcmFwaGljc0NvbnRleHQzRCos
IGJvb2wgdXNlSW5kZXhlZEdldFN0cmluZyk7CiAgICAgdmlydHVhbCB+RXh0ZW5zaW9uczNET3Bl
bkdMKCk7CiAKICAgICAvLyBFeHRlbnNpb25zM0QgbWV0aG9kcy4KQEAgLTYxLDEyICs2MCwxMSBA
QCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRXh0ZW5zaW9u
KGNvbnN0IFdURjo6U3RyaW5nJik7CiAgICAgdmlydHVhbCBTdHJpbmcgZ2V0RXh0ZW5zaW9ucygp
OwotI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSB8
fCBQTEFURk9STShJT1MpKQorCiBwcml2YXRlOgorI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRG
T1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShJT1MpKQogICAgIGJvb2wgaXNW
ZXJ0ZXhBcnJheU9iamVjdFN1cHBvcnRlZCgpOwogI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFeHRlbnNpb25zM0RPcGVuR0xfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5H
TENvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0
ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcAppbmRleCBkYmE4NTcxZWM2ZTM0MTA4YTczODRjNWZi
MGJjNzUwYWE2OWIwMmM3Li5jNjgwMmIzY2E2ZTVhOTBjZDk5MWI2ODIxNzAzNWU4ZGU3ZTdjOTQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0
ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcApAQCAtMzQsMTMgKzM0
LDE3IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAjaW5jbHVkZSA8T3BlbkdMRVMvRVMyL2dsZXh0
Lmg+CisjaW5jbHVkZSA8T3BlbkdMRVMvRVMzL2dsLmg+CiAjZWxzZQogI2lmIFVTRShPUEVOR0xf
RVNfMikKICNpbmNsdWRlICJPcGVuR0xFU1NoaW1zLmgiCiAjaW5jbHVkZSA8R0xFUzIvZ2wyLmg+
CiAjaW5jbHVkZSA8R0xFUzIvZ2wyZXh0Lmg+CiAjZWxpZiBQTEFURk9STShNQUMpCisjZGVmaW5l
IEdMX0RPX05PVF9XQVJOX0lGX01VTFRJX0dMX1ZFUlNJT05fSEVBREVSU19JTkNMVURFRAogI2lu
Y2x1ZGUgPE9wZW5HTC9nbC5oPgorI2luY2x1ZGUgPE9wZW5HTC9nbDMuaD4KKyN1bmRlZiBHTF9E
T19OT1RfV0FSTl9JRl9NVUxUSV9HTF9WRVJTSU9OX0hFQURFUlNfSU5DTFVERUQKICNlbGlmIFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pCiAjaW5jbHVkZSAi
T3BlbkdMU2hpbXMuaCIKICNlbmRpZgpAQCAtNTEsNyArNTUsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLUV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbjo6RXh0ZW5zaW9uczNET3BlbkdMQ29t
bW9uKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KQorRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9u
OjpFeHRlbnNpb25zM0RPcGVuR0xDb21tb24oR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQsIGJv
b2wgdXNlSW5kZXhlZEdldFN0cmluZykKICAgICA6IG1faW5pdGlhbGl6ZWRBdmFpbGFibGVFeHRl
bnNpb25zKGZhbHNlKQogICAgICwgbV9jb250ZXh0KGNvbnRleHQpCiAgICAgLCBtX2lzTlZJRElB
KGZhbHNlKQpAQCAtNjAsNiArNjQsNyBAQCBFeHRlbnNpb25zM0RPcGVuR0xDb21tb246OkV4dGVu
c2lvbnMzRE9wZW5HTENvbW1vbihHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCkKICAgICAsIG1f
aXNJbWFnaW5hdGlvbihmYWxzZSkKICAgICAsIG1fcmVxdWlyZXNCdWlsdEluRnVuY3Rpb25FbXVs
YXRpb24oZmFsc2UpCiAgICAgLCBtX3JlcXVpcmVzUmVzdHJpY3RlZE1heGltdW1UZXh0dXJlU2l6
ZShmYWxzZSkKKyAgICAsIG1fdXNlSW5kZXhlZEdldFN0cmluZyh1c2VJbmRleGVkR2V0U3RyaW5n
KQogewogICAgIG1fdmVuZG9yID0gU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+
KDo6Z2xHZXRTdHJpbmcoR0xfVkVORE9SKSkpOwogICAgIG1fcmVuZGVyZXIgPSBTdHJpbmcocmVp
bnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oOjpnbEdldFN0cmluZyhHTF9SRU5ERVJFUikpKTsK
QEAgLTIwNiwxMSArMjExLDIxIEBAIFN0cmluZyBFeHRlbnNpb25zM0RPcGVuR0xDb21tb246Omdl
dFRyYW5zbGF0ZWRTaGFkZXJTb3VyY2VBTkdMRShQbGF0Zm9ybTNET2JqZWN0CiAKIHZvaWQgRXh0
ZW5zaW9uczNET3BlbkdMQ29tbW9uOjppbml0aWFsaXplQXZhaWxhYmxlRXh0ZW5zaW9ucygpCiB7
Ci0gICAgU3RyaW5nIGV4dGVuc2lvbnNTdHJpbmcgPSBnZXRFeHRlbnNpb25zKCk7Ci0gICAgVmVj
dG9yPFN0cmluZz4gYXZhaWxhYmxlRXh0ZW5zaW9uczsKLSAgICBleHRlbnNpb25zU3RyaW5nLnNw
bGl0KCcgJywgYXZhaWxhYmxlRXh0ZW5zaW9ucyk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBhdmFpbGFibGVFeHRlbnNpb25zLnNpemUoKTsgKytpKQotICAgICAgICBtX2F2YWlsYWJsZUV4
dGVuc2lvbnMuYWRkKGF2YWlsYWJsZUV4dGVuc2lvbnNbaV0pOworI2lmIFBMQVRGT1JNKE1BQykK
KyAgICBpZiAobV91c2VJbmRleGVkR2V0U3RyaW5nKSB7CisgICAgICAgIEdMaW50IG51bUV4dGVu
c2lvbnMgPSAwOworICAgICAgICA6OmdsR2V0SW50ZWdlcnYoR0xfTlVNX0VYVEVOU0lPTlMsICZu
dW1FeHRlbnNpb25zKTsKKyAgICAgICAgZm9yIChHTGludCBpID0gMDsgaSA8IG51bUV4dGVuc2lv
bnM7ICsraSkKKyAgICAgICAgICAgIG1fYXZhaWxhYmxlRXh0ZW5zaW9ucy5hZGQoZ2xHZXRTdHJp
bmdpKEdMX0VYVEVOU0lPTlMsIGkpKTsKKyAgICB9IGVsc2UKKyNlbmRpZgorICAgIHsKKyAgICAg
ICAgU3RyaW5nIGV4dGVuc2lvbnNTdHJpbmcgPSBnZXRFeHRlbnNpb25zKCk7CisgICAgICAgIFZl
Y3RvcjxTdHJpbmc+IGF2YWlsYWJsZUV4dGVuc2lvbnM7CisgICAgICAgIGV4dGVuc2lvbnNTdHJp
bmcuc3BsaXQoJyAnLCBhdmFpbGFibGVFeHRlbnNpb25zKTsKKyAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBhdmFpbGFibGVFeHRlbnNpb25zLnNpemUoKTsgKytpKQorICAgICAgICAgICAg
bV9hdmFpbGFibGVFeHRlbnNpb25zLmFkZChhdmFpbGFibGVFeHRlbnNpb25zW2ldKTsKKyAgICB9
CiAgICAgbV9pbml0aWFsaXplZEF2YWlsYWJsZUV4dGVuc2lvbnMgPSB0cnVlOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9u
czNET3BlbkdMQ29tbW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmgKaW5kZXggZjIxZDFiNGIwMTY2OTBjZjk1ZmQ5
ODljNTYwM2ZiYTE5NjA3YzI5NC4uMGJhOGJlNDA2MjY0YTk3OWMyMTVmNTExOGEwYTRjOGI4YjEw
OWU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0V4dGVuc2lvbnMzRE9wZW5HTENvbW1vbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uaApAQCAtNzAsNyArNzAs
NyBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICBmcmllbmQgY2xhc3MgRXh0ZW5zaW9uczNE
T3BlbkdMRVM7Ci0gICAgRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uKEdyYXBoaWNzQ29udGV4dDNE
Kik7CisgICAgRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uKEdyYXBoaWNzQ29udGV4dDNEKiwgYm9v
bCB1c2VJbmRleGVkR2V0U3RyaW5nKTsKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0V4dGVu
c2lvbihjb25zdCBTdHJpbmcmKSA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgZ2V0RXh0ZW5zaW9u
cygpID0gMDsKQEAgLTg5LDYgKzg5LDggQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgbV9yZXF1aXJl
c0J1aWx0SW5GdW5jdGlvbkVtdWxhdGlvbjsKICAgICBib29sIG1fcmVxdWlyZXNSZXN0cmljdGVk
TWF4aW11bVRleHR1cmVTaXplOwogCisgICAgYm9vbCBtX3VzZUluZGV4ZWRHZXRTdHJpbmcgeyBm
YWxzZSB9OworCiAgICAgU3RyaW5nIG1fdmVuZG9yOwogICAgIFN0cmluZyBtX3JlbmRlcmVyOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCmluZGV4IGU1MzQ4ZjVhNjM4
ZmRjZDk1NDFlOTFiYzYxZWYxY2ZiYzVkOTdmYTQuLjM0YTI5YWRlMGVmM2M3NDcyZTUwYTY4MDJk
ZjQ4MTk5YTc5MWIwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcApA
QCAtNTQsNyArNTQsMTAgQEAKICNkZWZpbmUgR0xfUkdCQTMyRl9BUkIgICAgICAgICAgICAgICAg
ICAgICAgMHg4ODE0CiAjZGVmaW5lIEdMX1JHQjMyRl9BUkIgICAgICAgICAgICAgICAgICAgICAg
IDB4ODgxNQogI2VsaWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBHTF9ET19OT1RfV0FSTl9JRl9N
VUxUSV9HTF9WRVJTSU9OX0hFQURFUlNfSU5DTFVERUQKICNpbmNsdWRlIDxPcGVuR0wvZ2wuaD4K
KyNpbmNsdWRlIDxPcGVuR0wvZ2wzLmg+CisjdW5kZWYgR0xfRE9fTk9UX1dBUk5fSUZfTVVMVElf
R0xfVkVSU0lPTl9IRUFERVJTX0lOQ0xVREVECiAjZWxpZiBQTEFURk9STShHVEspIHx8IFBMQVRG
T1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKQogI2luY2x1ZGUgIk9wZW5HTFNoaW1zLmgiCiAjZW5k
aWYKQEAgLTI4NSw4ICsyODgsMTcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6Z2V0SW50ZWdl
cnYoR0MzRGVudW0gcG5hbWUsIEdDM0RpbnQqIHZhbHVlKQogICAgICAgICAqdmFsdWUgLz0gNDsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBNQVhfVkFSWUlOR19WRUNUT1JTOgotICAgICAgICA6
OmdsR2V0SW50ZWdlcnYoR0xfTUFYX1ZBUllJTkdfRkxPQVRTLCB2YWx1ZSk7Ci0gICAgICAgICp2
YWx1ZSAvPSA0OworICAgICAgICBpZiAoaXNHTEVTMkNvbXBsaWFudCgpKSB7CisgICAgICAgICAg
ICBBU1NFUlQoOjpnbEdldEVycm9yKCkgPT0gR0xfTk9fRVJST1IpOworICAgICAgICAgICAgOjpn
bEdldEludGVnZXJ2KEdMX01BWF9WQVJZSU5HX1ZFQ1RPUlMsIHZhbHVlKTsKKyAgICAgICAgICAg
IGlmICg6OmdsR2V0RXJyb3IoKSA9PSBHTF9JTlZBTElEX0VOVU0pIHsKKyAgICAgICAgICAgICAg
ICA6OmdsR2V0SW50ZWdlcnYoR0xfTUFYX1ZBUllJTkdfQ09NUE9ORU5UUywgdmFsdWUpOworICAg
ICAgICAgICAgICAgICp2YWx1ZSAvPSA0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgOjpnbEdldEludGVnZXJ2KEdMX01BWF9WQVJZSU5HX0ZMT0FUUywgdmFs
dWUpOworICAgICAgICAgICAgKnZhbHVlIC89IDQ7CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7
CiAjZW5kaWYKICAgICBjYXNlIE1BWF9URVhUVVJFX1NJWkU6CkBAIC0zOTcsNyArNDA5LDcgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6Y2xlYXJEZXB0aChHQzNEY2xhbXBmIGRlcHRoKQogRXh0
ZW5zaW9uczNEKiBHcmFwaGljc0NvbnRleHQzRDo6Z2V0RXh0ZW5zaW9ucygpCiB7CiAgICAgaWYg
KCFtX2V4dGVuc2lvbnMpCi0gICAgICAgIG1fZXh0ZW5zaW9ucyA9IHN0ZDo6bWFrZV91bmlxdWU8
RXh0ZW5zaW9uczNET3BlbkdMPih0aGlzKTsKKyAgICAgICAgbV9leHRlbnNpb25zID0gc3RkOjpt
YWtlX3VuaXF1ZTxFeHRlbnNpb25zM0RPcGVuR0w+KHRoaXMsIGlzR0xFUzJDb21wbGlhbnQoKSk7
CiAgICAgcmV0dXJuIG1fZXh0ZW5zaW9ucy5nZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDkwODBmNWM2NTYx
YTQxZmM0N2I0YTY0NGE2NjE5MTE5NjRlNjczOGYuLmQzODA4MjdhY2Y2YzBiODJjZDRiYWY0OTJk
NjUzZTQ5MjliOWMzOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0xMC0yNyAgTXlsZXMg
Qy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gW1dl
YkdMMl0gVGVtcG9yYXJpbHkgdXBncmFkZSBXZWJHTCAyJ3MgaW50ZXJuYWwgT3BlbkdMIGNvbnRl
eHQgZnJvbSB2ZXJzaW9uIDIuMSB0byAzLjIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2NDA5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0L2Nh
bnZhcy93ZWJnbC93ZWJnbDItY29udGV4dC1jcmVhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsMi1jb250ZXh0LWNyZWF0aW9uLmh0bWw6
IEFkZGVkLgorCiAyMDE2LTEwLTI0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmViYXNlIHRlc3RzIGFmdGVyIHIyMDc3NjcKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDM0Y2JjOTU1NzM3Yzk3YWFhZGU1MmRjN2UwZTYwODQxODc1YTlmY2IuLmE4
NjhjMzkxODQ4MzM5MjBmMTczNTA2NWJjYWMxNTFiMDI2OGIzYzkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtOTk1LDMgKzk5NSw2IEBAIGltcG9ydGVkL2JsaW5rL2h0dHAvdGVzdHMvc2VjdXJpdHkv
c2hhcGUtaW1hZ2UtY29ycy1wb3J0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlCiB3ZWJraXQub3Jn
L2IvMTYzNjM2IG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21l
ZGlhLWNvbnRyb2xsZXItcmVzaXplLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogCiB3ZWJraXQub3Jn
L2IvMTYzODg3IHN2Zy9hcy1pbWFnZS9zdmctaW1hZ2Utd2l0aC1kYXRhLXVyaS11c2UtZGF0YS11
cmkuc3ZnIFsgUGFzcyBDcmFzaCBdCisKKyMgVGVtcG9yYXJ5IGZhaWx1cmUgdW50aWwgd2Ugc3Rh
cnQgdXNpbmcgQU5HTEUgYXMgYSBXZWJHTCBiYWNrZW5kCit3ZWJraXQub3JnL2IvMTYzOTI0IGZh
c3QvY2FudmFzL3dlYmdsL2J1ZmZlckRhdGEtb2Zmc2V0LWxlbmd0aC5odG1sIFsgUGFzcyBGYWls
dXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsMi1j
b250ZXh0LWNyZWF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL3dlYmdsMi1jb250ZXh0LWNyZWF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MmZk
MDE3N2RjZTE3NjA1ZTIxOTJhNzU1YmM1MDg0NjU2NTY0MTI0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyLWNvbnRleHQtY3JlYXRpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK0NoZWNrcyB0aGF0IHVzaW5nIGEgV2ViR0wgMiBj
b250ZXh0IGRvZXNuJ3QgY2F1c2UgYW4gZXJyb3IuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIGNvbnRleHQuZ2V0RXJyb3IoKSBpcyBjb250ZXh0Lk5PX0VSUk9SCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyLWNvbnRleHQtY3JlYXRpb24u
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsMi1jb250ZXh0LWNyZWF0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzNhMGQ0ZTA2OTY3ODFiOTgwM2NlZGEwMWJmMWIxYzk5NTlm
MjQyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dl
YmdsMi1jb250ZXh0LWNyZWF0aW9uLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImMiIHdp
ZHRoPSI0MCIgaGVpZ2h0PSI0MCI+PC9jYW52YXM+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkNo
ZWNrcyB0aGF0IHVzaW5nIGEgV2ViR0wgMiBjb250ZXh0IGRvZXNuJ3QgY2F1c2UgYW4gZXJyb3Iu
Iik7CisKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorCWludGVybmFscy5zZXRXZWJHTDJFbmFibGVk
KHRydWUpOworCit2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImMiKTsKK3Zh
ciBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoIndlYmdsMiIpOworc2hvdWxkQmUoImNvbnRl
eHQuZ2V0RXJyb3IoKSIsICJjb250ZXh0Lk5PX0VSUk9SIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293082</attachid>
            <date>2016-10-27 17:04:58 -0700</date>
            <delta_ts>2016-10-27 17:12:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164091-20161027170109.patch</filename>
            <type>text/plain</type>
            <size>23292</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3Nzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTllZWZhOGE1YWM1ODEy
N2IyOGMxYTZmZGVkMmRhMzg1MmI0OWE5My4uZWVmZGI2OTkxMGVhNGI2ZDNiNjQ3MGQwMWU4NTQ1
MDNjYjQxZjU0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE2LTEwLTI3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBb
V2ViR0wyXSBUZW1wb3JhcmlseSB1cGdyYWRlIFdlYkdMIDIncyBpbnRlcm5hbCBPcGVuR0wgY29u
dGV4dCBmcm9tIHZlcnNpb24gMi4xIHRvIDMuMgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0MDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBK
YWNrc29uLgorCisgICAgICAgIEluIG9yZGVyIHRvIHRlc3QgV2ViR0wyIGNvcnJlY3RseSwgSSBo
YWQgdG8gdXBncmFkZSB0aGUgbWFjT1MncyBPcGVuR0wgCisgICAgICAgIGNvbnRleHQgdG8gYSAz
LjItY29tcGF0aWJsZSBjb250ZXh0IHRvIG1ha2Ugc3VyZSB0aGUgbmV3IHN5bWJvbHMgYXJlCisg
ICAgICAgIGFjY2VwdGVkLiBFdmVudHVhbGx5LCB0aGlzIDMuMi1jb21wYXRpYmxlIGNvbnRleHQg
d2lsbCBoYXZlIHRvIGJlCisgICAgICAgIHJldmVydGVkIGFuZCByZXBsYWNlZCB3aXRoIGFuIEFO
R0xFIGNvbnRleHQuIFRoZSBjdXJyZW50IDMuMi1jb21wYXRpYmxlCisgICAgICAgIGNvbnRleHQg
aXMganVzdCBmb3IgdGVzdGluZy4KKworICAgICAgICBUZXN0OiBmYXN0L2NhbnZhcy93ZWJnbC93
ZWJnbDItY29udGV4dC1jcmVhdGlvbi5odG1sCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TEJ1ZmZlci5jcHA6IFVzZSAibnVsbHB0ciIgaW5zdGVhZCBvZiAwLgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xCdWZmZXI6OmFzc29jaWF0ZUJ1ZmZlckRhdGEpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOiBVc2UgbWFrZV91bmlxdWUoKSBpbnN0
ZWFkCisgICAgICAgIG9mIHRoZSB1bmlxdWVfcHRyIGNvbnN0cnVjdG9yLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oOiBHcmFwaGljc0NvbnRleHQgc2hvdWxk
IGtub3cKKyAgICAgICAgaWYgaXQgaXMgdXNpbmcgYSAzLjItY29tcGF0aWJsZSBjb250ZXh0IGJl
Y2F1c2Ugc29tZSBwYXJ0cyBvZiAyLjEgYXJlCisgICAgICAgIHJlbW92ZWQgaW4gdGhlc2UgY29u
dGV4dHMsIGFuZCByZXBsYWNlZCB3aXRoIG5ldyB0aGluZ3Mgd2hpY2ggYXJlbid0CisgICAgICAg
IGluIDIuMS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0
M0RNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpzZXRQaXhlbEZvcm1hdCk6IFVzZSBrQ0dMUEZB
T3BlbkdMUHJvZmlsZSB0byBzcGVjaWZ5IGFuCisgICAgICAgIE9wZW5HTCAzLjIgY29udGV4dC4K
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRCk6
IEdMX0NMQU1QIGlzIGRlcHJlY2F0ZWQKKyAgICAgICAgaW4gT3BlbkdMIDMuMi4gRm9ydHVuYXRl
bHksIEdMX0NMQU1QX1RPX0VER0UgaXNuJ3QgZGVwcmVjYXRlZCBhbmQgZG9lcworICAgICAgICBl
eGFjdGx5IHdoYXQgd2Ugd2FudC4gSW4gT3BlbkdMMy4yLCBwb2ludCBzcHJpdGVzIGFyZSBhbHdh
eXMgZW5hYmxlZCwKKyAgICAgICAgc28gdGhlcmUncyBubyBuZWVkIHRvIGVuYWJsZSB0aGVtIGlu
IHRob3NlIGNvbnRleHRzLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6Omlz
R0xFUzJDb21wbGlhbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRl
bnNpb25zM0RPcGVuR0wuY3BwOiBJbiBPcGVuR0wgMy4yLAorICAgICAgICBnbEdldFN0cmluZygp
IG5vIGxvbmdlciBhY2NlcHRzIEdMX0VYVEVOU0lPTlMuIEluc3RlYWQsIGdsR2V0U3RyaW5naSgp
CisgICAgICAgIGlzIHVzZWQgaW5zdGVhZC4gVW5mb3J0dW5hdGVseSwgZ2xHZXRTdHJpbmcoKSBp
cyBub3QgYXZhaWxhYmxlIGluCisgICAgICAgIE9wZW5HTCAyLjEgY29udGV4dHMsIHNvIHdlIG5l
ZWQgdG8gdXNlIG9uZSBvciB0aGUgb3RoZXIgYmFzZWQgb24gdGhlCisgICAgICAgIHZlcnNpb24g
b2YgdGhlIGNvbnRleHQgd2UncmUgdXNpbmcuCisgICAgICAgIChXZWJDb3JlOjpFeHRlbnNpb25z
M0RPcGVuR0w6OkV4dGVuc2lvbnMzRE9wZW5HTCk6CisgICAgICAgIChXZWJDb3JlOjpFeHRlbnNp
b25zM0RPcGVuR0w6OmdldEV4dGVuc2lvbnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbjo6RXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbjo6aW5pdGlhbGl6ZUF2YWls
YWJsZUV4dGVuc2lvbnMpOgorICAgICAgICBJbnN0ZWFkIG9mIG1vZGlmeWluZyBnZXRFeHRlbnNp
b25zKCkgdG8gdXNlIGdsR2V0U3RyaW5naSgpLCBpdCBtYWtlcworICAgICAgICBiZXR0ZXIgc2Vu
c2UgdG8gbW9kaWZ5IHRoaXMgZnVuY3Rpb24gYmVjYXVzZSBnZXRFeHRlbnNpb25zKCkgcmV0dXJu
cworICAgICAgICBhIHN0cmluZy4gQnVpbGRpbmcgdXAgYSBzdHJpbmcganVzdCB0byBzcGxpdCBp
dCB1cCBhZ2FpbiBpcyBzaWxseSwgc28KKyAgICAgICAgbW9kaWZ5aW5nIHRoaXMgZnVuY3Rpb24g
aW5zdGVhZCBtYWtlcyBtb3JlIHNlbnNlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0Q6OmdldEludGVnZXJ2KTogR0xfTUFYX1ZBUllJTkdfRkxPQVRT
IGlzCisgICAgICAgIHJlbW92ZWQgaW4gT3BlbkdMIDMuMiBjb250ZXh0cy4gSG93ZXZlciwgaXQg
aXMgcmVwbGFjZWQgYnkKKyAgICAgICAgR0xfTUFYX1ZBUllJTkdfQ09NUE9ORU5UUywgdGhvdWdo
IHRoaXMgaXMgZGVwcmVjYXRlZCBidXQgbm90IHJlbW92ZWQuCisgICAgICAgIEluIHRoZSBtb3Jl
IHJlY2VudCBPcGVuR0wgY29udGV4dCB2ZXJzaW9ucywgR0xfTUFYX1ZBUllJTkdfVkVDVE9SUyBp
cworICAgICAgICByZWNvbW1lbmRlZCBpbnN0ZWFkLCBidXQgdGhhdCBpc24ndCBhdmFpbGFibGUg
aW4gT3BlbkdMIDMuMi4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpnZXRF
eHRlbnNpb25zKToKKwogMjAxNi0xMC0yNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBXaW5kb3dzIGJ1aWxkIGFmdGVyIHIyMDc3Njcg
YW5kIHIyMDc3NjkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
QnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmNwcApp
bmRleCA2YmQyM2NlN2M0YTliZWNkOTUwNGZmOGY2NDdiOTA1MDI1MTc2YWFjLi42ZDdhNDg5MDg2
M2IxYmM1YzAxZjg5OTE4NmRlMTdiMjE3ODQ2NWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xCdWZmZXIuY3BwCkBAIC05Myw3ICs5Myw3IEBAIGJvb2wgV2ViR0xCdWZmZXI6
OmFzc29jaWF0ZUJ1ZmZlckRhdGFJbXBsKGNvbnN0IHZvaWQqIGRhdGEsIEdDM0RzaXplaXB0ciBi
eXRlTGVuCiAKIGJvb2wgV2ViR0xCdWZmZXI6OmFzc29jaWF0ZUJ1ZmZlckRhdGEoR0MzRHNpemVp
cHRyIHNpemUpCiB7Ci0gICAgcmV0dXJuIGFzc29jaWF0ZUJ1ZmZlckRhdGFJbXBsKDAsIHNpemUp
OworICAgIHJldHVybiBhc3NvY2lhdGVCdWZmZXJEYXRhSW1wbChudWxscHRyLCBzaXplKTsKIH0K
IAogYm9vbCBXZWJHTEJ1ZmZlcjo6YXNzb2NpYXRlQnVmZmVyRGF0YShBcnJheUJ1ZmZlciogYXJy
YXkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IDAzNTM3YjU0MjFlOWUyMWRjYmE0NTEyMGRmNjg4NGQ4
NDIwMjlhNmYuLjJlYzQ5N2NhOTUxNDJmYmE2YTMwOWJiZTQ1ZDAxMWMyYTA1ODQ3ZWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwCkBAIC00MTQsMTAgKzQxNCwxMCBAQCBzdGQ6OnVuaXF1ZV9wdHI8V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZT4gV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y3JlYXRlKEhU
TQogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZT4gcmVu
ZGVyaW5nQ29udGV4dCA9IG51bGxwdHI7CiAjaWYgRU5BQkxFKFdFQkdMMikKICAgICAgICAgaWYg
KHR5cGUgPT0gIndlYmdsMiIpCi0gICAgICAgICAgICByZW5kZXJpbmdDb250ZXh0ID0gc3RkOjp1
bmlxdWVfcHRyPFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ+KG5ldyBXZWJHTDJSZW5kZXJpbmdDb250
ZXh0KGNhbnZhcywgYXR0cmlidXRlcykpOworICAgICAgICAgICAgcmVuZGVyaW5nQ29udGV4dCA9
IHN0ZDo6bWFrZV91bmlxdWU8V2ViR0wyUmVuZGVyaW5nQ29udGV4dD4oY2FudmFzLCBhdHRyaWJ1
dGVzKTsKICAgICAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgICAgICByZW5kZXJpbmdDb250ZXh0
ID0gc3RkOjp1bmlxdWVfcHRyPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4obmV3IFdlYkdMUmVuZGVy
aW5nQ29udGV4dChjYW52YXMsIGF0dHJpYnV0ZXMpKTsKKyAgICAgICAgICAgIHJlbmRlcmluZ0Nv
bnRleHQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4oY2FudmFzLCBh
dHRyaWJ1dGVzKTsKICAgICAgICAgcmVuZGVyaW5nQ29udGV4dC0+c3VzcGVuZElmTmVlZGVkKCk7
CiAgICAgICAgIHJldHVybiByZW5kZXJpbmdDb250ZXh0OwogICAgIH0KQEAgLTQzNywxMCArNDM3
LDEwIEBAIHN0ZDo6dW5pcXVlX3B0cjxXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlPiBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpjcmVhdGUoSFRNCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2U+IHJlbmRlcmluZ0NvbnRleHQgPSBudWxscHRyOwogI2lmIEVO
QUJMRShXRUJHTDIpCiAgICAgaWYgKHR5cGUgPT0gIndlYmdsMiIpCi0gICAgICAgIHJlbmRlcmlu
Z0NvbnRleHQgPSBzdGQ6OnVuaXF1ZV9wdHI8V2ViR0wyUmVuZGVyaW5nQ29udGV4dD4obmV3IFdl
YkdMMlJlbmRlcmluZ0NvbnRleHQoY2FudmFzLCBXVEZNb3ZlKGNvbnRleHQpLCBhdHRyaWJ1dGVz
KSk7CisgICAgICAgIHJlbmRlcmluZ0NvbnRleHQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQ+KGNhbnZhcywgV1RGTW92ZShjb250ZXh0KSwgYXR0cmlidXRlcyk7CiAg
ICAgZWxzZQogI2VuZGlmCi0gICAgICAgIHJlbmRlcmluZ0NvbnRleHQgPSBzdGQ6OnVuaXF1ZV9w
dHI8V2ViR0xSZW5kZXJpbmdDb250ZXh0PihuZXcgV2ViR0xSZW5kZXJpbmdDb250ZXh0KGNhbnZh
cywgV1RGTW92ZShjb250ZXh0KSwgYXR0cmlidXRlcykpOworICAgICAgICByZW5kZXJpbmdDb250
ZXh0ID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJHTFJlbmRlcmluZ0NvbnRleHQ+KGNhbnZhcywgV1RG
TW92ZShjb250ZXh0KSwgYXR0cmlidXRlcyk7CiAgICAgcmVuZGVyaW5nQ29udGV4dC0+c3VzcGVu
ZElmTmVlZGVkKCk7CiAKICAgICByZXR1cm4gcmVuZGVyaW5nQ29udGV4dDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmluZGV4
IDRhZmVkZmI3MTM3MjhjYjljNWVkZTlmMTAzMDU5N2I0MTlkMGUyZGUuLmUzZWM1NjA2MWVjMGNm
YTY1YzNjMzE5YjQ1Y2I3Y2NmYzYyYmJjY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApAQCAtMTQ0Myw2ICsxNDQzLDgg
QEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NDb250ZXh0M0RQcml2YXRl
PiBtX3ByaXZhdGU7CiAgICAgCiAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSogbV93ZWJn
bENvbnRleHQ7CisKKyAgICBib29sIG1faXNGb3JXZWJHTDIgeyBmYWxzZSB9OwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tCmluZGV4IDc1ZjY4NTI5
MWFjMDA4MWE4M2I2M2Q4ODAzODcyMzc0OWFhNWI5MzkuLjMyODNlNjkyYWQwMTVhYjcxMzAwYWU4
OTFlNjI1NmM1NGY3NDMxYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KQEAgLTg0LDcgKzg0
LDcgQEAgcHVibGljOgogfTsKIAogI2lmICFQTEFURk9STShJT1MpCi1zdGF0aWMgdm9pZCBzZXRQ
aXhlbEZvcm1hdChWZWN0b3I8Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+JiBhdHRyaWJzLCBpbnQg
Y29sb3JCaXRzLCBpbnQgZGVwdGhCaXRzLCBib29sIGFjY2VsZXJhdGVkLCBib29sIHN1cGVyc2Ft
cGxlLCBib29sIGNsb3Nlc3QsIGJvb2wgYW50aWFsaWFzLCBib29sIGFsbG93T2ZmbGluZSkKK3N0
YXRpYyB2b2lkIHNldFBpeGVsRm9ybWF0KFZlY3RvcjxDR0xQaXhlbEZvcm1hdEF0dHJpYnV0ZT4m
IGF0dHJpYnMsIGludCBjb2xvckJpdHMsIGludCBkZXB0aEJpdHMsIGJvb2wgYWNjZWxlcmF0ZWQs
IGJvb2wgc3VwZXJzYW1wbGUsIGJvb2wgY2xvc2VzdCwgYm9vbCBhbnRpYWxpYXMsIGJvb2wgYWxs
b3dPZmZsaW5lLCBib29sIHVzZUdMRVMzKQogewogICAgIGF0dHJpYnMuY2xlYXIoKTsKICAgICAK
QEAgLTEyMCw2ICsxMjAsMTMgQEAgc3RhdGljIHZvaWQgc2V0UGl4ZWxGb3JtYXQoVmVjdG9yPENH
TFBpeGVsRm9ybWF0QXR0cmlidXRlPiYgYXR0cmlicywgaW50IGNvbG9yQmkKICAgICAgICAgYXR0
cmlicy5hcHBlbmQoa0NHTFBGQVNhbXBsZXMpOwogICAgICAgICBhdHRyaWJzLmFwcGVuZChzdGF0
aWNfY2FzdDxDR0xQaXhlbEZvcm1hdEF0dHJpYnV0ZT4oNCkpOwogICAgIH0KKworICAgIGlmICh1
c2VHTEVTMykgeworICAgICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiBiYWNraW5nIGEgV2ViR0wy
IEdyYXBoaWNzQ29udGV4dDNEIHdpdGggYSBPcGVuR0wgMy4yIGNvbnRleHQsIHdlIHNob3VsZCBp
bnN0ZWFkIGJhY2sgaXQgd2l0aCBBTkdMRS4KKyAgICAgICAgLy8gVXNlIGFuIE9wZW5HTCAzLjIg
Y29udGV4dCBmb3Igbm93IHVudGlsIHRoZSBBTkdMRSBiYWNrZW5kIGlzIHJlYWR5LgorICAgICAg
ICBhdHRyaWJzLmFwcGVuZChrQ0dMUEZBT3BlbkdMUHJvZmlsZSk7CisgICAgICAgIGF0dHJpYnMu
YXBwZW5kKHN0YXRpY19jYXN0PENHTFBpeGVsRm9ybWF0QXR0cmlidXRlPihrQ0dMT0dMUFZlcnNp
b25fM18yX0NvcmUpKTsKKyAgICB9CiAgICAgICAgIAogICAgIGF0dHJpYnMuYXBwZW5kKHN0YXRp
Y19jYXN0PENHTFBpeGVsRm9ybWF0QXR0cmlidXRlPigwKSk7CiB9CkBAIC0xOTksMTkgKzIwNiwx
OSBAQCBHcmFwaGljc0NvbnRleHQzRDo6R3JhcGhpY3NDb250ZXh0M0QoR3JhcGhpY3NDb250ZXh0
M0Q6OkF0dHJpYnV0ZXMgYXR0cnMsIEhvc3RXaQogCiAgICAgYm9vbCB1c2VNdWx0aXNhbXBsaW5n
ID0gbV9hdHRycy5hbnRpYWxpYXM7CiAKLSAgICBzZXRQaXhlbEZvcm1hdChhdHRyaWJzLCAzMiwg
MzIsICFhdHRycy5mb3JjZVNvZnR3YXJlUmVuZGVyZXIsIHRydWUsIGZhbHNlLCB1c2VNdWx0aXNh
bXBsaW5nLCBhdHRycy5wcmVmZXJMb3dQb3dlclRvSGlnaFBlcmZvcm1hbmNlKTsKKyAgICBzZXRQ
aXhlbEZvcm1hdChhdHRyaWJzLCAzMiwgMzIsICFhdHRycy5mb3JjZVNvZnR3YXJlUmVuZGVyZXIs
IHRydWUsIGZhbHNlLCB1c2VNdWx0aXNhbXBsaW5nLCBhdHRycy5wcmVmZXJMb3dQb3dlclRvSGln
aFBlcmZvcm1hbmNlLCBhdHRycy51c2VHTEVTMyk7CiAgICAgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQo
YXR0cmlicy5kYXRhKCksICZwaXhlbEZvcm1hdE9iaiwgJm51bVBpeGVsRm9ybWF0cyk7CiAKICAg
ICBpZiAoIW51bVBpeGVsRm9ybWF0cykgewotICAgICAgICBzZXRQaXhlbEZvcm1hdChhdHRyaWJz
LCAzMiwgMzIsICFhdHRycy5mb3JjZVNvZnR3YXJlUmVuZGVyZXIsIGZhbHNlLCBmYWxzZSwgdXNl
TXVsdGlzYW1wbGluZywgYXR0cnMucHJlZmVyTG93UG93ZXJUb0hpZ2hQZXJmb3JtYW5jZSk7Cisg
ICAgICAgIHNldFBpeGVsRm9ybWF0KGF0dHJpYnMsIDMyLCAzMiwgIWF0dHJzLmZvcmNlU29mdHdh
cmVSZW5kZXJlciwgZmFsc2UsIGZhbHNlLCB1c2VNdWx0aXNhbXBsaW5nLCBhdHRycy5wcmVmZXJM
b3dQb3dlclRvSGlnaFBlcmZvcm1hbmNlLCBhdHRycy51c2VHTEVTMyk7CiAgICAgICAgIENHTENo
b29zZVBpeGVsRm9ybWF0KGF0dHJpYnMuZGF0YSgpLCAmcGl4ZWxGb3JtYXRPYmosICZudW1QaXhl
bEZvcm1hdHMpOwogCiAgICAgICAgIGlmICghbnVtUGl4ZWxGb3JtYXRzKSB7Ci0gICAgICAgICAg
ICBzZXRQaXhlbEZvcm1hdChhdHRyaWJzLCAzMiwgMTYsICFhdHRycy5mb3JjZVNvZnR3YXJlUmVu
ZGVyZXIsIGZhbHNlLCBmYWxzZSwgdXNlTXVsdGlzYW1wbGluZywgYXR0cnMucHJlZmVyTG93UG93
ZXJUb0hpZ2hQZXJmb3JtYW5jZSk7CisgICAgICAgICAgICBzZXRQaXhlbEZvcm1hdChhdHRyaWJz
LCAzMiwgMTYsICFhdHRycy5mb3JjZVNvZnR3YXJlUmVuZGVyZXIsIGZhbHNlLCBmYWxzZSwgdXNl
TXVsdGlzYW1wbGluZywgYXR0cnMucHJlZmVyTG93UG93ZXJUb0hpZ2hQZXJmb3JtYW5jZSwgYXR0
cnMudXNlR0xFUzMpOwogICAgICAgICAgICAgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQoYXR0cmlicy5k
YXRhKCksICZwaXhlbEZvcm1hdE9iaiwgJm51bVBpeGVsRm9ybWF0cyk7CiAKICAgICAgICAgICAg
IGlmICghYXR0cnMuZm9yY2VTb2Z0d2FyZVJlbmRlcmVyICYmICFudW1QaXhlbEZvcm1hdHMpIHsK
LSAgICAgICAgICAgICAgICBzZXRQaXhlbEZvcm1hdChhdHRyaWJzLCAzMiwgMTYsIGZhbHNlLCBm
YWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsKKyAgICAgICAgICAgICAgICBzZXRQaXhlbEZvcm1h
dChhdHRyaWJzLCAzMiwgMTYsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBhdHRy
cy51c2VHTEVTMyk7CiAgICAgICAgICAgICAgICAgQ0dMQ2hvb3NlUGl4ZWxGb3JtYXQoYXR0cmli
cy5kYXRhKCksICZwaXhlbEZvcm1hdE9iaiwgJm51bVBpeGVsRm9ybWF0cyk7CiAgICAgICAgICAg
ICAgICAgdXNlTXVsdGlzYW1wbGluZyA9IGZhbHNlOwogICAgICAgICAgICAgfQpAQCAtMjM3LDYg
KzI0NCw4IEBAIEdyYXBoaWNzQ29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRChHcmFwaGljc0Nv
bnRleHQzRDo6QXR0cmlidXRlcyBhdHRycywgSG9zdFdpCiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKKyAgICBtX2lzRm9yV2ViR0wyID0gYXR0cnMudXNlR0xFUzM7CisKICAgICAvLyBTZXQgdGhl
IGN1cnJlbnQgY29udGV4dCB0byB0aGUgb25lIGdpdmVuIHRvIHVzLgogICAgIENHTFNldEN1cnJl
bnRDb250ZXh0KG1fY29udGV4dE9iaik7CiAKQEAgLTI2MywxNiArMjcyLDE2IEBAIEdyYXBoaWNz
Q29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRChHcmFwaGljc0NvbnRleHQzRDo6QXR0cmlidXRl
cyBhdHRycywgSG9zdFdpCiAgICAgLy8gY3JlYXRlIGEgdGV4dHVyZSB0byByZW5kZXIgaW50bwog
ICAgIDo6Z2xHZW5UZXh0dXJlcygxLCAmbV90ZXh0dXJlKTsKICAgICA6OmdsQmluZFRleHR1cmUo
R0xfVEVYVFVSRV8yRCwgbV90ZXh0dXJlKTsKLSAgICA6OmdsVGV4UGFyYW1ldGVyZihHTF9URVhU
VVJFXzJELCBHTF9URVhUVVJFX01BR19GSUxURVIsIEdMX0xJTkVBUik7Ci0gICAgOjpnbFRleFBh
cmFtZXRlcmYoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9NSU5fRklMVEVSLCBHTF9MSU5FQVIp
OwotICAgIDo6Z2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfV1JBUF9T
LCBHTF9DTEFNUCk7Ci0gICAgOjpnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVY
VFVSRV9XUkFQX1QsIEdMX0NMQU1QKTsKKyAgICA6OmdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJF
XzJELCBHTF9URVhUVVJFX01BR19GSUxURVIsIEdMX0xJTkVBUik7CisgICAgOjpnbFRleFBhcmFt
ZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9NSU5fRklMVEVSLCBHTF9MSU5FQVIpOwor
ICAgIDo6Z2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfV1JBUF9TLCBH
TF9DTEFNUF9UT19FREdFKTsKKyAgICA6OmdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBH
TF9URVhUVVJFX1dSQVBfVCwgR0xfQ0xBTVBfVE9fRURHRSk7CiAgICAgOjpnbEdlblRleHR1cmVz
KDEsICZtX2NvbXBvc2l0b3JUZXh0dXJlKTsKICAgICA6OmdsQmluZFRleHR1cmUoR0xfVEVYVFVS
RV8yRCwgbV9jb21wb3NpdG9yVGV4dHVyZSk7Ci0gICAgOjpnbFRleFBhcmFtZXRlcmYoR0xfVEVY
VFVSRV8yRCwgR0xfVEVYVFVSRV9NQUdfRklMVEVSLCBHTF9MSU5FQVIpOwotICAgIDo6Z2xUZXhQ
YXJhbWV0ZXJmKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfTUlOX0ZJTFRFUiwgR0xfTElORUFS
KTsKLSAgICA6OmdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX1dSQVBf
UywgR0xfQ0xBTVApOwotICAgIDo6Z2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RF
WFRVUkVfV1JBUF9ULCBHTF9DTEFNUCk7CisgICAgOjpnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVS
RV8yRCwgR0xfVEVYVFVSRV9NQUdfRklMVEVSLCBHTF9MSU5FQVIpOworICAgIDo6Z2xUZXhQYXJh
bWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfTUlOX0ZJTFRFUiwgR0xfTElORUFSKTsK
KyAgICA6OmdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX1dSQVBfUywg
R0xfQ0xBTVBfVE9fRURHRSk7CisgICAgOjpnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwg
R0xfVEVYVFVSRV9XUkFQX1QsIEdMX0NMQU1QX1RPX0VER0UpOwogICAgIDo6Z2xCaW5kVGV4dHVy
ZShHTF9URVhUVVJFXzJELCAwKTsKICNlbmRpZgogCkBAIC0zMTgsNyArMzI3LDggQEAgR3JhcGhp
Y3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4dDNEKEdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1
dGVzIGF0dHJzLCBIb3N0V2kKICAgICAKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIDo6Z2xFbmFi
bGUoR0xfVkVSVEVYX1BST0dSQU1fUE9JTlRfU0laRSk7Ci0gICAgOjpnbEVuYWJsZShHTF9QT0lO
VF9TUFJJVEUpOworICAgIGlmICghaXNHTEVTMkNvbXBsaWFudCgpKQorICAgICAgICA6OmdsRW5h
YmxlKEdMX1BPSU5UX1NQUklURSk7CiAjZW5kaWYKIAogICAgIDo6Z2xDbGVhckNvbG9yKDAsIDAs
IDAsIDApOwpAQCAtNDM4LDcgKzQ0OCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmVuZFBh
aW50KCkKIAogYm9vbCBHcmFwaGljc0NvbnRleHQzRDo6aXNHTEVTMkNvbXBsaWFudCgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX2lzRm9yV2ViR0wyOwogfQogCiB2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpzZXRDb250ZXh0TG9zdENhbGxiYWNrKHN0ZDo6dW5pcXVl
X3B0cjxDb250ZXh0TG9zdENhbGxiYWNrPikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAKaW5k
ZXggNDM2MWFlZDg4NGQ2M2NkMTlhYzg0YThkNmZkMDgwOWJjNjQzYTY5MS4uMzMzNTViM2I5NmY0
NjgyNTI5MGJmMTY4NGI0ZTg0ZjliYjRjMDkyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5j
cHAKQEAgLTQ1LDggKzQ1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1FeHRlbnNpb25z
M0RPcGVuR0w6OkV4dGVuc2lvbnMzRE9wZW5HTChHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCkK
LSAgICA6IEV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbihjb250ZXh0KQorRXh0ZW5zaW9uczNET3Bl
bkdMOjpFeHRlbnNpb25zM0RPcGVuR0woR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQsIGJvb2wg
dXNlSW5kZXhlZEdldFN0cmluZykKKyAgICA6IEV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbihjb250
ZXh0LCB1c2VJbmRleGVkR2V0U3RyaW5nKQogewogfQogCkBAIC0yOTYsNiArMjk2LDcgQEAgdm9p
ZCBFeHRlbnNpb25zM0RPcGVuR0w6OnZlcnRleEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQgaW5kZXgs
IEdDM0R1aW50IGRpdmlzb3IpCiAKIFN0cmluZyBFeHRlbnNpb25zM0RPcGVuR0w6OmdldEV4dGVu
c2lvbnMoKQogeworICAgIEFTU0VSVCghbV91c2VJbmRleGVkR2V0U3RyaW5nKTsKICAgICByZXR1
cm4gU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KDo6Z2xHZXRTdHJpbmcoR0xf
RVhURU5TSU9OUykpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5oCmluZGV4IDg3M2MxODU5
NzYzMzk1MWY1MjZjZTg0MWE0YThjN2EyNDJiODkyMWIuLjdkNzIyMWFkMjg3ODQ4YTE4YTU4NzI0
ZTRiNmM0NGZhOTczOWFkNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmgKQEAgLTIzLDggKzIz
LDcgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBFeHRlbnNpb25zM0RPcGVuR0xfaAot
I2RlZmluZSBFeHRlbnNpb25zM0RPcGVuR0xfaAorI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJF
eHRlbnNpb25zM0RPcGVuR0xDb21tb24uaCIKIApAQCAtMzgsNyArMzcsNyBAQCBjbGFzcyBFeHRl
bnNpb25zM0RPcGVuR0wgOiBwdWJsaWMgRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uIHsKICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICAvLyBUaGlzIGNsYXNzIG9ubHkg
bmVlZHMgdG8gYmUgaW5zdGFudGlhdGVkIGJ5IEdyYXBoaWNzQ29udGV4dDNEIGltcGxlbWVudGF0
aW9ucy4KLSAgICBleHBsaWNpdCBFeHRlbnNpb25zM0RPcGVuR0woR3JhcGhpY3NDb250ZXh0M0Qq
KTsKKyAgICBleHBsaWNpdCBFeHRlbnNpb25zM0RPcGVuR0woR3JhcGhpY3NDb250ZXh0M0QqLCBi
b29sIHVzZUluZGV4ZWRHZXRTdHJpbmcpOwogICAgIHZpcnR1YWwgfkV4dGVuc2lvbnMzRE9wZW5H
TCgpOwogCiAgICAgLy8gRXh0ZW5zaW9uczNEIG1ldGhvZHMuCkBAIC02MSwxMiArNjAsMTEgQEAg
cHVibGljOgogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0V4dGVuc2lvbihj
b25zdCBXVEY6OlN0cmluZyYpOwogICAgIHZpcnR1YWwgU3RyaW5nIGdldEV4dGVuc2lvbnMoKTsK
LSNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikgfHwg
UExBVEZPUk0oSU9TKSkKKwogcHJpdmF0ZToKKyNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShFRkwpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oSU9TKSkKICAgICBib29sIGlzVmVy
dGV4QXJyYXlPYmplY3RTdXBwb3J0ZWQoKTsKICNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYgLy8gRXh0ZW5zaW9uczNET3BlbkdMX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xD
b21tb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVu
c2lvbnMzRE9wZW5HTENvbW1vbi5jcHAKaW5kZXggZGJhODU3MWVjNmUzNDEwOGE3Mzg0YzVmYjBi
Yzc1MGFhNjliMDJjNy4uYzY4MDJiM2NhNmU1YTkwY2Q5OTFiNjgyMTcwMzVlOGRlN2U3Yzk0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVu
c2lvbnMzRE9wZW5HTENvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTENvbW1vbi5jcHAKQEAgLTM0LDEzICszNCwx
NyBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgPE9wZW5HTEVTL0VTMi9nbGV4dC5o
PgorI2luY2x1ZGUgPE9wZW5HTEVTL0VTMy9nbC5oPgogI2Vsc2UKICNpZiBVU0UoT1BFTkdMX0VT
XzIpCiAjaW5jbHVkZSAiT3BlbkdMRVNTaGltcy5oIgogI2luY2x1ZGUgPEdMRVMyL2dsMi5oPgog
I2luY2x1ZGUgPEdMRVMyL2dsMmV4dC5oPgogI2VsaWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBH
TF9ET19OT1RfV0FSTl9JRl9NVUxUSV9HTF9WRVJTSU9OX0hFQURFUlNfSU5DTFVERUQKICNpbmNs
dWRlIDxPcGVuR0wvZ2wuaD4KKyNpbmNsdWRlIDxPcGVuR0wvZ2wzLmg+CisjdW5kZWYgR0xfRE9f
Tk9UX1dBUk5fSUZfTVVMVElfR0xfVkVSU0lPTl9IRUFERVJTX0lOQ0xVREVECiAjZWxpZiBQTEFU
Rk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKQogI2luY2x1ZGUgIk9w
ZW5HTFNoaW1zLmgiCiAjZW5kaWYKQEAgLTUxLDcgKzU1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1FeHRlbnNpb25zM0RPcGVuR0xDb21tb246OkV4dGVuc2lvbnMzRE9wZW5HTENvbW1v
bihHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCkKK0V4dGVuc2lvbnMzRE9wZW5HTENvbW1vbjo6
RXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCBib29s
IHVzZUluZGV4ZWRHZXRTdHJpbmcpCiAgICAgOiBtX2luaXRpYWxpemVkQXZhaWxhYmxlRXh0ZW5z
aW9ucyhmYWxzZSkKICAgICAsIG1fY29udGV4dChjb250ZXh0KQogICAgICwgbV9pc05WSURJQShm
YWxzZSkKQEAgLTYwLDYgKzY0LDcgQEAgRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uOjpFeHRlbnNp
b25zM0RPcGVuR0xDb21tb24oR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQpCiAgICAgLCBtX2lz
SW1hZ2luYXRpb24oZmFsc2UpCiAgICAgLCBtX3JlcXVpcmVzQnVpbHRJbkZ1bmN0aW9uRW11bGF0
aW9uKGZhbHNlKQogICAgICwgbV9yZXF1aXJlc1Jlc3RyaWN0ZWRNYXhpbXVtVGV4dHVyZVNpemUo
ZmFsc2UpCisgICAgLCBtX3VzZUluZGV4ZWRHZXRTdHJpbmcodXNlSW5kZXhlZEdldFN0cmluZykK
IHsKICAgICBtX3ZlbmRvciA9IFN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPig6
OmdsR2V0U3RyaW5nKEdMX1ZFTkRPUikpKTsKICAgICBtX3JlbmRlcmVyID0gU3RyaW5nKHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KDo6Z2xHZXRTdHJpbmcoR0xfUkVOREVSRVIpKSk7CkBA
IC0yMDYsMTEgKzIxMSwyMSBAQCBTdHJpbmcgRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uOjpnZXRU
cmFuc2xhdGVkU2hhZGVyU291cmNlQU5HTEUoUGxhdGZvcm0zRE9iamVjdAogCiB2b2lkIEV4dGVu
c2lvbnMzRE9wZW5HTENvbW1vbjo6aW5pdGlhbGl6ZUF2YWlsYWJsZUV4dGVuc2lvbnMoKQogewot
ICAgIFN0cmluZyBleHRlbnNpb25zU3RyaW5nID0gZ2V0RXh0ZW5zaW9ucygpOwotICAgIFZlY3Rv
cjxTdHJpbmc+IGF2YWlsYWJsZUV4dGVuc2lvbnM7Ci0gICAgZXh0ZW5zaW9uc1N0cmluZy5zcGxp
dCgnICcsIGF2YWlsYWJsZUV4dGVuc2lvbnMpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
YXZhaWxhYmxlRXh0ZW5zaW9ucy5zaXplKCk7ICsraSkKLSAgICAgICAgbV9hdmFpbGFibGVFeHRl
bnNpb25zLmFkZChhdmFpbGFibGVFeHRlbnNpb25zW2ldKTsKKyNpZiBQTEFURk9STShNQUMpCisg
ICAgaWYgKG1fdXNlSW5kZXhlZEdldFN0cmluZykgeworICAgICAgICBHTGludCBudW1FeHRlbnNp
b25zID0gMDsKKyAgICAgICAgOjpnbEdldEludGVnZXJ2KEdMX05VTV9FWFRFTlNJT05TLCAmbnVt
RXh0ZW5zaW9ucyk7CisgICAgICAgIGZvciAoR0xpbnQgaSA9IDA7IGkgPCBudW1FeHRlbnNpb25z
OyArK2kpCisgICAgICAgICAgICBtX2F2YWlsYWJsZUV4dGVuc2lvbnMuYWRkKGdsR2V0U3RyaW5n
aShHTF9FWFRFTlNJT05TLCBpKSk7CisgICAgfSBlbHNlCisjZW5kaWYKKyAgICB7CisgICAgICAg
IFN0cmluZyBleHRlbnNpb25zU3RyaW5nID0gZ2V0RXh0ZW5zaW9ucygpOworICAgICAgICBWZWN0
b3I8U3RyaW5nPiBhdmFpbGFibGVFeHRlbnNpb25zOworICAgICAgICBleHRlbnNpb25zU3RyaW5n
LnNwbGl0KCcgJywgYXZhaWxhYmxlRXh0ZW5zaW9ucyk7CisgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgYXZhaWxhYmxlRXh0ZW5zaW9ucy5zaXplKCk7ICsraSkKKyAgICAgICAgICAgIG1f
YXZhaWxhYmxlRXh0ZW5zaW9ucy5hZGQoYXZhaWxhYmxlRXh0ZW5zaW9uc1tpXSk7CisgICAgfQog
ICAgIG1faW5pdGlhbGl6ZWRBdmFpbGFibGVFeHRlbnNpb25zID0gdHJ1ZTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMz
RE9wZW5HTENvbW1vbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0V4dGVuc2lvbnMzRE9wZW5HTENvbW1vbi5oCmluZGV4IGYyMWQxYjRiMDE2NjkwY2Y5NWZkOTg5
YzU2MDNmYmExOTYwN2MyOTQuLjBiYThiZTQwNjI2NGE5NzljMjE1ZjUxMThhMGE0YzhiOGIxMDll
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9F
eHRlbnNpb25zM0RPcGVuR0xDb21tb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmgKQEAgLTcwLDcgKzcwLDcg
QEAgcHVibGljOgogCiBwcm90ZWN0ZWQ6CiAgICAgZnJpZW5kIGNsYXNzIEV4dGVuc2lvbnMzRE9w
ZW5HTEVTOwotICAgIEV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbihHcmFwaGljc0NvbnRleHQzRCop
OworICAgIEV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbihHcmFwaGljc0NvbnRleHQzRCosIGJvb2wg
dXNlSW5kZXhlZEdldFN0cmluZyk7CiAKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNFeHRlbnNp
b24oY29uc3QgU3RyaW5nJikgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGdldEV4dGVuc2lvbnMo
KSA9IDA7CkBAIC04OSw2ICs4OSw4IEBAIHByb3RlY3RlZDoKICAgICBib29sIG1fcmVxdWlyZXNC
dWlsdEluRnVuY3Rpb25FbXVsYXRpb247CiAgICAgYm9vbCBtX3JlcXVpcmVzUmVzdHJpY3RlZE1h
eGltdW1UZXh0dXJlU2l6ZTsKIAorICAgIGJvb2wgbV91c2VJbmRleGVkR2V0U3RyaW5nIHsgZmFs
c2UgfTsKKwogICAgIFN0cmluZyBtX3ZlbmRvcjsKICAgICBTdHJpbmcgbV9yZW5kZXJlcjsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3Jh
cGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcAppbmRleCBlNTM0OGY1YTYzOGZk
Y2Q5NTQxZTkxYmM2MWVmMWNmYmM1ZDk3ZmE0Li4zNGEyOWFkZTBlZjNjNzQ3MmU1MGE2ODAyZGY0
ODE5OWE3OTFiMGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAKQEAg
LTU0LDcgKzU0LDEwIEBACiAjZGVmaW5lIEdMX1JHQkEzMkZfQVJCICAgICAgICAgICAgICAgICAg
ICAgIDB4ODgxNAogI2RlZmluZSBHTF9SR0IzMkZfQVJCICAgICAgICAgICAgICAgICAgICAgICAw
eDg4MTUKICNlbGlmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgR0xfRE9fTk9UX1dBUk5fSUZfTVVM
VElfR0xfVkVSU0lPTl9IRUFERVJTX0lOQ0xVREVECiAjaW5jbHVkZSA8T3BlbkdML2dsLmg+Cisj
aW5jbHVkZSA8T3BlbkdML2dsMy5oPgorI3VuZGVmIEdMX0RPX05PVF9XQVJOX0lGX01VTFRJX0dM
X1ZFUlNJT05fSEVBREVSU19JTkNMVURFRAogI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShFRkwpIHx8IFBMQVRGT1JNKFdJTikKICNpbmNsdWRlICJPcGVuR0xTaGltcy5oIgogI2VuZGlm
CkBAIC0yODUsOCArMjg4LDE3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmdldEludGVnZXJ2
KEdDM0RlbnVtIHBuYW1lLCBHQzNEaW50KiB2YWx1ZSkKICAgICAgICAgKnZhbHVlIC89IDQ7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgTUFYX1ZBUllJTkdfVkVDVE9SUzoKLSAgICAgICAgOjpn
bEdldEludGVnZXJ2KEdMX01BWF9WQVJZSU5HX0ZMT0FUUywgdmFsdWUpOwotICAgICAgICAqdmFs
dWUgLz0gNDsKKyAgICAgICAgaWYgKGlzR0xFUzJDb21wbGlhbnQoKSkgeworICAgICAgICAgICAg
QVNTRVJUKDo6Z2xHZXRFcnJvcigpID09IEdMX05PX0VSUk9SKTsKKyAgICAgICAgICAgIDo6Z2xH
ZXRJbnRlZ2VydihHTF9NQVhfVkFSWUlOR19WRUNUT1JTLCB2YWx1ZSk7CisgICAgICAgICAgICBp
ZiAoOjpnbEdldEVycm9yKCkgPT0gR0xfSU5WQUxJRF9FTlVNKSB7CisgICAgICAgICAgICAgICAg
OjpnbEdldEludGVnZXJ2KEdMX01BWF9WQVJZSU5HX0NPTVBPTkVOVFMsIHZhbHVlKTsKKyAgICAg
ICAgICAgICAgICAqdmFsdWUgLz0gNDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIDo6Z2xHZXRJbnRlZ2VydihHTF9NQVhfVkFSWUlOR19GTE9BVFMsIHZhbHVl
KTsKKyAgICAgICAgICAgICp2YWx1ZSAvPSA0OworICAgICAgICB9CiAgICAgICAgIGJyZWFrOwog
I2VuZGlmCiAgICAgY2FzZSBNQVhfVEVYVFVSRV9TSVpFOgpAQCAtMzk3LDcgKzQwOSw3IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OmNsZWFyRGVwdGgoR0MzRGNsYW1wZiBkZXB0aCkKIEV4dGVu
c2lvbnMzRCogR3JhcGhpY3NDb250ZXh0M0Q6OmdldEV4dGVuc2lvbnMoKQogewogICAgIGlmICgh
bV9leHRlbnNpb25zKQotICAgICAgICBtX2V4dGVuc2lvbnMgPSBzdGQ6Om1ha2VfdW5pcXVlPEV4
dGVuc2lvbnMzRE9wZW5HTD4odGhpcyk7CisgICAgICAgIG1fZXh0ZW5zaW9ucyA9IHN0ZDo6bWFr
ZV91bmlxdWU8RXh0ZW5zaW9uczNET3BlbkdMPih0aGlzLCBpc0dMRVMyQ29tcGxpYW50KCkpOwog
ICAgIHJldHVybiBtX2V4dGVuc2lvbnMuZ2V0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MDgwZjVjNjU2MWE0
MWZjNDdiNGE2NDRhNjYxOTExOTY0ZTY3MzhmLi42MjVhZTA0YzUzMTQxNWI5ZjQwZWRkNGM1YzMz
MWNiNTIyZTRhNDlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMTAtMjcgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFtXZWJH
TDJdIFRlbXBvcmFyaWx5IHVwZ3JhZGUgV2ViR0wgMidzIGludGVybmFsIE9wZW5HTCBjb250ZXh0
IGZyb20gdmVyc2lvbiAyLjEgdG8gMy4yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjQwOTEKKworICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tz
b24uCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL3dlYmdsMi1jb250ZXh0LWNyZWF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyLWNvbnRleHQtY3JlYXRpb24uaHRtbDogQWRk
ZWQuCisKIDIwMTYtMTAtMjQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBSZWJhc2UgdGVzdHMgYWZ0ZXIgcjIwNzc2NwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggMzRjYmM5NTU3MzdjOTdhYWFkZTUyZGM3ZTBlNjA4NDE4NzVhOWZjYi4uYTg2OGMz
OTE4NDgzMzkyMGYxNzM1MDY1YmNhYzE1MWIwMjY4YjNjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBA
IC05OTUsMyArOTk1LDYgQEAgaW1wb3J0ZWQvYmxpbmsvaHR0cC90ZXN0cy9zZWN1cml0eS9zaGFw
ZS1pbWFnZS1jb3JzLXBvcnQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUKIHdlYmtpdC5vcmcvYi8x
NjM2MzYgbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEt
Y29udHJvbGxlci1yZXNpemUuaHRtbCBbIFBhc3MgVGltZW91dCBdCiAKIHdlYmtpdC5vcmcvYi8x
NjM4ODcgc3ZnL2FzLWltYWdlL3N2Zy1pbWFnZS13aXRoLWRhdGEtdXJpLXVzZS1kYXRhLXVyaS5z
dmcgWyBQYXNzIENyYXNoIF0KKworIyBUZW1wb3JhcnkgZmFpbHVyZSB1bnRpbCB3ZSBzdGFydCB1
c2luZyBBTkdMRSBhcyBhIFdlYkdMIGJhY2tlbmQKK3dlYmtpdC5vcmcvYi8xNjM5MjQgZmFzdC9j
YW52YXMvd2ViZ2wvYnVmZmVyRGF0YS1vZmZzZXQtbGVuZ3RoLmh0bWwgWyBQYXNzIEZhaWx1cmUg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyLWNvbnRl
eHQtY3JlYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
d2ViZ2wyLWNvbnRleHQtY3JlYXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyZmQwMTc3
ZGNlMTc2MDVlMjE5MmE3NTViYzUwODQ2NTY1NjQxMjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbDItY29udGV4dC1jcmVhdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMCBAQAorQ2hlY2tzIHRoYXQgdXNpbmcgYSBXZWJHTCAyIGNvbnRl
eHQgZG9lc24ndCBjYXVzZSBhbiBlcnJvci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgY29udGV4dC5nZXRFcnJvcigpIGlzIGNvbnRleHQuTk9fRVJST1IKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbDItY29udGV4dC1jcmVhdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyLWNvbnRleHQtY3JlYXRpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43M2EwZDRlMDY5Njc4MWI5ODAzY2VkYTAxYmYxYjFjOTk1OWYyNDI5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wy
LWNvbnRleHQtY3JlYXRpb24uaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iYyIgd2lkdGg9
IjQwIiBoZWlnaHQ9IjQwIj48L2NhbnZhcz4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiQ2hlY2tz
IHRoYXQgdXNpbmcgYSBXZWJHTCAyIGNvbnRleHQgZG9lc24ndCBjYXVzZSBhbiBlcnJvci4iKTsK
KworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisJaW50ZXJuYWxzLnNldFdlYkdMMkVuYWJsZWQodHJ1
ZSk7CisKK3ZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYyIpOwordmFyIGNv
bnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgid2ViZ2wyIik7CitzaG91bGRCZSgiY29udGV4dC5n
ZXRFcnJvcigpIiwgImNvbnRleHQuTk9fRVJST1IiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293083</attachid>
            <date>2016-10-27 17:12:03 -0700</date>
            <delta_ts>2016-10-27 18:48:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164091-20161027170813.patch</filename>
            <type>text/plain</type>
            <size>23295</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4MDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDllODFmMjI4MWM3NWYw
YjcyMTE3OTI5ODJiNGNhNTg1OTJlMTk3Zi4uYjY3OWU0OTE0NjU0ZjE0YTcyZTQ4MTc4ODZjNWE1
N2QwZTA4NTJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE2LTEwLTI3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBb
V2ViR0wyXSBUZW1wb3JhcmlseSB1cGdyYWRlIFdlYkdMIDIncyBpbnRlcm5hbCBPcGVuR0wgY29u
dGV4dCBmcm9tIHZlcnNpb24gMi4xIHRvIDMuMgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0MDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBK
YWNrc29uLgorCisgICAgICAgIEluIG9yZGVyIHRvIHRlc3QgV2ViR0wyIGNvcnJlY3RseSwgSSBo
YWQgdG8gdXBncmFkZSB0aGUgbWFjT1MncyBPcGVuR0wgCisgICAgICAgIGNvbnRleHQgdG8gYSAz
LjItY29tcGF0aWJsZSBjb250ZXh0IHRvIG1ha2Ugc3VyZSB0aGUgbmV3IHN5bWJvbHMgYXJlCisg
ICAgICAgIGFjY2VwdGVkLiBFdmVudHVhbGx5LCB0aGlzIDMuMi1jb21wYXRpYmxlIGNvbnRleHQg
d2lsbCBoYXZlIHRvIGJlCisgICAgICAgIHJldmVydGVkIGFuZCByZXBsYWNlZCB3aXRoIGFuIEFO
R0xFIGNvbnRleHQuIFRoZSBjdXJyZW50IDMuMi1jb21wYXRpYmxlCisgICAgICAgIGNvbnRleHQg
aXMganVzdCBmb3IgdGVzdGluZy4KKworICAgICAgICBUZXN0OiBmYXN0L2NhbnZhcy93ZWJnbC93
ZWJnbDItY29udGV4dC1jcmVhdGlvbi5odG1sCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TEJ1ZmZlci5jcHA6IFVzZSAibnVsbHB0ciIgaW5zdGVhZCBvZiAwLgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xCdWZmZXI6OmFzc29jaWF0ZUJ1ZmZlckRhdGEpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOiBVc2UgbWFrZV91bmlxdWUoKSBpbnN0
ZWFkCisgICAgICAgIG9mIHRoZSB1bmlxdWVfcHRyIGNvbnN0cnVjdG9yLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oOiBHcmFwaGljc0NvbnRleHQgc2hvdWxk
IGtub3cKKyAgICAgICAgaWYgaXQgaXMgdXNpbmcgYSAzLjItY29tcGF0aWJsZSBjb250ZXh0IGJl
Y2F1c2Ugc29tZSBwYXJ0cyBvZiAyLjEgYXJlCisgICAgICAgIHJlbW92ZWQgaW4gdGhlc2UgY29u
dGV4dHMsIGFuZCByZXBsYWNlZCB3aXRoIG5ldyB0aGluZ3Mgd2hpY2ggYXJlbid0CisgICAgICAg
IGluIDIuMS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0
M0RNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpzZXRQaXhlbEZvcm1hdCk6IFVzZSBrQ0dMUEZB
T3BlbkdMUHJvZmlsZSB0byBzcGVjaWZ5IGFuCisgICAgICAgIE9wZW5HTCAzLjIgY29udGV4dC4K
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRCk6
IEdMX0NMQU1QIGlzIGRlcHJlY2F0ZWQKKyAgICAgICAgaW4gT3BlbkdMIDMuMi4gRm9ydHVuYXRl
bHksIEdMX0NMQU1QX1RPX0VER0UgaXNuJ3QgZGVwcmVjYXRlZCBhbmQgZG9lcworICAgICAgICBl
eGFjdGx5IHdoYXQgd2Ugd2FudC4gSW4gT3BlbkdMMy4yLCBwb2ludCBzcHJpdGVzIGFyZSBhbHdh
eXMgZW5hYmxlZCwKKyAgICAgICAgc28gdGhlcmUncyBubyBuZWVkIHRvIGVuYWJsZSB0aGVtIGlu
IHRob3NlIGNvbnRleHRzLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6Omlz
R0xFUzJDb21wbGlhbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRl
bnNpb25zM0RPcGVuR0wuY3BwOiBJbiBPcGVuR0wgMy4yLAorICAgICAgICBnbEdldFN0cmluZygp
IG5vIGxvbmdlciBhY2NlcHRzIEdMX0VYVEVOU0lPTlMuIEluc3RlYWQsIGdsR2V0U3RyaW5naSgp
CisgICAgICAgIGlzIHVzZWQgaW5zdGVhZC4gVW5mb3J0dW5hdGVseSwgZ2xHZXRTdHJpbmcoKSBp
cyBub3QgYXZhaWxhYmxlIGluCisgICAgICAgIE9wZW5HTCAyLjEgY29udGV4dHMsIHNvIHdlIG5l
ZWQgdG8gdXNlIG9uZSBvciB0aGUgb3RoZXIgYmFzZWQgb24gdGhlCisgICAgICAgIHZlcnNpb24g
b2YgdGhlIGNvbnRleHQgd2UncmUgdXNpbmcuCisgICAgICAgIChXZWJDb3JlOjpFeHRlbnNpb25z
M0RPcGVuR0w6OkV4dGVuc2lvbnMzRE9wZW5HTCk6CisgICAgICAgIChXZWJDb3JlOjpFeHRlbnNp
b25zM0RPcGVuR0w6OmdldEV4dGVuc2lvbnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbjo6RXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbjo6aW5pdGlhbGl6ZUF2YWls
YWJsZUV4dGVuc2lvbnMpOgorICAgICAgICBJbnN0ZWFkIG9mIG1vZGlmeWluZyBnZXRFeHRlbnNp
b25zKCkgdG8gdXNlIGdsR2V0U3RyaW5naSgpLCBpdCBtYWtlcworICAgICAgICBiZXR0ZXIgc2Vu
c2UgdG8gbW9kaWZ5IHRoaXMgZnVuY3Rpb24gYmVjYXVzZSBnZXRFeHRlbnNpb25zKCkgcmV0dXJu
cworICAgICAgICBhIHN0cmluZy4gQnVpbGRpbmcgdXAgYSBzdHJpbmcganVzdCB0byBzcGxpdCBp
dCB1cCBhZ2FpbiBpcyBzaWxseSwgc28KKyAgICAgICAgbW9kaWZ5aW5nIHRoaXMgZnVuY3Rpb24g
aW5zdGVhZCBtYWtlcyBtb3JlIHNlbnNlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0Q6OmdldEludGVnZXJ2KTogR0xfTUFYX1ZBUllJTkdfRkxPQVRT
IGlzCisgICAgICAgIHJlbW92ZWQgaW4gT3BlbkdMIDMuMiBjb250ZXh0cy4gSG93ZXZlciwgaXQg
aXMgcmVwbGFjZWQgYnkKKyAgICAgICAgR0xfTUFYX1ZBUllJTkdfQ09NUE9ORU5UUywgdGhvdWdo
IHRoaXMgaXMgZGVwcmVjYXRlZCBidXQgbm90IHJlbW92ZWQuCisgICAgICAgIEluIHRoZSBtb3Jl
IHJlY2VudCBPcGVuR0wgY29udGV4dCB2ZXJzaW9ucywgR0xfTUFYX1ZBUllJTkdfVkVDVE9SUyBp
cworICAgICAgICByZWNvbW1lbmRlZCBpbnN0ZWFkLCBidXQgdGhhdCBpc24ndCBhdmFpbGFibGUg
aW4gT3BlbkdMIDMuMi4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpnZXRF
eHRlbnNpb25zKToKKwogMjAxNi0xMC0yNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0ICJpbnNlcnRGcm9tRHJvcCIgYW5kICJkZWxldGVC
eURyYWciIGZvciB0aGUgSW5wdXRFdmVudCBzcGVjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTEJ1ZmZlci5jcHAKaW5kZXggNmJkMjNjZTdjNGE5YmVjZDk1MDRmZjhmNjQ3YjkwNTAy
NTE3NmFhYy4uNmQ3YTQ4OTA4NjNiMWJjNWMwMWY4OTkxODZkZTE3YjIxNzg0NjVkZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmNwcApAQCAtOTMsNyArOTMsNyBA
QCBib29sIFdlYkdMQnVmZmVyOjphc3NvY2lhdGVCdWZmZXJEYXRhSW1wbChjb25zdCB2b2lkKiBk
YXRhLCBHQzNEc2l6ZWlwdHIgYnl0ZUxlbgogCiBib29sIFdlYkdMQnVmZmVyOjphc3NvY2lhdGVC
dWZmZXJEYXRhKEdDM0RzaXplaXB0ciBzaXplKQogewotICAgIHJldHVybiBhc3NvY2lhdGVCdWZm
ZXJEYXRhSW1wbCgwLCBzaXplKTsKKyAgICByZXR1cm4gYXNzb2NpYXRlQnVmZmVyRGF0YUltcGwo
bnVsbHB0ciwgc2l6ZSk7CiB9CiAKIGJvb2wgV2ViR0xCdWZmZXI6OmFzc29jaWF0ZUJ1ZmZlckRh
dGEoQXJyYXlCdWZmZXIqIGFycmF5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCAwMzUzN2I1NDIxZTll
MjFkY2JhNDUxMjBkZjY4ODRkODQyMDI5YTZmLi4yZWM0OTdjYTk1MTQyZmJhNmEzMDliYmU0NWQw
MTFjMmEwNTg0N2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtNDE0LDEwICs0MTQsMTAgQEAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U+IFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OmNyZWF0ZShIVE0KICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U+IHJlbmRlcmluZ0NvbnRleHQgPSBudWxscHRyOwogI2lmIEVOQUJMRShX
RUJHTDIpCiAgICAgICAgIGlmICh0eXBlID09ICJ3ZWJnbDIiKQotICAgICAgICAgICAgcmVuZGVy
aW5nQ29udGV4dCA9IHN0ZDo6dW5pcXVlX3B0cjxXZWJHTDJSZW5kZXJpbmdDb250ZXh0PihuZXcg
V2ViR0wyUmVuZGVyaW5nQ29udGV4dChjYW52YXMsIGF0dHJpYnV0ZXMpKTsKKyAgICAgICAgICAg
IHJlbmRlcmluZ0NvbnRleHQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ+KGNhbnZhcywgYXR0cmlidXRlcyk7CiAgICAgICAgIGVsc2UKICNlbmRpZgotICAgICAgICAg
ICAgcmVuZGVyaW5nQ29udGV4dCA9IHN0ZDo6dW5pcXVlX3B0cjxXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ+KG5ldyBXZWJHTFJlbmRlcmluZ0NvbnRleHQoY2FudmFzLCBhdHRyaWJ1dGVzKSk7CisgICAg
ICAgICAgICByZW5kZXJpbmdDb250ZXh0ID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ+KGNhbnZhcywgYXR0cmlidXRlcyk7CiAgICAgICAgIHJlbmRlcmluZ0NvbnRleHQt
PnN1c3BlbmRJZk5lZWRlZCgpOwogICAgICAgICByZXR1cm4gcmVuZGVyaW5nQ29udGV4dDsKICAg
ICB9CkBAIC00MzcsMTAgKzQzNywxMCBAQCBzdGQ6OnVuaXF1ZV9wdHI8V2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZT4gV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y3JlYXRlKEhUTQogICAgIHN0
ZDo6dW5pcXVlX3B0cjxXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlPiByZW5kZXJpbmdDb250ZXh0
ID0gbnVsbHB0cjsKICNpZiBFTkFCTEUoV0VCR0wyKQogICAgIGlmICh0eXBlID09ICJ3ZWJnbDIi
KQotICAgICAgICByZW5kZXJpbmdDb250ZXh0ID0gc3RkOjp1bmlxdWVfcHRyPFdlYkdMMlJlbmRl
cmluZ0NvbnRleHQ+KG5ldyBXZWJHTDJSZW5kZXJpbmdDb250ZXh0KGNhbnZhcywgV1RGTW92ZShj
b250ZXh0KSwgYXR0cmlidXRlcykpOworICAgICAgICByZW5kZXJpbmdDb250ZXh0ID0gc3RkOjpt
YWtlX3VuaXF1ZTxXZWJHTDJSZW5kZXJpbmdDb250ZXh0PihjYW52YXMsIFdURk1vdmUoY29udGV4
dCksIGF0dHJpYnV0ZXMpOwogICAgIGVsc2UKICNlbmRpZgotICAgICAgICByZW5kZXJpbmdDb250
ZXh0ID0gc3RkOjp1bmlxdWVfcHRyPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4obmV3IFdlYkdMUmVu
ZGVyaW5nQ29udGV4dChjYW52YXMsIFdURk1vdmUoY29udGV4dCksIGF0dHJpYnV0ZXMpKTsKKyAg
ICAgICAgcmVuZGVyaW5nQ29udGV4dCA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViR0xSZW5kZXJpbmdD
b250ZXh0PihjYW52YXMsIFdURk1vdmUoY29udGV4dCksIGF0dHJpYnV0ZXMpOwogICAgIHJlbmRl
cmluZ0NvbnRleHQtPnN1c3BlbmRJZk5lZWRlZCgpOwogCiAgICAgcmV0dXJuIHJlbmRlcmluZ0Nv
bnRleHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0M0QuaAppbmRleCA0YWZlZGZiNzEzNzI4Y2I5YzVlZGU5ZjEwMzA1OTdiNDE5ZDBl
MmRlLi5lM2VjNTYwNjFlYzBjZmE2NWMzYzMxOWI0NWNiN2NjZmM2MmJiY2NjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgK
QEAgLTE0NDMsNiArMTQ0Myw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPEdyYXBo
aWNzQ29udGV4dDNEUHJpdmF0ZT4gbV9wcml2YXRlOwogICAgIAogICAgIFdlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2UqIG1fd2ViZ2xDb250ZXh0OworCisgICAgYm9vbCBtX2lzRm9yV2ViR0wyIHsg
ZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1h
Yy5tbQppbmRleCA3NWY2ODUyOTFhYzAwODFhODNiNjNkODgwMzg3MjM3NDlhYTViOTM5Li4zMjgz
ZTY5MmFkMDE1YWI3MTMwMGFlODkxZTYyNTZjNTRmNzQzMWEwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNE
TWFjLm1tCkBAIC04NCw3ICs4NCw3IEBAIHB1YmxpYzoKIH07CiAKICNpZiAhUExBVEZPUk0oSU9T
KQotc3RhdGljIHZvaWQgc2V0UGl4ZWxGb3JtYXQoVmVjdG9yPENHTFBpeGVsRm9ybWF0QXR0cmli
dXRlPiYgYXR0cmlicywgaW50IGNvbG9yQml0cywgaW50IGRlcHRoQml0cywgYm9vbCBhY2NlbGVy
YXRlZCwgYm9vbCBzdXBlcnNhbXBsZSwgYm9vbCBjbG9zZXN0LCBib29sIGFudGlhbGlhcywgYm9v
bCBhbGxvd09mZmxpbmUpCitzdGF0aWMgdm9pZCBzZXRQaXhlbEZvcm1hdChWZWN0b3I8Q0dMUGl4
ZWxGb3JtYXRBdHRyaWJ1dGU+JiBhdHRyaWJzLCBpbnQgY29sb3JCaXRzLCBpbnQgZGVwdGhCaXRz
LCBib29sIGFjY2VsZXJhdGVkLCBib29sIHN1cGVyc2FtcGxlLCBib29sIGNsb3Nlc3QsIGJvb2wg
YW50aWFsaWFzLCBib29sIGFsbG93T2ZmbGluZSwgYm9vbCB1c2VHTEVTMykKIHsKICAgICBhdHRy
aWJzLmNsZWFyKCk7CiAgICAgCkBAIC0xMjAsNiArMTIwLDEzIEBAIHN0YXRpYyB2b2lkIHNldFBp
eGVsRm9ybWF0KFZlY3RvcjxDR0xQaXhlbEZvcm1hdEF0dHJpYnV0ZT4mIGF0dHJpYnMsIGludCBj
b2xvckJpCiAgICAgICAgIGF0dHJpYnMuYXBwZW5kKGtDR0xQRkFTYW1wbGVzKTsKICAgICAgICAg
YXR0cmlicy5hcHBlbmQoc3RhdGljX2Nhc3Q8Q0dMUGl4ZWxGb3JtYXRBdHRyaWJ1dGU+KDQpKTsK
ICAgICB9CisKKyAgICBpZiAodXNlR0xFUzMpIHsKKyAgICAgICAgLy8gRklYTUU6IEluc3RlYWQg
b2YgYmFja2luZyBhIFdlYkdMMiBHcmFwaGljc0NvbnRleHQzRCB3aXRoIGEgT3BlbkdMIDMuMiBj
b250ZXh0LCB3ZSBzaG91bGQgaW5zdGVhZCBiYWNrIGl0IHdpdGggQU5HTEUuCisgICAgICAgIC8v
IFVzZSBhbiBPcGVuR0wgMy4yIGNvbnRleHQgZm9yIG5vdyB1bnRpbCB0aGUgQU5HTEUgYmFja2Vu
ZCBpcyByZWFkeS4KKyAgICAgICAgYXR0cmlicy5hcHBlbmQoa0NHTFBGQU9wZW5HTFByb2ZpbGUp
OworICAgICAgICBhdHRyaWJzLmFwcGVuZChzdGF0aWNfY2FzdDxDR0xQaXhlbEZvcm1hdEF0dHJp
YnV0ZT4oa0NHTE9HTFBWZXJzaW9uXzNfMl9Db3JlKSk7CisgICAgfQogICAgICAgICAKICAgICBh
dHRyaWJzLmFwcGVuZChzdGF0aWNfY2FzdDxDR0xQaXhlbEZvcm1hdEF0dHJpYnV0ZT4oMCkpOwog
fQpAQCAtMTk5LDE5ICsyMDYsMTkgQEAgR3JhcGhpY3NDb250ZXh0M0Q6OkdyYXBoaWNzQ29udGV4
dDNEKEdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1dGVzIGF0dHJzLCBIb3N0V2kKIAogICAgIGJv
b2wgdXNlTXVsdGlzYW1wbGluZyA9IG1fYXR0cnMuYW50aWFsaWFzOwogCi0gICAgc2V0UGl4ZWxG
b3JtYXQoYXR0cmlicywgMzIsIDMyLCAhYXR0cnMuZm9yY2VTb2Z0d2FyZVJlbmRlcmVyLCB0cnVl
LCBmYWxzZSwgdXNlTXVsdGlzYW1wbGluZywgYXR0cnMucHJlZmVyTG93UG93ZXJUb0hpZ2hQZXJm
b3JtYW5jZSk7CisgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDMyLCAhYXR0cnMuZm9y
Y2VTb2Z0d2FyZVJlbmRlcmVyLCB0cnVlLCBmYWxzZSwgdXNlTXVsdGlzYW1wbGluZywgYXR0cnMu
cHJlZmVyTG93UG93ZXJUb0hpZ2hQZXJmb3JtYW5jZSwgYXR0cnMudXNlR0xFUzMpOwogICAgIENH
TENob29zZVBpeGVsRm9ybWF0KGF0dHJpYnMuZGF0YSgpLCAmcGl4ZWxGb3JtYXRPYmosICZudW1Q
aXhlbEZvcm1hdHMpOwogCiAgICAgaWYgKCFudW1QaXhlbEZvcm1hdHMpIHsKLSAgICAgICAgc2V0
UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDMyLCAhYXR0cnMuZm9yY2VTb2Z0d2FyZVJlbmRlcmVy
LCBmYWxzZSwgZmFsc2UsIHVzZU11bHRpc2FtcGxpbmcsIGF0dHJzLnByZWZlckxvd1Bvd2VyVG9I
aWdoUGVyZm9ybWFuY2UpOworICAgICAgICBzZXRQaXhlbEZvcm1hdChhdHRyaWJzLCAzMiwgMzIs
ICFhdHRycy5mb3JjZVNvZnR3YXJlUmVuZGVyZXIsIGZhbHNlLCBmYWxzZSwgdXNlTXVsdGlzYW1w
bGluZywgYXR0cnMucHJlZmVyTG93UG93ZXJUb0hpZ2hQZXJmb3JtYW5jZSwgYXR0cnMudXNlR0xF
UzMpOwogICAgICAgICBDR0xDaG9vc2VQaXhlbEZvcm1hdChhdHRyaWJzLmRhdGEoKSwgJnBpeGVs
Rm9ybWF0T2JqLCAmbnVtUGl4ZWxGb3JtYXRzKTsKIAogICAgICAgICBpZiAoIW51bVBpeGVsRm9y
bWF0cykgewotICAgICAgICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDE2LCAhYXR0
cnMuZm9yY2VTb2Z0d2FyZVJlbmRlcmVyLCBmYWxzZSwgZmFsc2UsIHVzZU11bHRpc2FtcGxpbmcs
IGF0dHJzLnByZWZlckxvd1Bvd2VyVG9IaWdoUGVyZm9ybWFuY2UpOworICAgICAgICAgICAgc2V0
UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDE2LCAhYXR0cnMuZm9yY2VTb2Z0d2FyZVJlbmRlcmVy
LCBmYWxzZSwgZmFsc2UsIHVzZU11bHRpc2FtcGxpbmcsIGF0dHJzLnByZWZlckxvd1Bvd2VyVG9I
aWdoUGVyZm9ybWFuY2UsIGF0dHJzLnVzZUdMRVMzKTsKICAgICAgICAgICAgIENHTENob29zZVBp
eGVsRm9ybWF0KGF0dHJpYnMuZGF0YSgpLCAmcGl4ZWxGb3JtYXRPYmosICZudW1QaXhlbEZvcm1h
dHMpOwogCiAgICAgICAgICAgICBpZiAoIWF0dHJzLmZvcmNlU29mdHdhcmVSZW5kZXJlciAmJiAh
bnVtUGl4ZWxGb3JtYXRzKSB7Ci0gICAgICAgICAgICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmli
cywgMzIsIDE2LCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSk7CisgICAgICAgICAg
ICAgICAgc2V0UGl4ZWxGb3JtYXQoYXR0cmlicywgMzIsIDE2LCBmYWxzZSwgZmFsc2UsIHRydWUs
IGZhbHNlLCBmYWxzZSwgYXR0cnMudXNlR0xFUzMpOwogICAgICAgICAgICAgICAgIENHTENob29z
ZVBpeGVsRm9ybWF0KGF0dHJpYnMuZGF0YSgpLCAmcGl4ZWxGb3JtYXRPYmosICZudW1QaXhlbEZv
cm1hdHMpOwogICAgICAgICAgICAgICAgIHVzZU11bHRpc2FtcGxpbmcgPSBmYWxzZTsKICAgICAg
ICAgICAgIH0KQEAgLTIzNyw2ICsyNDQsOCBAQCBHcmFwaGljc0NvbnRleHQzRDo6R3JhcGhpY3ND
b250ZXh0M0QoR3JhcGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXMgYXR0cnMsIEhvc3RXaQogICAg
ICAgICByZXR1cm47CiAgICAgfQogCisgICAgbV9pc0ZvcldlYkdMMiA9IGF0dHJzLnVzZUdMRVMz
OworCiAgICAgLy8gU2V0IHRoZSBjdXJyZW50IGNvbnRleHQgdG8gdGhlIG9uZSBnaXZlbiB0byB1
cy4KICAgICBDR0xTZXRDdXJyZW50Q29udGV4dChtX2NvbnRleHRPYmopOwogCkBAIC0yNjMsMTYg
KzI3MiwxNiBAQCBHcmFwaGljc0NvbnRleHQzRDo6R3JhcGhpY3NDb250ZXh0M0QoR3JhcGhpY3ND
b250ZXh0M0Q6OkF0dHJpYnV0ZXMgYXR0cnMsIEhvc3RXaQogICAgIC8vIGNyZWF0ZSBhIHRleHR1
cmUgdG8gcmVuZGVyIGludG8KICAgICA6OmdsR2VuVGV4dHVyZXMoMSwgJm1fdGV4dHVyZSk7CiAg
ICAgOjpnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIG1fdGV4dHVyZSk7Ci0gICAgOjpnbFRl
eFBhcmFtZXRlcmYoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9NQUdfRklMVEVSLCBHTF9MSU5F
QVIpOwotICAgIDo6Z2xUZXhQYXJhbWV0ZXJmKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfTUlO
X0ZJTFRFUiwgR0xfTElORUFSKTsKLSAgICA6OmdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJE
LCBHTF9URVhUVVJFX1dSQVBfUywgR0xfQ0xBTVApOwotICAgIDo6Z2xUZXhQYXJhbWV0ZXJpKEdM
X1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfV1JBUF9ULCBHTF9DTEFNUCk7CisgICAgOjpnbFRleFBh
cmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9NQUdfRklMVEVSLCBHTF9MSU5FQVIp
OworICAgIDo6Z2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfTUlOX0ZJ
TFRFUiwgR0xfTElORUFSKTsKKyAgICA6OmdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBH
TF9URVhUVVJFX1dSQVBfUywgR0xfQ0xBTVBfVE9fRURHRSk7CisgICAgOjpnbFRleFBhcmFtZXRl
cmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9XUkFQX1QsIEdMX0NMQU1QX1RPX0VER0UpOwog
ICAgIDo6Z2xHZW5UZXh0dXJlcygxLCAmbV9jb21wb3NpdG9yVGV4dHVyZSk7CiAgICAgOjpnbEJp
bmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIG1fY29tcG9zaXRvclRleHR1cmUpOwotICAgIDo6Z2xU
ZXhQYXJhbWV0ZXJmKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfTUFHX0ZJTFRFUiwgR0xfTElO
RUFSKTsKLSAgICA6OmdsVGV4UGFyYW1ldGVyZihHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01J
Tl9GSUxURVIsIEdMX0xJTkVBUik7Ci0gICAgOjpnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8y
RCwgR0xfVEVYVFVSRV9XUkFQX1MsIEdMX0NMQU1QKTsKLSAgICA6OmdsVGV4UGFyYW1ldGVyaShH
TF9URVhUVVJFXzJELCBHTF9URVhUVVJFX1dSQVBfVCwgR0xfQ0xBTVApOworICAgIDo6Z2xUZXhQ
YXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfTUFHX0ZJTFRFUiwgR0xfTElORUFS
KTsKKyAgICA6OmdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01JTl9G
SUxURVIsIEdMX0xJTkVBUik7CisgICAgOjpnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwg
R0xfVEVYVFVSRV9XUkFQX1MsIEdMX0NMQU1QX1RPX0VER0UpOworICAgIDo6Z2xUZXhQYXJhbWV0
ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfV1JBUF9ULCBHTF9DTEFNUF9UT19FREdFKTsK
ICAgICA6OmdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgMCk7CiAjZW5kaWYKIApAQCAtMzE4
LDcgKzMyNyw4IEBAIEdyYXBoaWNzQ29udGV4dDNEOjpHcmFwaGljc0NvbnRleHQzRChHcmFwaGlj
c0NvbnRleHQzRDo6QXR0cmlidXRlcyBhdHRycywgSG9zdFdpCiAgICAgCiAjaWYgIVBMQVRGT1JN
KElPUykKICAgICA6OmdsRW5hYmxlKEdMX1ZFUlRFWF9QUk9HUkFNX1BPSU5UX1NJWkUpOwotICAg
IDo6Z2xFbmFibGUoR0xfUE9JTlRfU1BSSVRFKTsKKyAgICBpZiAoIWlzR0xFUzJDb21wbGlhbnQo
KSkKKyAgICAgICAgOjpnbEVuYWJsZShHTF9QT0lOVF9TUFJJVEUpOwogI2VuZGlmCiAKICAgICA6
OmdsQ2xlYXJDb2xvcigwLCAwLCAwLCAwKTsKQEAgLTQzOCw3ICs0NDgsNyBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjplbmRQYWludCgpCiAKIGJvb2wgR3JhcGhpY3NDb250ZXh0M0Q6OmlzR0xF
UzJDb21wbGlhbnQoKSBjb25zdAogewotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gbV9p
c0ZvcldlYkdMMjsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6c2V0Q29udGV4dExvc3RD
YWxsYmFjayhzdGQ6OnVuaXF1ZV9wdHI8Q29udGV4dExvc3RDYWxsYmFjaz4pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3Bl
bkdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNp
b25zM0RPcGVuR0wuY3BwCmluZGV4IDQzNjFhZWQ4ODRkNjNjZDE5YWM4NGE4ZDZmZDA4MDliYzY0
M2E2OTEuLjMzMzU1YjNiOTZmNDY4MjUyOTBiZjE2ODRiNGU4NGY5YmI0YzA5MmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RP
cGVuR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9F
eHRlbnNpb25zM0RPcGVuR0wuY3BwCkBAIC00NSw4ICs0NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotRXh0ZW5zaW9uczNET3BlbkdMOjpFeHRlbnNpb25zM0RPcGVuR0woR3JhcGhpY3ND
b250ZXh0M0QqIGNvbnRleHQpCi0gICAgOiBFeHRlbnNpb25zM0RPcGVuR0xDb21tb24oY29udGV4
dCkKK0V4dGVuc2lvbnMzRE9wZW5HTDo6RXh0ZW5zaW9uczNET3BlbkdMKEdyYXBoaWNzQ29udGV4
dDNEKiBjb250ZXh0LCBib29sIHVzZUluZGV4ZWRHZXRTdHJpbmcpCisgICAgOiBFeHRlbnNpb25z
M0RPcGVuR0xDb21tb24oY29udGV4dCwgdXNlSW5kZXhlZEdldFN0cmluZykKIHsKIH0KIApAQCAt
Mjk2LDYgKzI5Niw3IEBAIHZvaWQgRXh0ZW5zaW9uczNET3BlbkdMOjp2ZXJ0ZXhBdHRyaWJEaXZp
c29yKEdDM0R1aW50IGluZGV4LCBHQzNEdWludCBkaXZpc29yKQogCiBTdHJpbmcgRXh0ZW5zaW9u
czNET3BlbkdMOjpnZXRFeHRlbnNpb25zKCkKIHsKKyAgICBBU1NFUlQoIW1fdXNlSW5kZXhlZEdl
dFN0cmluZyk7CiAgICAgcmV0dXJuIFN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIq
Pig6OmdsR2V0U3RyaW5nKEdMX0VYVEVOU0lPTlMpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVu
R0wuaAppbmRleCA4NzNjMTg1OTc2MzM5NTFmNTI2Y2U4NDFhNGE4YzdhMjQyYjg5MjFiLi43ZDcy
MjFhZDI4Nzg0OGExOGE1ODcyNGU0YjZjNDRmYTk3MzlhZDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9w
ZW5HTC5oCkBAIC0yMyw4ICsyMyw3IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgRXh0
ZW5zaW9uczNET3BlbkdMX2gKLSNkZWZpbmUgRXh0ZW5zaW9uczNET3BlbkdMX2gKKyNwcmFnbWEg
b25jZQogCiAjaW5jbHVkZSAiRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmgiCiAKQEAgLTM4LDcg
KzM3LDcgQEAgY2xhc3MgRXh0ZW5zaW9uczNET3BlbkdMIDogcHVibGljIEV4dGVuc2lvbnMzRE9w
ZW5HTENvbW1vbiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
Ly8gVGhpcyBjbGFzcyBvbmx5IG5lZWRzIHRvIGJlIGluc3RhbnRpYXRlZCBieSBHcmFwaGljc0Nv
bnRleHQzRCBpbXBsZW1lbnRhdGlvbnMuCi0gICAgZXhwbGljaXQgRXh0ZW5zaW9uczNET3BlbkdM
KEdyYXBoaWNzQ29udGV4dDNEKik7CisgICAgZXhwbGljaXQgRXh0ZW5zaW9uczNET3BlbkdMKEdy
YXBoaWNzQ29udGV4dDNEKiwgYm9vbCB1c2VJbmRleGVkR2V0U3RyaW5nKTsKICAgICB2aXJ0dWFs
IH5FeHRlbnNpb25zM0RPcGVuR0woKTsKIAogICAgIC8vIEV4dGVuc2lvbnMzRCBtZXRob2RzLgpA
QCAtNjEsMTIgKzYwLDExIEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJvb2wg
c3VwcG9ydHNFeHRlbnNpb24oY29uc3QgV1RGOjpTdHJpbmcmKTsKICAgICB2aXJ0dWFsIFN0cmlu
ZyBnZXRFeHRlbnNpb25zKCk7Ci0jaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8
fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKElPUykpCisKIHByaXZhdGU6CisjaWYgKFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKElP
UykpCiAgICAgYm9vbCBpc1ZlcnRleEFycmF5T2JqZWN0U3VwcG9ydGVkKCk7CiAjZW5kaWYKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEV4dGVuc2lvbnMzRE9wZW5H
TF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
RXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uY3BwCmluZGV4IGRiYTg1NzFl
YzZlMzQxMDhhNzM4NGM1ZmIwYmM3NTBhYTY5YjAyYzcuLmM2ODAyYjNjYTZlNWE5MGNkOTkxYjY4
MjE3MDM1ZThkZTdlN2M5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24u
Y3BwCkBAIC0zNCwxMyArMzQsMTcgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKICNpbmNsdWRlIDxP
cGVuR0xFUy9FUzIvZ2xleHQuaD4KKyNpbmNsdWRlIDxPcGVuR0xFUy9FUzMvZ2wuaD4KICNlbHNl
CiAjaWYgVVNFKE9QRU5HTF9FU18yKQogI2luY2x1ZGUgIk9wZW5HTEVTU2hpbXMuaCIKICNpbmNs
dWRlIDxHTEVTMi9nbDIuaD4KICNpbmNsdWRlIDxHTEVTMi9nbDJleHQuaD4KICNlbGlmIFBMQVRG
T1JNKE1BQykKKyNkZWZpbmUgR0xfRE9fTk9UX1dBUk5fSUZfTVVMVElfR0xfVkVSU0lPTl9IRUFE
RVJTX0lOQ0xVREVECiAjaW5jbHVkZSA8T3BlbkdML2dsLmg+CisjaW5jbHVkZSA8T3BlbkdML2ds
My5oPgorI3VuZGVmIEdMX0RPX05PVF9XQVJOX0lGX01VTFRJX0dMX1ZFUlNJT05fSEVBREVSU19J
TkNMVURFRAogI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KFdJTikKICNpbmNsdWRlICJPcGVuR0xTaGltcy5oIgogI2VuZGlmCkBAIC01MSw3ICs1NSw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uOjpFeHRl
bnNpb25zM0RPcGVuR0xDb21tb24oR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQpCitFeHRlbnNp
b25zM0RPcGVuR0xDb21tb246OkV4dGVuc2lvbnMzRE9wZW5HTENvbW1vbihHcmFwaGljc0NvbnRl
eHQzRCogY29udGV4dCwgYm9vbCB1c2VJbmRleGVkR2V0U3RyaW5nKQogICAgIDogbV9pbml0aWFs
aXplZEF2YWlsYWJsZUV4dGVuc2lvbnMoZmFsc2UpCiAgICAgLCBtX2NvbnRleHQoY29udGV4dCkK
ICAgICAsIG1faXNOVklESUEoZmFsc2UpCkBAIC02MCw2ICs2NCw3IEBAIEV4dGVuc2lvbnMzRE9w
ZW5HTENvbW1vbjo6RXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uKEdyYXBoaWNzQ29udGV4dDNEKiBj
b250ZXh0KQogICAgICwgbV9pc0ltYWdpbmF0aW9uKGZhbHNlKQogICAgICwgbV9yZXF1aXJlc0J1
aWx0SW5GdW5jdGlvbkVtdWxhdGlvbihmYWxzZSkKICAgICAsIG1fcmVxdWlyZXNSZXN0cmljdGVk
TWF4aW11bVRleHR1cmVTaXplKGZhbHNlKQorICAgICwgbV91c2VJbmRleGVkR2V0U3RyaW5nKHVz
ZUluZGV4ZWRHZXRTdHJpbmcpCiB7CiAgICAgbV92ZW5kb3IgPSBTdHJpbmcocmVpbnRlcnByZXRf
Y2FzdDxjb25zdCBjaGFyKj4oOjpnbEdldFN0cmluZyhHTF9WRU5ET1IpKSk7CiAgICAgbV9yZW5k
ZXJlciA9IFN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPig6OmdsR2V0U3RyaW5n
KEdMX1JFTkRFUkVSKSkpOwpAQCAtMjA2LDExICsyMTEsMjEgQEAgU3RyaW5nIEV4dGVuc2lvbnMz
RE9wZW5HTENvbW1vbjo6Z2V0VHJhbnNsYXRlZFNoYWRlclNvdXJjZUFOR0xFKFBsYXRmb3JtM0RP
YmplY3QKIAogdm9pZCBFeHRlbnNpb25zM0RPcGVuR0xDb21tb246OmluaXRpYWxpemVBdmFpbGFi
bGVFeHRlbnNpb25zKCkKIHsKLSAgICBTdHJpbmcgZXh0ZW5zaW9uc1N0cmluZyA9IGdldEV4dGVu
c2lvbnMoKTsKLSAgICBWZWN0b3I8U3RyaW5nPiBhdmFpbGFibGVFeHRlbnNpb25zOwotICAgIGV4
dGVuc2lvbnNTdHJpbmcuc3BsaXQoJyAnLCBhdmFpbGFibGVFeHRlbnNpb25zKTsKLSAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IGF2YWlsYWJsZUV4dGVuc2lvbnMuc2l6ZSgpOyArK2kpCi0gICAg
ICAgIG1fYXZhaWxhYmxlRXh0ZW5zaW9ucy5hZGQoYXZhaWxhYmxlRXh0ZW5zaW9uc1tpXSk7Cisj
aWYgUExBVEZPUk0oTUFDKQorICAgIGlmIChtX3VzZUluZGV4ZWRHZXRTdHJpbmcpIHsKKyAgICAg
ICAgR0xpbnQgbnVtRXh0ZW5zaW9ucyA9IDA7CisgICAgICAgIDo6Z2xHZXRJbnRlZ2VydihHTF9O
VU1fRVhURU5TSU9OUywgJm51bUV4dGVuc2lvbnMpOworICAgICAgICBmb3IgKEdMaW50IGkgPSAw
OyBpIDwgbnVtRXh0ZW5zaW9uczsgKytpKQorICAgICAgICAgICAgbV9hdmFpbGFibGVFeHRlbnNp
b25zLmFkZChnbEdldFN0cmluZ2koR0xfRVhURU5TSU9OUywgaSkpOworICAgIH0gZWxzZQorI2Vu
ZGlmCisgICAgeworICAgICAgICBTdHJpbmcgZXh0ZW5zaW9uc1N0cmluZyA9IGdldEV4dGVuc2lv
bnMoKTsKKyAgICAgICAgVmVjdG9yPFN0cmluZz4gYXZhaWxhYmxlRXh0ZW5zaW9uczsKKyAgICAg
ICAgZXh0ZW5zaW9uc1N0cmluZy5zcGxpdCgnICcsIGF2YWlsYWJsZUV4dGVuc2lvbnMpOworICAg
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGF2YWlsYWJsZUV4dGVuc2lvbnMuc2l6ZSgpOyAr
K2kpCisgICAgICAgICAgICBtX2F2YWlsYWJsZUV4dGVuc2lvbnMuYWRkKGF2YWlsYWJsZUV4dGVu
c2lvbnNbaV0pOworICAgIH0KICAgICBtX2luaXRpYWxpemVkQXZhaWxhYmxlRXh0ZW5zaW9ucyA9
IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uaAppbmRleCBmMjFk
MWI0YjAxNjY5MGNmOTVmZDk4OWM1NjAzZmJhMTk2MDdjMjk0Li4wYmE4YmU0MDYyNjRhOTc5YzIx
NWY1MTE4YTBhNGM4YjhiMTA5ZTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTENvbW1v
bi5oCkBAIC03MCw3ICs3MCw3IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIGZyaWVuZCBj
bGFzcyBFeHRlbnNpb25zM0RPcGVuR0xFUzsKLSAgICBFeHRlbnNpb25zM0RPcGVuR0xDb21tb24o
R3JhcGhpY3NDb250ZXh0M0QqKTsKKyAgICBFeHRlbnNpb25zM0RPcGVuR0xDb21tb24oR3JhcGhp
Y3NDb250ZXh0M0QqLCBib29sIHVzZUluZGV4ZWRHZXRTdHJpbmcpOwogCiAgICAgdmlydHVhbCBi
b29sIHN1cHBvcnRzRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYpID0gMDsKICAgICB2aXJ0dWFsIFN0
cmluZyBnZXRFeHRlbnNpb25zKCkgPSAwOwpAQCAtODksNiArODksOCBAQCBwcm90ZWN0ZWQ6CiAg
ICAgYm9vbCBtX3JlcXVpcmVzQnVpbHRJbkZ1bmN0aW9uRW11bGF0aW9uOwogICAgIGJvb2wgbV9y
ZXF1aXJlc1Jlc3RyaWN0ZWRNYXhpbXVtVGV4dHVyZVNpemU7CiAKKyAgICBib29sIG1fdXNlSW5k
ZXhlZEdldFN0cmluZyB7IGZhbHNlIH07CisKICAgICBTdHJpbmcgbV92ZW5kb3I7CiAgICAgU3Ry
aW5nIG1fcmVuZGVyZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAK
aW5kZXggZTUzNDhmNWE2MzhmZGNkOTU0MWU5MWJjNjFlZjFjZmJjNWQ5N2ZhNC4uMzRhMjlhZGUw
ZWYzYzc0NzJlNTBhNjgwMmRmNDgxOTlhNzkxYjBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250
ZXh0M0RPcGVuR0wuY3BwCkBAIC01NCw3ICs1NCwxMCBAQAogI2RlZmluZSBHTF9SR0JBMzJGX0FS
QiAgICAgICAgICAgICAgICAgICAgICAweDg4MTQKICNkZWZpbmUgR0xfUkdCMzJGX0FSQiAgICAg
ICAgICAgICAgICAgICAgICAgMHg4ODE1CiAjZWxpZiBQTEFURk9STShNQUMpCisjZGVmaW5lIEdM
X0RPX05PVF9XQVJOX0lGX01VTFRJX0dMX1ZFUlNJT05fSEVBREVSU19JTkNMVURFRAogI2luY2x1
ZGUgPE9wZW5HTC9nbC5oPgorI2luY2x1ZGUgPE9wZW5HTC9nbDMuaD4KKyN1bmRlZiBHTF9ET19O
T1RfV0FSTl9JRl9NVUxUSV9HTF9WRVJTSU9OX0hFQURFUlNfSU5DTFVERUQKICNlbGlmIFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pCiAjaW5jbHVkZSAiT3Bl
bkdMU2hpbXMuaCIKICNlbmRpZgpAQCAtMjg1LDggKzI4OCwxNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjpnZXRJbnRlZ2VydihHQzNEZW51bSBwbmFtZSwgR0MzRGludCogdmFsdWUpCiAgICAg
ICAgICp2YWx1ZSAvPSA0OwogICAgICAgICBicmVhazsKICAgICBjYXNlIE1BWF9WQVJZSU5HX1ZF
Q1RPUlM6Ci0gICAgICAgIDo6Z2xHZXRJbnRlZ2VydihHTF9NQVhfVkFSWUlOR19GTE9BVFMsIHZh
bHVlKTsKLSAgICAgICAgKnZhbHVlIC89IDQ7CisgICAgICAgIGlmIChpc0dMRVMyQ29tcGxpYW50
KCkpIHsKKyAgICAgICAgICAgIEFTU0VSVCg6OmdsR2V0RXJyb3IoKSA9PSBHTF9OT19FUlJPUik7
CisgICAgICAgICAgICA6OmdsR2V0SW50ZWdlcnYoR0xfTUFYX1ZBUllJTkdfVkVDVE9SUywgdmFs
dWUpOworICAgICAgICAgICAgaWYgKDo6Z2xHZXRFcnJvcigpID09IEdMX0lOVkFMSURfRU5VTSkg
eworICAgICAgICAgICAgICAgIDo6Z2xHZXRJbnRlZ2VydihHTF9NQVhfVkFSWUlOR19DT01QT05F
TlRTLCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgKnZhbHVlIC89IDQ7CisgICAgICAgICAgICB9
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICA6OmdsR2V0SW50ZWdlcnYoR0xfTUFYX1ZB
UllJTkdfRkxPQVRTLCB2YWx1ZSk7CisgICAgICAgICAgICAqdmFsdWUgLz0gNDsKKyAgICAgICAg
fQogICAgICAgICBicmVhazsKICNlbmRpZgogICAgIGNhc2UgTUFYX1RFWFRVUkVfU0laRToKQEAg
LTM5Nyw3ICs0MDksNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpjbGVhckRlcHRoKEdDM0Rj
bGFtcGYgZGVwdGgpCiBFeHRlbnNpb25zM0QqIEdyYXBoaWNzQ29udGV4dDNEOjpnZXRFeHRlbnNp
b25zKCkKIHsKICAgICBpZiAoIW1fZXh0ZW5zaW9ucykKLSAgICAgICAgbV9leHRlbnNpb25zID0g
c3RkOjptYWtlX3VuaXF1ZTxFeHRlbnNpb25zM0RPcGVuR0w+KHRoaXMpOworICAgICAgICBtX2V4
dGVuc2lvbnMgPSBzdGQ6Om1ha2VfdW5pcXVlPEV4dGVuc2lvbnMzRE9wZW5HTD4odGhpcywgaXNH
TEVTMkNvbXBsaWFudCgpKTsKICAgICByZXR1cm4gbV9leHRlbnNpb25zLmdldCgpOwogfQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMzdhZjE2YWI1OTkyMjhhZmU4MjYzYWMyYTdkZmRlNGUxM2YwOTVlMi4uZjliYzIzMzM5
YWVkMjZlYTQ4Nzk1MzZmZjE3MTZkNTNlNDMxNDc3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE2LTEwLTI3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAg
ICAgICAgW21hY09TXSBbV2ViR0wyXSBUZW1wb3JhcmlseSB1cGdyYWRlIFdlYkdMIDIncyBpbnRl
cm5hbCBPcGVuR0wgY29udGV4dCBmcm9tIHZlcnNpb24gMi4xIHRvIDMuMgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0MDkxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbDItY29udGV4dC1jcmVhdGlvbi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsMi1jb250ZXh0
LWNyZWF0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDE2LTEwLTI3ICBSeWFuIEhhZGRhZCAgPHJ5YW5o
YWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIE1hcmtpbmcgaHR0cC90ZXN0cy9zZWN1cml0eS9z
dmctaW1hZ2Utd2l0aC1jc3MtY3Jvc3MtZG9tYWluLmh0bWwgYXMgZmxha3kgb24gbWFjLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggYmE1NWI1OGY1YzBlZjUzODE0YjQwYzZiM2NhYjhhMGY0ZmQ1NTA0
Zi4uZTdlMjViMDRjNDIzMGYzZjZmODQ1MzU4N2E5ODg3Zjc5ZGI4ODUxMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCkBAIC05NzgsMyArOTc4LDYgQEAgd2Via2l0Lm9yZy9iLzE2MzYzNiBtZWRpYS9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGUKIHdlYmtp
dC5vcmcvYi8xNjM4ODcgc3ZnL2FzLWltYWdlL3N2Zy1pbWFnZS13aXRoLWRhdGEtdXJpLXVzZS1k
YXRhLXVyaS5zdmcgWyBQYXNzIENyYXNoIF0KIAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJydGMgWyBTa2lwIF0KKworIyBUZW1wb3JhcnkgZmFpbHVyZSB1bnRpbCB3ZSBzdGFy
dCB1c2luZyBBTkdMRSBhcyBhIFdlYkdMIGJhY2tlbmQKK3dlYmtpdC5vcmcvYi8xNjM5MjQgZmFz
dC9jYW52YXMvd2ViZ2wvYnVmZmVyRGF0YS1vZmZzZXQtbGVuZ3RoLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyLWNv
bnRleHQtY3JlYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvd2ViZ2wyLWNvbnRleHQtY3JlYXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyZmQw
MTc3ZGNlMTc2MDVlMjE5MmE3NTViYzUwODQ2NTY1NjQxMjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbDItY29udGV4dC1jcmVhdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorQ2hlY2tzIHRoYXQgdXNpbmcgYSBXZWJHTCAyIGNv
bnRleHQgZG9lc24ndCBjYXVzZSBhbiBlcnJvci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgY29udGV4dC5nZXRFcnJvcigpIGlzIGNvbnRleHQuTk9fRVJST1IKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbDItY29udGV4dC1jcmVhdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyLWNvbnRleHQtY3JlYXRp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43M2EwZDRlMDY5Njc4MWI5ODAzY2VkYTAxYmYxYjFjOTk1OWYy
NDI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2Vi
Z2wyLWNvbnRleHQtY3JlYXRpb24uaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iYyIgd2lk
dGg9IjQwIiBoZWlnaHQ9IjQwIj48L2NhbnZhcz4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiQ2hl
Y2tzIHRoYXQgdXNpbmcgYSBXZWJHTCAyIGNvbnRleHQgZG9lc24ndCBjYXVzZSBhbiBlcnJvci4i
KTsKKworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisJaW50ZXJuYWxzLnNldFdlYkdMMkVuYWJsZWQo
dHJ1ZSk7CisKK3ZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYyIpOwordmFy
IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgid2ViZ2wyIik7CitzaG91bGRCZSgiY29udGV4
dC5nZXRFcnJvcigpIiwgImNvbnRleHQuTk9fRVJST1IiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>