<?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>154136</bug_id>
          
          <creation_ts>2016-02-11 15:04:20 -0800</creation_ts>
          <short_desc>[Mac] Adopt MediaResourceLoader (instead of CachedResourceLoader) in WebCoreNSURLSession.</short_desc>
          <delta_ts>2016-02-12 14:13:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>achristensen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1163901</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-02-11 15:04:20 -0800</bug_when>
    <thetext>[Mac] Adopt MediaResourceLoader (instead of CachedResourceLoader) in WebCoreNSURLSession.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164188</commentid>
    <comment_count>1</comment_count>
      <attachid>271185</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-02-12 10:16:17 -0800</bug_when>
    <thetext>Created attachment 271185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164236</commentid>
    <comment_count>2</comment_count>
      <attachid>271185</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-02-12 11:42:17 -0800</bug_when>
    <thetext>Comment on attachment 271185
Patch

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

You forgot a change in MediaPlayerPrivateAVFoundationObjC.mm to fix iOS.

&gt; Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm:-345
&gt; -    _client = std::make_unique&lt;WebCoreNSURLSessionDataTaskClient&gt;(self);

Is _client used at all?  Should we remove it completely?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164289</commentid>
    <comment_count>3</comment_count>
      <attachid>271207</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-02-12 12:59:27 -0800</bug_when>
    <thetext>Created attachment 271207
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164310</commentid>
    <comment_count>4</comment_count>
      <attachid>271216</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-02-12 13:46:39 -0800</bug_when>
    <thetext>Created attachment 271216
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164328</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-02-12 14:13:34 -0800</bug_when>
    <thetext>Committed r196506: &lt;http://trac.webkit.org/changeset/196506&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271185</attachid>
            <date>2016-02-12 10:16:17 -0800</date>
            <delta_ts>2016-02-12 11:42:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154136-20160212101555.patch</filename>
            <type>text/plain</type>
            <size>16200</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2MzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTI0NzU1MDA5ODdhNmRi
NGE4NGM1MGQ3NTk4ZTQyZjg0MjZlZjQyMC4uNzNjNjA3OWZhY2ZiYmJjNDFmM2E4MzgyMTcyNGEz
NmIzMDYyY2JlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDE2LTAyLTExICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIFtNYWNdIEFkb3B0IE1lZGlh
UmVzb3VyY2VMb2FkZXIgKGluc3RlYWQgb2YgQ2FjaGVkUmVzb3VyY2VMb2FkZXIpIGluIFdlYkNv
cmVOU1VSTFNlc3Npb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTQxMzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBNZWRpYVJlc291cmNlTG9hZGVyIGFscmVhZHkgc3VwcG9ydHMgdXNpbmcgQ09SUyBh
dHRyaWJ1dGUgdG8gdmVyaWZ5IENPUlMgYWNjZXNzIHJlcXVpcmVtZW50cworICAgICAgICB3aGVu
IGxvYWRpbmcgbWVkaWEgcmVzb3VyY2VzLCBzbyB1c2UgaXQsIHJhdGhlciB0aGFuIENhY2hlZFJl
c291cmNlTG9hZGVyLCBhcyB0aGUgYmFja2luZyBmb3IKKyAgICAgICAgV2ViQ29yZU5TVVJMU2Vz
c2lvbi4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29yZU5TVVJMU2Vz
c2lvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29yZU5TVVJMU2Vz
c2lvbi5tbToKKyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbiBkZWxlZ2F0ZVF1ZXVlXSk6
CisgICAgICAgICgtW1dlYkNvcmVOU1VSTFNlc3Npb24gc3RyZWFtVGFza1dpdGhOZXRTZXJ2aWNl
Ol0pOgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uIGlzS2luZE9mQ2xhc3M6XSk6Cisg
ICAgICAgICgtW1dlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzayBpbml0V2l0aFNlc3Npb246aWRl
bnRpZmllcjpyZXF1ZXN0Ol0pOgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRh
c2sgX3Jlc3RhcnRdKToKKyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrIF9j
YW5jZWxdKToKKyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrIHJlc3VtZV0p
OgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2sgX3RpbWluZ0RhdGFdKToK
KyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrIHJlc291cmNlOnJlY2VpdmVk
UmVzcG9uc2U6XSk6CisgICAgICAgICgtW1dlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzayByZXNv
dXJjZTpyZWNlaXZlZERhdGE6bGVuZ3RoOl0pOgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNz
aW9uIGluaXRXaXRoUmVzb3VyY2VMb2FkZXI6ZGVsZWdhdGU6ZGVsZWdhdGVRdWV1ZTpdKTogRGVs
ZXRlZC4KKyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbiBsb2FkZXJdKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudDo6ZGF0
YVNlbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZU5TVVJMU2Vzc2lvbkRh
dGFUYXNrQ2xpZW50OjpyZXNwb25zZVJlY2VpdmVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OldlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudDo6ZGF0YVJlY2VpdmVkKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVu
dDo6cmVkaXJlY3RSZWNlaXZlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3Jl
TlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ6Om5vdGlmeUZpbmlzaGVkKTogRGVsZXRlZC4KKyAg
ICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrIGluaXRXaXRoU2Vzc2lvbjppZGVu
dGlmaWVyOlVSTDpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbkRh
dGFUYXNrIF9maW5pc2hdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lv
bkRhdGFUYXNrIF9zZXREZWZlcnNMb2FkaW5nOl0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJD
b3JlTlNVUkxTZXNzaW9uRGF0YVRhc2sgcmVzb3VyY2U6c2VudEJ5dGVzOnRvdGFsQnl0ZXNUb0Jl
U2VudDpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNr
IHJlc291cmNlOnJlY2VpdmVkUmVkaXJlY3Q6cmVxdWVzdDpdKTogRGVsZXRlZC4KKyAgICAgICAg
KC1bV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrIHJlc291cmNlRmluaXNoZWQ6XSk6IERlbGV0
ZWQuCisKKzIwMTYtMDItMTEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKICAg
ICAgICAgTWFrZSBNZWRpYVJlc291cmNlTG9hZGVyIGJlaGF2ZSBtb3JlIGxpa2UgYSBDYWNoZWRS
ZXNvdXJjZUxvYWRlci4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1NDExNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5oCmluZGV4IDU0OWMzODk1MTU0NGQ3
OGZkNGNlOWNmYWRlZDhiYTE3ODZlNDgwOTkuLmYzYThlYjBhMDJlNGIyMmEwYTNmZjc5ZWM0NjE1
NWM1YzVhNzA3N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5oCkBAIC0yOCw4ICsyOCw2IEBACiAK
ICNpZiBQTEFURk9STShJT1MpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMTAwCiAKLSNpbXBvcnQgIkNhY2hlZFJhd1Jlc291cmNlLmgiCi0jaW1wb3J0ICJDYWNoZWRS
ZXNvdXJjZUhhbmRsZS5oIgogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1VSTFNlc3Npb24uaD4KICNp
bXBvcnQgPHd0Zi9IYXNoU2V0Lmg+CiAjaW1wb3J0IDx3dGYvT1NPYmplY3RQdHIuaD4KQEAgLTQ0
LDE1ICs0MiwxNiBAQAogQGNsYXNzIFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzazsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBDYWNo
ZWRSZXNvdXJjZVJlcXVlc3Q7CitjbGFzcyBQbGF0Zm9ybU1lZGlhUmVzb3VyY2U7CitjbGFzcyBQ
bGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0
YVRhc2tDbGllbnQ7CiB9CiAKIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKIFdFQkNPUkVfRVhQ
T1JUIEBpbnRlcmZhY2UgV2ViQ29yZU5TVVJMU2Vzc2lvbiA6IE5TT2JqZWN0IHsKLSAgICBSZWZQ
dHI8V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI+IF9sb2FkZXI7CisgICAgUmVmUHRyPFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlcj4gX2xvYWRlcjsKICAgICBSZXRhaW5Q
dHI8aWQ8TlNVUkxTZXNzaW9uRGVsZWdhdGU+PiBfZGVsZWdhdGU7CiAgICAgUmV0YWluUHRyPE5T
T3BlcmF0aW9uUXVldWU+IF9xdWV1ZTsKICAgICBOU1N0cmluZyAqX3Nlc3Npb25EZXNjcmlwdGlv
bjsKQEAgLTYxLDcgKzYwLDcgQEAgV0VCQ09SRV9FWFBPUlQgQGludGVyZmFjZSBXZWJDb3JlTlNV
UkxTZXNzaW9uIDogTlNPYmplY3QgewogICAgIE5TVUludGVnZXIgX25leHRUYXNrSWRlbnRpZmll
cjsKICAgICBPU09iamVjdFB0cjxkaXNwYXRjaF9xdWV1ZV90PiBfaW50ZXJuYWxRdWV1ZTsKIH0K
LS0gKGlkKWluaXRXaXRoUmVzb3VyY2VMb2FkZXI6KFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9h
ZGVyJilsb2FkZXIgZGVsZWdhdGU6KGlkPE5TVVJMU2Vzc2lvblRhc2tEZWxlZ2F0ZT4pZGVsZWdh
dGUgZGVsZWdhdGVRdWV1ZTooTlNPcGVyYXRpb25RdWV1ZSopcXVldWU7CistIChpZClpbml0V2l0
aFJlc291cmNlTG9hZGVyOihXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXImKWxv
YWRlciBkZWxlZ2F0ZTooaWQ8TlNVUkxTZXNzaW9uVGFza0RlbGVnYXRlPilkZWxlZ2F0ZSBkZWxl
Z2F0ZVF1ZXVlOihOU09wZXJhdGlvblF1ZXVlKilxdWV1ZTsKIEBwcm9wZXJ0eSAocmVhZG9ubHks
IHJldGFpbikgTlNPcGVyYXRpb25RdWV1ZSAqZGVsZWdhdGVRdWV1ZTsKIEBwcm9wZXJ0eSAobnVs
bGFibGUsIHJlYWRvbmx5LCByZXRhaW4pIGlkIDxOU1VSTFNlc3Npb25EZWxlZ2F0ZT4gZGVsZWdh
dGU7CiBAcHJvcGVydHkgKHJlYWRvbmx5LCBjb3B5KSBOU1VSTFNlc3Npb25Db25maWd1cmF0aW9u
ICpjb25maWd1cmF0aW9uOwpAQCAtOTgsOSArOTcsOCBAQCBXRUJDT1JFX0VYUE9SVCBAaW50ZXJm
YWNlIFdlYkNvcmVOU1VSTFNlc3Npb24gOiBOU09iamVjdCB7CiAKIEBpbnRlcmZhY2UgV2ViQ29y
ZU5TVVJMU2Vzc2lvbkRhdGFUYXNrIDogTlNPYmplY3QgewogICAgIFdlYkNvcmVOU1VSTFNlc3Np
b24gKl9zZXNzaW9uOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZVJlcXVlc3Q+IF9yZXF1ZXN0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpXZWJDb3Jl
TlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ+IF9jbGllbnQ7Ci0gICAgV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2VIYW5kbGU8V2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2U+IF9yZXNvdXJjZTsKKyAg
ICBSZWZQdHI8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlPiBfcmVzb3VyY2U7CiAgICAg
UmV0YWluUHRyPE5TVVJMUmVzcG9uc2U+IF9yZXNwb25zZTsKICAgICBOU1VJbnRlZ2VyIF90YXNr
SWRlbnRpZmllcjsKICAgICBOU1VSTFJlcXVlc3QgKl9vcmlnaW5hbFJlcXVlc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNvcmVOU1VSTFNl
c3Npb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNvcmVO
U1VSTFNlc3Npb24ubW0KaW5kZXggZTA3YzE1NDljNDUxZTU0ODcxNjU5YTZiNmMzYzQ4ZDZjZGE4
NWIwMi4uNDQ5NjVkZjVmNDUwYWYzNTk2NjA4NDhhYzc0ODVhMmIzZjYzNjAxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9XZWJDb3JlTlNVUkxTZXNz
aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29y
ZU5TVVJMU2Vzc2lvbi5tbQpAQCAtMjgsOSArMjgsOCBAQAogCiAjaWYgUExBVEZPUk0oSU9TKSB8
fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTEwMAogCi0jaW1wb3J0ICJD
YWNoZWRSYXdSZXNvdXJjZS5oIgotI2ltcG9ydCAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNp
bXBvcnQgIkNhY2hlZFJlc291cmNlUmVxdWVzdC5oIgorI2ltcG9ydCAiUGxhdGZvcm1NZWRpYVJl
c291cmNlTG9hZGVyLmgiCiAjaW1wb3J0ICJTdWJyZXNvdXJjZUxvYWRlci5oIgogCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKQEAgLTQwLDcgKzM5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCiBAaW50ZXJmYWNlIFdlYkNvcmVOU1VSTFNl
c3Npb24gKCkKLUBwcm9wZXJ0eSAocmVhZG9ubHkpIENhY2hlZFJlc291cmNlTG9hZGVyJiBsb2Fk
ZXI7CitAcHJvcGVydHkgKHJlYWRvbmx5KSBQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXImIGxv
YWRlcjsKIEBwcm9wZXJ0eSAocmVhZHdyaXRlLCByZXRhaW4pIGlkPE5TVVJMU2Vzc2lvblRhc2tE
ZWxlZ2F0ZT4gZGVsZWdhdGU7CiAtICh2b2lkKXRhc2tDb21wbGV0ZWQ6KFdlYkNvcmVOU1VSTFNl
c3Npb25EYXRhVGFzayAqKXRhc2s7CiAtICh2b2lkKWFkZERlbGVnYXRlT3BlcmF0aW9uOih2b2lk
ICheKSh2b2lkKSlvcGVyYXRpb247CkBAIC01NSwxMSArNTQsMTEgQEAgTlNfQVNTVU1FX05PTk5V
TExfQkVHSU4KIC0gKHZvaWQpX3NldERlZmVyc0xvYWRpbmc6KEJPT0wpZGVmZXJzOwogQHByb3Bl
cnR5IChhc3NpZ24pIFdlYkNvcmVOU1VSTFNlc3Npb24gKiBfTnVsbGFibGUgc2Vzc2lvbjsKIAot
LSAodm9pZClyZXNvdXJjZTooQ2FjaGVkUmVzb3VyY2UqKXJlc291cmNlIHNlbnRCeXRlczoodW5z
aWduZWQgbG9uZyBsb25nKWJ5dGVzU2VudCB0b3RhbEJ5dGVzVG9CZVNlbnQ6KHVuc2lnbmVkIGxv
bmcgbG9uZyl0b3RhbEJ5dGVzVG9CZVNlbnQ7Ci0tICh2b2lkKXJlc291cmNlOihDYWNoZWRSZXNv
dXJjZSopcmVzb3VyY2UgcmVjZWl2ZWRSZXNwb25zZTooY29uc3QgUmVzb3VyY2VSZXNwb25zZSYp
cmVzcG9uc2U7Ci0tICh2b2lkKXJlc291cmNlOihDYWNoZWRSZXNvdXJjZSopcmVzb3VyY2UgcmVj
ZWl2ZWREYXRhOihjb25zdCBjaGFyKilkYXRhIGxlbmd0aDooaW50KWxlbmd0aDsKLS0gKHZvaWQp
cmVzb3VyY2U6KENhY2hlZFJlc291cmNlKilyZXNvdXJjZSByZWNlaXZlZFJlZGlyZWN0Oihjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJilyZXNwb25zZSByZXF1ZXN0OihSZXNvdXJjZVJlcXVlc3QmKXJl
cXVlc3Q7Ci0tICh2b2lkKXJlc291cmNlRmluaXNoZWQ6KENhY2hlZFJlc291cmNlKilyZXNvdXJj
ZTsKKy0gKHZvaWQpcmVzb3VyY2U6KFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYpcmVzb3VyY2Ugc2Vu
dEJ5dGVzOih1bnNpZ25lZCBsb25nIGxvbmcpYnl0ZXNTZW50IHRvdGFsQnl0ZXNUb0JlU2VudDoo
dW5zaWduZWQgbG9uZyBsb25nKXRvdGFsQnl0ZXNUb0JlU2VudDsKKy0gKHZvaWQpcmVzb3VyY2U6
KFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYpcmVzb3VyY2UgcmVjZWl2ZWRSZXNwb25zZTooY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYpcmVzcG9uc2U7CistICh2b2lkKXJlc291cmNlOihQbGF0Zm9ybU1l
ZGlhUmVzb3VyY2UmKXJlc291cmNlIHJlY2VpdmVkRGF0YTooY29uc3QgY2hhciopZGF0YSBsZW5n
dGg6KGludClsZW5ndGg7CistICh2b2lkKXJlc291cmNlOihQbGF0Zm9ybU1lZGlhUmVzb3VyY2Um
KXJlc291cmNlIHJlY2VpdmVkUmVkaXJlY3Q6KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKXJlc3Bv
bnNlIHJlcXVlc3Q6KFJlc291cmNlUmVxdWVzdCYpcmVxdWVzdDsKKy0gKHZvaWQpcmVzb3VyY2VG
aW5pc2hlZDooUGxhdGZvcm1NZWRpYVJlc291cmNlJilyZXNvdXJjZTsKIEBlbmQKIAogTlNfQVNT
VU1FX05PTk5VTExfRU5ECkBAIC02Nyw3ICs2Niw3IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAog
I3ByYWdtYSBtYXJrIC0gV2ViQ29yZU5TVVJMU2Vzc2lvbgogCiBAaW1wbGVtZW50YXRpb24gV2Vi
Q29yZU5TVVJMU2Vzc2lvbgotLSAoaWQpaW5pdFdpdGhSZXNvdXJjZUxvYWRlcjooQ2FjaGVkUmVz
b3VyY2VMb2FkZXImKWxvYWRlciBkZWxlZ2F0ZTooaWQ8TlNVUkxTZXNzaW9uVGFza0RlbGVnYXRl
PilpbkRlbGVnYXRlIGRlbGVnYXRlUXVldWU6KE5TT3BlcmF0aW9uUXVldWUqKWluUXVldWUKKy0g
KGlkKWluaXRXaXRoUmVzb3VyY2VMb2FkZXI6KFBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlciYp
bG9hZGVyIGRlbGVnYXRlOihpZDxOU1VSTFNlc3Npb25UYXNrRGVsZWdhdGU+KWluRGVsZWdhdGUg
ZGVsZWdhdGVRdWV1ZTooTlNPcGVyYXRpb25RdWV1ZSopaW5RdWV1ZQogewogICAgIHNlbGYgPSBb
c3VwZXIgaW5pdF07CiAgICAgaWYgKCFzZWxmKQpAQCAtMTQ3LDcgKzE0Niw3IEBAIE5TX0FTU1VN
RV9OT05OVUxMX0VORAogfQogCiBAZHluYW1pYyBsb2FkZXI7Ci0tIChDYWNoZWRSZXNvdXJjZUxv
YWRlciYpbG9hZGVyCistIChQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXImKWxvYWRlcgogewog
ICAgIHJldHVybiAqX2xvYWRlcjsKIH0KQEAgLTI4OCw0NCArMjg3LDQ0IEBAIE5TX0FTU1VNRV9O
T05OVUxMX0VORAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdlYkNvcmVOU1VSTFNl
c3Npb25EYXRhVGFza0NsaWVudCA6IHB1YmxpYyBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudCB7Citj
bGFzcyBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQgOiBwdWJsaWMgUGxhdGZvcm1N
ZWRpYVJlc291cmNlQ2xpZW50IHsKIHB1YmxpYzoKICAgICBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0
YVRhc2tDbGllbnQoV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrICp0YXNrKQogICAgICAgICA6
IG1fdGFzayh0YXNrKQogICAgIHsKICAgICB9CiAKLSAgICB2b2lkIGRhdGFTZW50KENhY2hlZFJl
c291cmNlKiwgdW5zaWduZWQgbG9uZyBsb25nLCB1bnNpZ25lZCBsb25nIGxvbmcpIG92ZXJyaWRl
OwotICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSosIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKLSAgICB2b2lkIGRhdGFSZWNlaXZlZChDYWNoZWRSZXNv
dXJjZSosIGNvbnN0IGNoYXIqIC8qIGRhdGEgKi8sIGludCAvKiBsZW5ndGggKi8pIG92ZXJyaWRl
OwotICAgIHZvaWQgcmVkaXJlY3RSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSosIFJlc291cmNlUmVx
dWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKLSAgICB2b2lkIG5vdGlm
eUZpbmlzaGVkKENhY2hlZFJlc291cmNlKikgb3ZlcnJpZGU7CisgICAgdm9pZCByZXNwb25zZVJl
Y2VpdmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBv
dmVycmlkZTsKKyAgICB2b2lkIHJlZGlyZWN0UmVjZWl2ZWQoUGxhdGZvcm1NZWRpYVJlc291cmNl
JiwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRlOwor
ICAgIHZvaWQgZGF0YVNlbnQoUGxhdGZvcm1NZWRpYVJlc291cmNlJiwgdW5zaWduZWQgbG9uZyBs
b25nLCB1bnNpZ25lZCBsb25nIGxvbmcpIG92ZXJyaWRlOworICAgIHZvaWQgZGF0YVJlY2VpdmVk
KFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYsIGNvbnN0IGNoYXIqIC8qIGRhdGEgKi8sIGludCAvKiBs
ZW5ndGggKi8pIG92ZXJyaWRlOworICAgIHZvaWQgbG9hZEZpbmlzaGVkKFBsYXRmb3JtTWVkaWFS
ZXNvdXJjZSYpIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIFdlYkNvcmVOU1VSTFNlc3Npb25E
YXRhVGFzayAqbV90YXNrOwogfTsKIAotdm9pZCBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tD
bGllbnQ6OmRhdGFTZW50KENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgdW5zaWduZWQgbG9uZyBs
b25nIGJ5dGVzU2VudCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCkKK3Zv
aWQgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50OjpkYXRhU2VudChQbGF0Zm9ybU1l
ZGlhUmVzb3VyY2UmIHJlc291cmNlLCB1bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXNTZW50LCB1bnNp
Z25lZCBsb25nIGxvbmcgdG90YWxCeXRlc1RvQmVTZW50KQogewogICAgIFttX3Rhc2sgcmVzb3Vy
Y2U6cmVzb3VyY2Ugc2VudEJ5dGVzOmJ5dGVzU2VudCB0b3RhbEJ5dGVzVG9CZVNlbnQ6dG90YWxC
eXRlc1RvQmVTZW50XTsKIH0KIAotdm9pZCBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGll
bnQ6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3ZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNr
Q2xpZW50OjpyZXNwb25zZVJlY2VpdmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYgcmVzb3VyY2Us
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewogICAgIFttX3Rhc2sgcmVzb3Vy
Y2U6cmVzb3VyY2UgcmVjZWl2ZWRSZXNwb25zZTpyZXNwb25zZV07CiB9CiAKLXZvaWQgV2ViQ29y
ZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50OjpkYXRhUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2Uq
IHJlc291cmNlLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQordm9pZCBXZWJDb3JlTlNV
UkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ6OmRhdGFSZWNlaXZlZChQbGF0Zm9ybU1lZGlhUmVzb3Vy
Y2UmIHJlc291cmNlLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQogewogICAgIFttX3Rh
c2sgcmVzb3VyY2U6cmVzb3VyY2UgcmVjZWl2ZWREYXRhOmRhdGEgbGVuZ3RoOmxlbmd0aF07CiB9
CiAKLXZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50OjpyZWRpcmVjdFJlY2Vp
dmVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3ZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lv
bkRhdGFUYXNrQ2xpZW50OjpyZWRpcmVjdFJlY2VpdmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYg
cmVzb3VyY2UsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UpCiB7CiAgICAgW21fdGFzayByZXNvdXJjZTpyZXNvdXJjZSByZWNlaXZlZFJl
ZGlyZWN0OnJlc3BvbnNlIHJlcXVlc3Q6cmVxdWVzdF07CiB9CiAKLXZvaWQgV2ViQ29yZU5TVVJM
U2Vzc2lvbkRhdGFUYXNrQ2xpZW50Ojpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVz
b3VyY2UpCit2b2lkIFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudDo6bG9hZEZpbmlz
aGVkKFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYgcmVzb3VyY2UpCiB7CiAgICAgW21fdGFzayByZXNv
dXJjZUZpbmlzaGVkOnJlc291cmNlXTsKIH0KQEAgLTM0Miw3ICszNDEsNiBAQCB2b2lkIFdlYkNv
cmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3Vy
Y2UqIHJlc291cmNlKQogICAgIHNlbGYuc3RhdGUgPSBOU1VSTFNlc3Npb25UYXNrU3RhdGVTdXNw
ZW5kZWQ7CiAgICAgc2VsZi5wcmlvcml0eSA9IE5TVVJMU2Vzc2lvblRhc2tQcmlvcml0eURlZmF1
bHQ7CiAgICAgc2VsZi5vcmlnaW5hbFJlcXVlc3QgPSBzZWxmLmN1cnJlbnRSZXF1ZXN0ID0gW05T
VVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmxdOwotICAgIF9jbGllbnQgPSBzdGQ6Om1ha2Vf
dW5pcXVlPFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudD4oc2VsZik7CiAKICAgICBy
ZXR1cm4gc2VsZjsKIH0KQEAgLTM1NCw3ICszNTIsNiBAQCB2b2lkIFdlYkNvcmVOU1VSTFNlc3Np
b25EYXRhVGFza0NsaWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNl
KQogICAgIHNlbGYuc3RhdGUgPSBOU1VSTFNlc3Npb25UYXNrU3RhdGVTdXNwZW5kZWQ7CiAgICAg
c2VsZi5wcmlvcml0eSA9IE5TVVJMU2Vzc2lvblRhc2tQcmlvcml0eURlZmF1bHQ7CiAgICAgc2Vs
Zi5vcmlnaW5hbFJlcXVlc3QgPSBzZWxmLmN1cnJlbnRSZXF1ZXN0ID0gcmVxdWVzdDsKLSAgICBf
Y2xpZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGll
bnQ+KHNlbGYpOwogCiAgICAgcmV0dXJuIHNlbGY7CiB9CkBAIC0zNzIsMTkgKzM2OSwxNyBAQCB2
b2lkIFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudDo6bm90aWZ5RmluaXNoZWQoQ2Fj
aGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAg
W3NlbGYgX2NhbmNlbF07CiAKLSAgICBfcmVxdWVzdCA9IHN0ZDo6bWFrZV91bmlxdWU8Q2FjaGVk
UmVzb3VyY2VSZXF1ZXN0PihzZWxmLm9yaWdpbmFsUmVxdWVzdCwgUmVzb3VyY2VMb2FkZXJPcHRp
b25zKFNlbmRDYWxsYmFja3MsIERvTm90U25pZmZDb250ZW50LCBEb05vdEJ1ZmZlckRhdGEsIERv
Tm90QWxsb3dTdG9yZWRDcmVkZW50aWFscywgRG9Ob3RBc2tDbGllbnRGb3JDcm9zc09yaWdpbkNy
ZWRlbnRpYWxzLCBDbGllbnREaWROb3RSZXF1ZXN0Q3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVj
aywgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUsIERvTm90SW5jbHVkZUNlcnRp
ZmljYXRlSW5mbywgQ29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbjo6RG9Qb2xpY3lDaGVj
aywgRGVmZXJzTG9hZGluZ1BvbGljeTo6QWxsb3dEZWZlcnNMb2FkaW5nLCBDYWNoaW5nUG9saWN5
OjpEaXNhbGxvd0NhY2hpbmcpKTsKLSAgICBfcmVzb3VyY2UgPSBzZWxmLnNlc3Npb24ubG9hZGVy
LnJlcXVlc3RSYXdSZXNvdXJjZSgqX3JlcXVlc3QpOworICAgIF9yZXNvdXJjZSA9IHNlbGYuc2Vz
c2lvbi5sb2FkZXIucmVxdWVzdFJlc291cmNlKHNlbGYub3JpZ2luYWxSZXF1ZXN0LCAwKTsKICAg
ICBpZiAoX3Jlc291cmNlKQotICAgICAgICBfcmVzb3VyY2UtPmFkZENsaWVudChfY2xpZW50Lmdl
dCgpKTsKKyAgICAgICAgX3Jlc291cmNlLT5zZXRDbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxXZWJD
b3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ+KHNlbGYpKTsKIH0KIAogLSAodm9pZClfY2Fu
Y2VsCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBpZiAoX3Jlc291cmNlKSB7
Ci0gICAgICAgIGlmIChTdWJyZXNvdXJjZUxvYWRlciogbG9hZGVyID0gX3Jlc291cmNlLT5sb2Fk
ZXIoKSkKLSAgICAgICAgICAgIGxvYWRlci0+Y2FuY2VsKFJlc291cmNlRXJyb3IoKSk7Ci0gICAg
ICAgIF9yZXNvdXJjZS0+cmVtb3ZlQ2xpZW50KF9jbGllbnQuZ2V0KCkpOworICAgICAgICBfcmVz
b3VyY2UtPnN0b3AoKTsKKyAgICAgICAgX3Jlc291cmNlLT5zZXRDbGllbnQobnVsbHB0cik7CiAg
ICAgICAgIF9yZXNvdXJjZSA9IG5pbDsKICAgICB9CiB9CkBAIC0zOTMsMTQgKzM4OCwxNCBAQCB2
b2lkIFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudDo6bm90aWZ5RmluaXNoZWQoQ2Fj
aGVkUmVzb3VyY2UqIHJlc291cmNlKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAg
ICAgaWYgKF9yZXNvdXJjZSkKLSAgICAgICAgW3NlbGYgcmVzb3VyY2VGaW5pc2hlZDpfcmVzb3Vy
Y2UuZ2V0KCldOworICAgICAgICBbc2VsZiByZXNvdXJjZUZpbmlzaGVkOipfcmVzb3VyY2VdOwog
fQogCiAtICh2b2lkKV9zZXREZWZlcnNMb2FkaW5nOihCT09MKWRlZmVycwogewogICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7Ci0gICAgaWYgKF9yZXNvdXJjZSAmJiBfcmVzb3VyY2UtPmxvYWRl
cigpKQotICAgICAgICBfcmVzb3VyY2UtPmxvYWRlcigpLT5zZXREZWZlcnNMb2FkaW5nKGRlZmVy
cyk7CisgICAgaWYgKF9yZXNvdXJjZSkKKyAgICAgICAgX3Jlc291cmNlLT5zZXREZWZlcnNMb2Fk
aW5nKGRlZmVycyk7CiB9CiAKICNwcmFnbWEgbWFyayAtIE5TVVJMU2Vzc2lvbiBBUEkKQEAgLTQ2
NCwxOSArNDU5LDE5IEBAIHZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50Ojpu
b3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgcmV0dXJuIEB7IH07
CiB9CiAKLSNwcmFnbWEgbWFyayAtIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50IGNhbGxiYWNrcwor
I3ByYWdtYSBtYXJrIC0gUGxhdGZvcm1NZWRpYVJlc291cmNlQ2xpZW50IGNhbGxiYWNrcwogCi0t
ICh2b2lkKXJlc291cmNlOihDYWNoZWRSZXNvdXJjZSopcmVzb3VyY2Ugc2VudEJ5dGVzOih1bnNp
Z25lZCBsb25nIGxvbmcpYnl0ZXNTZW50IHRvdGFsQnl0ZXNUb0JlU2VudDoodW5zaWduZWQgbG9u
ZyBsb25nKXRvdGFsQnl0ZXNUb0JlU2VudAorLSAodm9pZClyZXNvdXJjZTooUGxhdGZvcm1NZWRp
YVJlc291cmNlJilyZXNvdXJjZSBzZW50Qnl0ZXM6KHVuc2lnbmVkIGxvbmcgbG9uZylieXRlc1Nl
bnQgdG90YWxCeXRlc1RvQmVTZW50Oih1bnNpZ25lZCBsb25nIGxvbmcpdG90YWxCeXRlc1RvQmVT
ZW50CiB7Ci0gICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgcmVzb3VyY2UgPT0gX3Jlc291cmNl
KTsKKyAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCAmcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsK
ICAgICBVTlVTRURfUEFSQU0oYnl0ZXNTZW50KTsKICAgICBVTlVTRURfUEFSQU0odG90YWxCeXRl
c1RvQmVTZW50KTsKICAgICAvLyBOby1vcC4KIH0KIAotLSAodm9pZClyZXNvdXJjZTooQ2FjaGVk
UmVzb3VyY2UqKXJlc291cmNlIHJlY2VpdmVkUmVzcG9uc2U6KGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKXJlc3BvbnNlCistICh2b2lkKXJlc291cmNlOihQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmKXJl
c291cmNlIHJlY2VpdmVkUmVzcG9uc2U6KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKXJlc3BvbnNl
CiB7Ci0gICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsK
KyAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCAmcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsKICAg
ICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIF9yZXNwb25zZSA9IHJlc3BvbnNlLm5zVVJM
UmVzcG9uc2UoKTsKICAgICBzZWxmLmNvdW50T2ZCeXRlc0V4cGVjdGVkVG9SZWNlaXZlID0gcmVz
cG9uc2UuZXhwZWN0ZWRDb250ZW50TGVuZ3RoKCk7CkBAIC01MDUsOSArNTAwLDkgQEAgdm9pZCBX
ZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJl
c291cmNlKiByZXNvdXJjZSkKICAgICB9XTsKIH0KIAotLSAodm9pZClyZXNvdXJjZTooQ2FjaGVk
UmVzb3VyY2UqKXJlc291cmNlIHJlY2VpdmVkRGF0YTooY29uc3QgY2hhciopZGF0YSBsZW5ndGg6
KGludClsZW5ndGgKKy0gKHZvaWQpcmVzb3VyY2U6KFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYpcmVz
b3VyY2UgcmVjZWl2ZWREYXRhOihjb25zdCBjaGFyKilkYXRhIGxlbmd0aDooaW50KWxlbmd0aAog
ewotICAgIEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsIHJlc291cmNlID09IF9yZXNvdXJjZSk7Cisg
ICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgJnJlc291cmNlID09IF9yZXNvdXJjZSk7CiAgICAg
VU5VU0VEX1BBUkFNKGRhdGEpOwogICAgIFVOVVNFRF9QQVJBTShsZW5ndGgpOwogICAgIC8vIEZJ
WE1FOiB0cnkgdG8gYXZvaWQgYSBjb3B5LCBpZiBwb3NzaWJsZS4KQEAgLTUyMyw5ICs1MTgsOSBA
QCB2b2lkIFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudDo6bm90aWZ5RmluaXNoZWQo
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIH1dOwogfQogCi0tICh2b2lkKXJlc291cmNl
OihDYWNoZWRSZXNvdXJjZSopcmVzb3VyY2UgcmVjZWl2ZWRSZWRpcmVjdDooY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYpcmVzcG9uc2UgcmVxdWVzdDooUmVzb3VyY2VSZXF1ZXN0JilyZXF1ZXN0Cist
ICh2b2lkKXJlc291cmNlOihQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmKXJlc291cmNlIHJlY2VpdmVk
UmVkaXJlY3Q6KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKXJlc3BvbnNlIHJlcXVlc3Q6KFJlc291
cmNlUmVxdWVzdCYpcmVxdWVzdAogewotICAgIEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsIHJlc291
cmNlID09IF9yZXNvdXJjZSk7CisgICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgJnJlc291cmNl
ID09IF9yZXNvdXJjZSk7CiAgICAgVU5VU0VEX1BBUkFNKHJlc3BvbnNlKTsKICAgICBVTlVTRURf
UEFSQU0ocmVxdWVzdCk7CiAgICAgLy8gRklYTUU6IFRoaXMgY2Fubm90IGN1cnJlbnRseSBiZSBp
bXBsZW1lbnRlZCwgYXMgdGhlIGNhbGxiYWNrIGlzIHN5bmNocm9ub3VzCkBAIC01MzYsOSArNTMx
LDkgQEAgdm9pZCBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ6Om5vdGlmeUZpbmlz
aGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICAvLyBBUEksIHRoaXMgY2FuIGJlIGlt
cGxlbWVudGVkLgogfQogCi0tICh2b2lkKXJlc291cmNlRmluaXNoZWQ6KENhY2hlZFJlc291cmNl
KilyZXNvdXJjZQorLSAodm9pZClyZXNvdXJjZUZpbmlzaGVkOihQbGF0Zm9ybU1lZGlhUmVzb3Vy
Y2UmKXJlc291cmNlCiB7Ci0gICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgcmVzb3VyY2UgPT0g
X3Jlc291cmNlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCAmcmVzb3VyY2UgPT0gX3Jl
c291cmNlKTsKICAgICBzZWxmLnN0YXRlID0gTlNVUkxTZXNzaW9uVGFza1N0YXRlQ29tcGxldGVk
OwogCiAgICAgUmV0YWluUHRyPFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzaz4gc3Ryb25nU2Vs
ZiB7IHNlbGYgfTsK
</data>
<flag name="review"
          id="296010"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271207</attachid>
            <date>2016-02-12 12:59:27 -0800</date>
            <delta_ts>2016-02-12 13:49:39 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-154136-20160212125906.patch</filename>
            <type>text/plain</type>
            <size>18003</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2MzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTI0NzU1MDA5ODdhNmRi
NGE4NGM1MGQ3NTk4ZTQyZjg0MjZlZjQyMC4uMjE1YTU0ZDdlNDhkZmM0MDM0OTk2ZDQ0ZmRlYjY2
NTA1NzQxN2IwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ0IEBACiAyMDE2LTAyLTExICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIFtNYWNdIEFkb3B0IE1lZGlh
UmVzb3VyY2VMb2FkZXIgKGluc3RlYWQgb2YgQ2FjaGVkUmVzb3VyY2VMb2FkZXIpIGluIFdlYkNv
cmVOU1VSTFNlc3Npb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTQxMzYKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgor
CisgICAgICAgIE1lZGlhUmVzb3VyY2VMb2FkZXIgYWxyZWFkeSBzdXBwb3J0cyB1c2luZyBDT1JT
IGF0dHJpYnV0ZSB0byB2ZXJpZnkgQ09SUyBhY2Nlc3MgcmVxdWlyZW1lbnRzCisgICAgICAgIHdo
ZW4gbG9hZGluZyBtZWRpYSByZXNvdXJjZXMsIHNvIHVzZSBpdCwgcmF0aGVyIHRoYW4gQ2FjaGVk
UmVzb3VyY2VMb2FkZXIsIGFzIHRoZSBiYWNraW5nIGZvcgorICAgICAgICBXZWJDb3JlTlNVUkxT
ZXNzaW9uLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9XZWJDb3JlTlNVUkxT
ZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9XZWJDb3JlTlNVUkxT
ZXNzaW9uLm1tOgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uIGRlbGVnYXRlUXVldWVd
KToKKyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbiBzdHJlYW1UYXNrV2l0aE5ldFNlcnZp
Y2U6XSk6CisgICAgICAgICgtW1dlYkNvcmVOU1VSTFNlc3Npb24gaXNLaW5kT2ZDbGFzczpdKToK
KyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrIGluaXRXaXRoU2Vzc2lvbjpp
ZGVudGlmaWVyOnJlcXVlc3Q6XSk6CisgICAgICAgICgtW1dlYkNvcmVOU1VSTFNlc3Npb25EYXRh
VGFzayBfcmVzdGFydF0pOgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2sg
X2NhbmNlbF0pOgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2sgcmVzdW1l
XSk6CisgICAgICAgICgtW1dlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzayBfdGltaW5nRGF0YV0p
OgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2sgcmVzb3VyY2U6cmVjZWl2
ZWRSZXNwb25zZTpdKToKKyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrIHJl
c291cmNlOnJlY2VpdmVkRGF0YTpsZW5ndGg6XSk6CisgICAgICAgICgtW1dlYkNvcmVOU1VSTFNl
c3Npb24gaW5pdFdpdGhSZXNvdXJjZUxvYWRlcjpkZWxlZ2F0ZTpkZWxlZ2F0ZVF1ZXVlOl0pOiBE
ZWxldGVkLgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uIGxvYWRlcl0pOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50Ojpk
YXRhU2VudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlTlNVUkxTZXNzaW9u
RGF0YVRhc2tDbGllbnQ6OnJlc3BvbnNlUmVjZWl2ZWQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50OjpkYXRhUmVjZWl2ZWQpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xp
ZW50OjpyZWRpcmVjdFJlY2VpdmVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkNv
cmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudDo6bm90aWZ5RmluaXNoZWQpOiBEZWxldGVkLgor
ICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2sgaW5pdFdpdGhTZXNzaW9uOmlk
ZW50aWZpZXI6VVJMOl0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9u
RGF0YVRhc2sgX2ZpbmlzaF0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNz
aW9uRGF0YVRhc2sgX3NldERlZmVyc0xvYWRpbmc6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dl
YkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzayByZXNvdXJjZTpzZW50Qnl0ZXM6dG90YWxCeXRlc1Rv
QmVTZW50Ol0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRh
c2sgcmVzb3VyY2U6cmVjZWl2ZWRSZWRpcmVjdDpyZXF1ZXN0Ol0pOiBEZWxldGVkLgorICAgICAg
ICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2sgcmVzb3VyY2VGaW5pc2hlZDpdKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlQVZBc3NldEZvclVSTCk6CisK
KzIwMTYtMDItMTEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKICAgICAgICAg
TWFrZSBNZWRpYVJlc291cmNlTG9hZGVyIGJlaGF2ZSBtb3JlIGxpa2UgYSBDYWNoZWRSZXNvdXJj
ZUxvYWRlci4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1NDExNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA0Mzc0NTk5ZWMyZGQyOWEyY2Q4
MjM2ZWNhMzA0MjBjOGIwOTQ2NmUzLi44MGVlMGI3NjhiMzIzZTNkMjJlYmNlNjdlZmJjNzRlZDVk
ZWE1ZjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTkyMSw4ICs5MjEsMTEgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVkFzc2V0Rm9yVVJM
KGNvbnN0IFN0cmluZyYgdXJsKQogICAgIGlmIChTZXR0aW5nczo6aXNBVkZvdW5kYXRpb25OU1VS
TFNlc3Npb25FbmFibGVkKCkKICAgICAgICAgJiYgW3Jlc291cmNlTG9hZGVyIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3Ioc2V0VVJMU2Vzc2lvbjopXQogICAgICAgICAmJiBbcmVzb3VyY2VM
b2FkZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihVUkxTZXNzaW9uRGF0YURlbGVnYXRl
KV0KLSAgICAgICAgJiYgW3Jlc291cmNlTG9hZGVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3IoVVJMU2Vzc2lvbkRhdGFEZWxlZ2F0ZVF1ZXVlKV0pCi0gICAgICAgIHJlc291cmNlTG9hZGVy
LlVSTFNlc3Npb24gPSAoTlNVUkxTZXNzaW9uICopW1tbV2ViQ29yZU5TVVJMU2Vzc2lvbiBhbGxv
Y10gaW5pdFdpdGhSZXNvdXJjZUxvYWRlcjoqcGxheWVyKCktPmNhY2hlZFJlc291cmNlTG9hZGVy
KCkgZGVsZWdhdGU6cmVzb3VyY2VMb2FkZXIuVVJMU2Vzc2lvbkRhdGFEZWxlZ2F0ZSBkZWxlZ2F0
ZVF1ZXVlOnJlc291cmNlTG9hZGVyLlVSTFNlc3Npb25EYXRhRGVsZWdhdGVRdWV1ZV0gYXV0b3Jl
bGVhc2VdOworICAgICAgICAmJiBbcmVzb3VyY2VMb2FkZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3RvcihVUkxTZXNzaW9uRGF0YURlbGVnYXRlUXVldWUpXSkgeworICAgICAgICBSZWZQdHI8
UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyPiBtZWRpYVJlc291cmNlTG9hZGVyID0gcGxheWVy
KCktPmNyZWF0ZVJlc291cmNlTG9hZGVyKCk7CisgICAgICAgIGlmIChtZWRpYVJlc291cmNlTG9h
ZGVyKQorICAgICAgICAgICAgcmVzb3VyY2VMb2FkZXIuVVJMU2Vzc2lvbiA9IChOU1VSTFNlc3Np
b24gKilbW1tXZWJDb3JlTlNVUkxTZXNzaW9uIGFsbG9jXSBpbml0V2l0aFJlc291cmNlTG9hZGVy
OiptZWRpYVJlc291cmNlTG9hZGVyIGRlbGVnYXRlOnJlc291cmNlTG9hZGVyLlVSTFNlc3Npb25E
YXRhRGVsZWdhdGUgZGVsZWdhdGVRdWV1ZTpyZXNvdXJjZUxvYWRlci5VUkxTZXNzaW9uRGF0YURl
bGVnYXRlUXVldWVdIGF1dG9yZWxlYXNlXTsKKyAgICB9CiAjZW5kaWYKIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNvcmVOU1VS
TFNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29y
ZU5TVVJMU2Vzc2lvbi5oCmluZGV4IDU0OWMzODk1MTU0NGQ3OGZkNGNlOWNmYWRlZDhiYTE3ODZl
NDgwOTkuLmYzYThlYjBhMDJlNGIyMmEwYTNmZjc5ZWM0NjE1NWM1YzVhNzA3N2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29yZU5TVVJMU2Vz
c2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29y
ZU5TVVJMU2Vzc2lvbi5oCkBAIC0yOCw4ICsyOCw2IEBACiAKICNpZiBQTEFURk9STShJT1MpIHx8
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMTAwCiAKLSNpbXBvcnQgIkNh
Y2hlZFJhd1Jlc291cmNlLmgiCi0jaW1wb3J0ICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2lt
cG9ydCA8Rm91bmRhdGlvbi9OU1VSTFNlc3Npb24uaD4KICNpbXBvcnQgPHd0Zi9IYXNoU2V0Lmg+
CiAjaW1wb3J0IDx3dGYvT1NPYmplY3RQdHIuaD4KQEAgLTQ0LDE1ICs0MiwxNiBAQAogQGNsYXNz
IFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzazsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotY2xh
c3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q7Citj
bGFzcyBQbGF0Zm9ybU1lZGlhUmVzb3VyY2U7CitjbGFzcyBQbGF0Zm9ybU1lZGlhUmVzb3VyY2VM
b2FkZXI7CiBjbGFzcyBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ7CiB9CiAKIE5T
X0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKIFdFQkNPUkVfRVhQT1JUIEBpbnRlcmZhY2UgV2ViQ29y
ZU5TVVJMU2Vzc2lvbiA6IE5TT2JqZWN0IHsKLSAgICBSZWZQdHI8V2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2VMb2FkZXI+IF9sb2FkZXI7CisgICAgUmVmUHRyPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFS
ZXNvdXJjZUxvYWRlcj4gX2xvYWRlcjsKICAgICBSZXRhaW5QdHI8aWQ8TlNVUkxTZXNzaW9uRGVs
ZWdhdGU+PiBfZGVsZWdhdGU7CiAgICAgUmV0YWluUHRyPE5TT3BlcmF0aW9uUXVldWU+IF9xdWV1
ZTsKICAgICBOU1N0cmluZyAqX3Nlc3Npb25EZXNjcmlwdGlvbjsKQEAgLTYxLDcgKzYwLDcgQEAg
V0VCQ09SRV9FWFBPUlQgQGludGVyZmFjZSBXZWJDb3JlTlNVUkxTZXNzaW9uIDogTlNPYmplY3Qg
ewogICAgIE5TVUludGVnZXIgX25leHRUYXNrSWRlbnRpZmllcjsKICAgICBPU09iamVjdFB0cjxk
aXNwYXRjaF9xdWV1ZV90PiBfaW50ZXJuYWxRdWV1ZTsKIH0KLS0gKGlkKWluaXRXaXRoUmVzb3Vy
Y2VMb2FkZXI6KFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyJilsb2FkZXIgZGVsZWdhdGU6
KGlkPE5TVVJMU2Vzc2lvblRhc2tEZWxlZ2F0ZT4pZGVsZWdhdGUgZGVsZWdhdGVRdWV1ZTooTlNP
cGVyYXRpb25RdWV1ZSopcXVldWU7CistIChpZClpbml0V2l0aFJlc291cmNlTG9hZGVyOihXZWJD
b3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXImKWxvYWRlciBkZWxlZ2F0ZTooaWQ8TlNV
UkxTZXNzaW9uVGFza0RlbGVnYXRlPilkZWxlZ2F0ZSBkZWxlZ2F0ZVF1ZXVlOihOU09wZXJhdGlv
blF1ZXVlKilxdWV1ZTsKIEBwcm9wZXJ0eSAocmVhZG9ubHksIHJldGFpbikgTlNPcGVyYXRpb25R
dWV1ZSAqZGVsZWdhdGVRdWV1ZTsKIEBwcm9wZXJ0eSAobnVsbGFibGUsIHJlYWRvbmx5LCByZXRh
aW4pIGlkIDxOU1VSTFNlc3Npb25EZWxlZ2F0ZT4gZGVsZWdhdGU7CiBAcHJvcGVydHkgKHJlYWRv
bmx5LCBjb3B5KSBOU1VSTFNlc3Npb25Db25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uOwpAQCAt
OTgsOSArOTcsOCBAQCBXRUJDT1JFX0VYUE9SVCBAaW50ZXJmYWNlIFdlYkNvcmVOU1VSTFNlc3Np
b24gOiBOU09iamVjdCB7CiAKIEBpbnRlcmZhY2UgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNr
IDogTlNPYmplY3QgewogICAgIFdlYkNvcmVOU1VSTFNlc3Npb24gKl9zZXNzaW9uOwotICAgIHN0
ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVlc3Q+IF9yZXF1ZXN0Owog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tD
bGllbnQ+IF9jbGllbnQ7Ci0gICAgV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VIYW5kbGU8V2ViQ29y
ZTo6Q2FjaGVkUmF3UmVzb3VyY2U+IF9yZXNvdXJjZTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6UGxh
dGZvcm1NZWRpYVJlc291cmNlPiBfcmVzb3VyY2U7CiAgICAgUmV0YWluUHRyPE5TVVJMUmVzcG9u
c2U+IF9yZXNwb25zZTsKICAgICBOU1VJbnRlZ2VyIF90YXNrSWRlbnRpZmllcjsKICAgICBOU1VS
TFJlcXVlc3QgKl9vcmlnaW5hbFJlcXVlc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0KaW5kZXgg
ZTA3YzE1NDljNDUxZTU0ODcxNjU5YTZiNmMzYzQ4ZDZjZGE4NWIwMi4uNDQ5NjVkZjVmNDUwYWYz
NTk2NjA4NDhhYzc0ODVhMmIzZjYzNjAxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jb2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQpAQCAt
MjgsOSArMjgsOCBAQAogCiAjaWYgUExBVEZPUk0oSU9TKSB8fCBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTEwMAogCi0jaW1wb3J0ICJDYWNoZWRSYXdSZXNvdXJjZS5oIgot
I2ltcG9ydCAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbXBvcnQgIkNhY2hlZFJlc291cmNl
UmVxdWVzdC5oIgorI2ltcG9ydCAiUGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyLmgiCiAjaW1w
b3J0ICJTdWJyZXNvdXJjZUxvYWRlci5oIgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAg
LTQwLDcgKzM5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBOU19BU1NVTUVfTk9OTlVM
TF9CRUdJTgogCiBAaW50ZXJmYWNlIFdlYkNvcmVOU1VSTFNlc3Npb24gKCkKLUBwcm9wZXJ0eSAo
cmVhZG9ubHkpIENhY2hlZFJlc291cmNlTG9hZGVyJiBsb2FkZXI7CitAcHJvcGVydHkgKHJlYWRv
bmx5KSBQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXImIGxvYWRlcjsKIEBwcm9wZXJ0eSAocmVh
ZHdyaXRlLCByZXRhaW4pIGlkPE5TVVJMU2Vzc2lvblRhc2tEZWxlZ2F0ZT4gZGVsZWdhdGU7CiAt
ICh2b2lkKXRhc2tDb21wbGV0ZWQ6KFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzayAqKXRhc2s7
CiAtICh2b2lkKWFkZERlbGVnYXRlT3BlcmF0aW9uOih2b2lkICheKSh2b2lkKSlvcGVyYXRpb247
CkBAIC01NSwxMSArNTQsMTEgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIC0gKHZvaWQpX3Nl
dERlZmVyc0xvYWRpbmc6KEJPT0wpZGVmZXJzOwogQHByb3BlcnR5IChhc3NpZ24pIFdlYkNvcmVO
U1VSTFNlc3Npb24gKiBfTnVsbGFibGUgc2Vzc2lvbjsKIAotLSAodm9pZClyZXNvdXJjZTooQ2Fj
aGVkUmVzb3VyY2UqKXJlc291cmNlIHNlbnRCeXRlczoodW5zaWduZWQgbG9uZyBsb25nKWJ5dGVz
U2VudCB0b3RhbEJ5dGVzVG9CZVNlbnQ6KHVuc2lnbmVkIGxvbmcgbG9uZyl0b3RhbEJ5dGVzVG9C
ZVNlbnQ7Ci0tICh2b2lkKXJlc291cmNlOihDYWNoZWRSZXNvdXJjZSopcmVzb3VyY2UgcmVjZWl2
ZWRSZXNwb25zZTooY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpcmVzcG9uc2U7Ci0tICh2b2lkKXJl
c291cmNlOihDYWNoZWRSZXNvdXJjZSopcmVzb3VyY2UgcmVjZWl2ZWREYXRhOihjb25zdCBjaGFy
KilkYXRhIGxlbmd0aDooaW50KWxlbmd0aDsKLS0gKHZvaWQpcmVzb3VyY2U6KENhY2hlZFJlc291
cmNlKilyZXNvdXJjZSByZWNlaXZlZFJlZGlyZWN0Oihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJily
ZXNwb25zZSByZXF1ZXN0OihSZXNvdXJjZVJlcXVlc3QmKXJlcXVlc3Q7Ci0tICh2b2lkKXJlc291
cmNlRmluaXNoZWQ6KENhY2hlZFJlc291cmNlKilyZXNvdXJjZTsKKy0gKHZvaWQpcmVzb3VyY2U6
KFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYpcmVzb3VyY2Ugc2VudEJ5dGVzOih1bnNpZ25lZCBsb25n
IGxvbmcpYnl0ZXNTZW50IHRvdGFsQnl0ZXNUb0JlU2VudDoodW5zaWduZWQgbG9uZyBsb25nKXRv
dGFsQnl0ZXNUb0JlU2VudDsKKy0gKHZvaWQpcmVzb3VyY2U6KFBsYXRmb3JtTWVkaWFSZXNvdXJj
ZSYpcmVzb3VyY2UgcmVjZWl2ZWRSZXNwb25zZTooY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpcmVz
cG9uc2U7CistICh2b2lkKXJlc291cmNlOihQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmKXJlc291cmNl
IHJlY2VpdmVkRGF0YTooY29uc3QgY2hhciopZGF0YSBsZW5ndGg6KGludClsZW5ndGg7CistICh2
b2lkKXJlc291cmNlOihQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmKXJlc291cmNlIHJlY2VpdmVkUmVk
aXJlY3Q6KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKXJlc3BvbnNlIHJlcXVlc3Q6KFJlc291cmNl
UmVxdWVzdCYpcmVxdWVzdDsKKy0gKHZvaWQpcmVzb3VyY2VGaW5pc2hlZDooUGxhdGZvcm1NZWRp
YVJlc291cmNlJilyZXNvdXJjZTsKIEBlbmQKIAogTlNfQVNTVU1FX05PTk5VTExfRU5ECkBAIC02
Nyw3ICs2Niw3IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAogI3ByYWdtYSBtYXJrIC0gV2ViQ29y
ZU5TVVJMU2Vzc2lvbgogCiBAaW1wbGVtZW50YXRpb24gV2ViQ29yZU5TVVJMU2Vzc2lvbgotLSAo
aWQpaW5pdFdpdGhSZXNvdXJjZUxvYWRlcjooQ2FjaGVkUmVzb3VyY2VMb2FkZXImKWxvYWRlciBk
ZWxlZ2F0ZTooaWQ8TlNVUkxTZXNzaW9uVGFza0RlbGVnYXRlPilpbkRlbGVnYXRlIGRlbGVnYXRl
UXVldWU6KE5TT3BlcmF0aW9uUXVldWUqKWluUXVldWUKKy0gKGlkKWluaXRXaXRoUmVzb3VyY2VM
b2FkZXI6KFBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlciYpbG9hZGVyIGRlbGVnYXRlOihpZDxO
U1VSTFNlc3Npb25UYXNrRGVsZWdhdGU+KWluRGVsZWdhdGUgZGVsZWdhdGVRdWV1ZTooTlNPcGVy
YXRpb25RdWV1ZSopaW5RdWV1ZQogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgaWYg
KCFzZWxmKQpAQCAtMTQ3LDcgKzE0Niw3IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAogfQogCiBA
ZHluYW1pYyBsb2FkZXI7Ci0tIChDYWNoZWRSZXNvdXJjZUxvYWRlciYpbG9hZGVyCistIChQbGF0
Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXImKWxvYWRlcgogewogICAgIHJldHVybiAqX2xvYWRlcjsK
IH0KQEAgLTI4OCw0NCArMjg3LDQ0IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudCA6
IHB1YmxpYyBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudCB7CitjbGFzcyBXZWJDb3JlTlNVUkxTZXNz
aW9uRGF0YVRhc2tDbGllbnQgOiBwdWJsaWMgUGxhdGZvcm1NZWRpYVJlc291cmNlQ2xpZW50IHsK
IHB1YmxpYzoKICAgICBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQoV2ViQ29yZU5T
VVJMU2Vzc2lvbkRhdGFUYXNrICp0YXNrKQogICAgICAgICA6IG1fdGFzayh0YXNrKQogICAgIHsK
ICAgICB9CiAKLSAgICB2b2lkIGRhdGFTZW50KENhY2hlZFJlc291cmNlKiwgdW5zaWduZWQgbG9u
ZyBsb25nLCB1bnNpZ25lZCBsb25nIGxvbmcpIG92ZXJyaWRlOwotICAgIHZvaWQgcmVzcG9uc2VS
ZWNlaXZlZChDYWNoZWRSZXNvdXJjZSosIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlk
ZTsKLSAgICB2b2lkIGRhdGFSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSosIGNvbnN0IGNoYXIqIC8q
IGRhdGEgKi8sIGludCAvKiBsZW5ndGggKi8pIG92ZXJyaWRlOwotICAgIHZvaWQgcmVkaXJlY3RS
ZWNlaXZlZChDYWNoZWRSZXNvdXJjZSosIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmKSBvdmVycmlkZTsKLSAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291
cmNlKikgb3ZlcnJpZGU7CisgICAgdm9pZCByZXNwb25zZVJlY2VpdmVkKFBsYXRmb3JtTWVkaWFS
ZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKKyAgICB2b2lkIHJl
ZGlyZWN0UmVjZWl2ZWQoUGxhdGZvcm1NZWRpYVJlc291cmNlJiwgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRlOworICAgIHZvaWQgZGF0YVNlbnQoUGxh
dGZvcm1NZWRpYVJlc291cmNlJiwgdW5zaWduZWQgbG9uZyBsb25nLCB1bnNpZ25lZCBsb25nIGxv
bmcpIG92ZXJyaWRlOworICAgIHZvaWQgZGF0YVJlY2VpdmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJj
ZSYsIGNvbnN0IGNoYXIqIC8qIGRhdGEgKi8sIGludCAvKiBsZW5ndGggKi8pIG92ZXJyaWRlOwor
ICAgIHZvaWQgbG9hZEZpbmlzaGVkKFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYpIG92ZXJyaWRlOwog
CiBwcml2YXRlOgogICAgIFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzayAqbV90YXNrOwogfTsK
IAotdm9pZCBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ6OmRhdGFTZW50KENhY2hl
ZFJlc291cmNlKiByZXNvdXJjZSwgdW5zaWduZWQgbG9uZyBsb25nIGJ5dGVzU2VudCwgdW5zaWdu
ZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCkKK3ZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lv
bkRhdGFUYXNrQ2xpZW50OjpkYXRhU2VudChQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmIHJlc291cmNl
LCB1bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXNTZW50LCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxC
eXRlc1RvQmVTZW50KQogewogICAgIFttX3Rhc2sgcmVzb3VyY2U6cmVzb3VyY2Ugc2VudEJ5dGVz
OmJ5dGVzU2VudCB0b3RhbEJ5dGVzVG9CZVNlbnQ6dG90YWxCeXRlc1RvQmVTZW50XTsKIH0KIAot
dm9pZCBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ6OnJlc3BvbnNlUmVjZWl2ZWQo
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSkKK3ZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50OjpyZXNwb25zZVJlY2Vp
dmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlKQogewogICAgIFttX3Rhc2sgcmVzb3VyY2U6cmVzb3VyY2UgcmVjZWl2ZWRS
ZXNwb25zZTpyZXNwb25zZV07CiB9CiAKLXZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNr
Q2xpZW50OjpkYXRhUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBjb25zdCBjaGFy
KiBkYXRhLCBpbnQgbGVuZ3RoKQordm9pZCBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGll
bnQ6OmRhdGFSZWNlaXZlZChQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBj
aGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQogewogICAgIFttX3Rhc2sgcmVzb3VyY2U6cmVzb3VyY2Ug
cmVjZWl2ZWREYXRhOmRhdGEgbGVuZ3RoOmxlbmd0aF07CiB9CiAKLXZvaWQgV2ViQ29yZU5TVVJM
U2Vzc2lvbkRhdGFUYXNrQ2xpZW50OjpyZWRpcmVjdFJlY2VpdmVkKENhY2hlZFJlc291cmNlKiBy
ZXNvdXJjZSwgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSkKK3ZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50OjpyZWRp
cmVjdFJlY2VpdmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYgcmVzb3VyY2UsIFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAgICAg
W21fdGFzayByZXNvdXJjZTpyZXNvdXJjZSByZWNlaXZlZFJlZGlyZWN0OnJlc3BvbnNlIHJlcXVl
c3Q6cmVxdWVzdF07CiB9CiAKLXZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50
Ojpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCit2b2lkIFdlYkNvcmVO
U1VSTFNlc3Npb25EYXRhVGFza0NsaWVudDo6bG9hZEZpbmlzaGVkKFBsYXRmb3JtTWVkaWFSZXNv
dXJjZSYgcmVzb3VyY2UpCiB7CiAgICAgW21fdGFzayByZXNvdXJjZUZpbmlzaGVkOnJlc291cmNl
XTsKIH0KQEAgLTM0Miw3ICszNDEsNiBAQCB2b2lkIFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFz
a0NsaWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIHNl
bGYuc3RhdGUgPSBOU1VSTFNlc3Npb25UYXNrU3RhdGVTdXNwZW5kZWQ7CiAgICAgc2VsZi5wcmlv
cml0eSA9IE5TVVJMU2Vzc2lvblRhc2tQcmlvcml0eURlZmF1bHQ7CiAgICAgc2VsZi5vcmlnaW5h
bFJlcXVlc3QgPSBzZWxmLmN1cnJlbnRSZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDp1cmxdOwotICAgIF9jbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYkNvcmVOU1VSTFNl
c3Npb25EYXRhVGFza0NsaWVudD4oc2VsZik7CiAKICAgICByZXR1cm4gc2VsZjsKIH0KQEAgLTM1
NCw3ICszNTIsNiBAQCB2b2lkIFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudDo6bm90
aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIHNlbGYuc3RhdGUgPSBO
U1VSTFNlc3Npb25UYXNrU3RhdGVTdXNwZW5kZWQ7CiAgICAgc2VsZi5wcmlvcml0eSA9IE5TVVJM
U2Vzc2lvblRhc2tQcmlvcml0eURlZmF1bHQ7CiAgICAgc2VsZi5vcmlnaW5hbFJlcXVlc3QgPSBz
ZWxmLmN1cnJlbnRSZXF1ZXN0ID0gcmVxdWVzdDsKLSAgICBfY2xpZW50ID0gc3RkOjptYWtlX3Vu
aXF1ZTxXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ+KHNlbGYpOwogCiAgICAgcmV0
dXJuIHNlbGY7CiB9CkBAIC0zNzIsMTkgKzM2OSwxNyBAQCB2b2lkIFdlYkNvcmVOU1VSTFNlc3Np
b25EYXRhVGFza0NsaWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNl
KQogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgW3NlbGYgX2NhbmNlbF07CiAKLSAg
ICBfcmVxdWVzdCA9IHN0ZDo6bWFrZV91bmlxdWU8Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0PihzZWxm
Lm9yaWdpbmFsUmVxdWVzdCwgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIERv
Tm90U25pZmZDb250ZW50LCBEb05vdEJ1ZmZlckRhdGEsIERvTm90QWxsb3dTdG9yZWRDcmVkZW50
aWFscywgRG9Ob3RBc2tDbGllbnRGb3JDcm9zc09yaWdpbkNyZWRlbnRpYWxzLCBDbGllbnREaWRO
b3RSZXF1ZXN0Q3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJl
c3RyaWN0aW9uc0ZvclR5cGUsIERvTm90SW5jbHVkZUNlcnRpZmljYXRlSW5mbywgQ29udGVudFNl
Y3VyaXR5UG9saWN5SW1wb3NpdGlvbjo6RG9Qb2xpY3lDaGVjaywgRGVmZXJzTG9hZGluZ1BvbGlj
eTo6QWxsb3dEZWZlcnNMb2FkaW5nLCBDYWNoaW5nUG9saWN5OjpEaXNhbGxvd0NhY2hpbmcpKTsK
LSAgICBfcmVzb3VyY2UgPSBzZWxmLnNlc3Npb24ubG9hZGVyLnJlcXVlc3RSYXdSZXNvdXJjZSgq
X3JlcXVlc3QpOworICAgIF9yZXNvdXJjZSA9IHNlbGYuc2Vzc2lvbi5sb2FkZXIucmVxdWVzdFJl
c291cmNlKHNlbGYub3JpZ2luYWxSZXF1ZXN0LCAwKTsKICAgICBpZiAoX3Jlc291cmNlKQotICAg
ICAgICBfcmVzb3VyY2UtPmFkZENsaWVudChfY2xpZW50LmdldCgpKTsKKyAgICAgICAgX3Jlc291
cmNlLT5zZXRDbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRh
c2tDbGllbnQ+KHNlbGYpKTsKIH0KIAogLSAodm9pZClfY2FuY2VsCiB7CiAgICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsKICAgICBpZiAoX3Jlc291cmNlKSB7Ci0gICAgICAgIGlmIChTdWJyZXNv
dXJjZUxvYWRlciogbG9hZGVyID0gX3Jlc291cmNlLT5sb2FkZXIoKSkKLSAgICAgICAgICAgIGxv
YWRlci0+Y2FuY2VsKFJlc291cmNlRXJyb3IoKSk7Ci0gICAgICAgIF9yZXNvdXJjZS0+cmVtb3Zl
Q2xpZW50KF9jbGllbnQuZ2V0KCkpOworICAgICAgICBfcmVzb3VyY2UtPnN0b3AoKTsKKyAgICAg
ICAgX3Jlc291cmNlLT5zZXRDbGllbnQobnVsbHB0cik7CiAgICAgICAgIF9yZXNvdXJjZSA9IG5p
bDsKICAgICB9CiB9CkBAIC0zOTMsMTQgKzM4OCwxNCBAQCB2b2lkIFdlYkNvcmVOU1VSTFNlc3Np
b25EYXRhVGFza0NsaWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNl
KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgaWYgKF9yZXNvdXJjZSkKLSAg
ICAgICAgW3NlbGYgcmVzb3VyY2VGaW5pc2hlZDpfcmVzb3VyY2UuZ2V0KCldOworICAgICAgICBb
c2VsZiByZXNvdXJjZUZpbmlzaGVkOipfcmVzb3VyY2VdOwogfQogCiAtICh2b2lkKV9zZXREZWZl
cnNMb2FkaW5nOihCT09MKWRlZmVycwogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0g
ICAgaWYgKF9yZXNvdXJjZSAmJiBfcmVzb3VyY2UtPmxvYWRlcigpKQotICAgICAgICBfcmVzb3Vy
Y2UtPmxvYWRlcigpLT5zZXREZWZlcnNMb2FkaW5nKGRlZmVycyk7CisgICAgaWYgKF9yZXNvdXJj
ZSkKKyAgICAgICAgX3Jlc291cmNlLT5zZXREZWZlcnNMb2FkaW5nKGRlZmVycyk7CiB9CiAKICNw
cmFnbWEgbWFyayAtIE5TVVJMU2Vzc2lvbiBBUEkKQEAgLTQ2NCwxOSArNDU5LDE5IEBAIHZvaWQg
V2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50Ojpub3RpZnlGaW5pc2hlZChDYWNoZWRS
ZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgcmV0dXJuIEB7IH07CiB9CiAKLSNwcmFnbWEgbWFyayAt
IENhY2hlZFJhd1Jlc291cmNlQ2xpZW50IGNhbGxiYWNrcworI3ByYWdtYSBtYXJrIC0gUGxhdGZv
cm1NZWRpYVJlc291cmNlQ2xpZW50IGNhbGxiYWNrcwogCi0tICh2b2lkKXJlc291cmNlOihDYWNo
ZWRSZXNvdXJjZSopcmVzb3VyY2Ugc2VudEJ5dGVzOih1bnNpZ25lZCBsb25nIGxvbmcpYnl0ZXNT
ZW50IHRvdGFsQnl0ZXNUb0JlU2VudDoodW5zaWduZWQgbG9uZyBsb25nKXRvdGFsQnl0ZXNUb0Jl
U2VudAorLSAodm9pZClyZXNvdXJjZTooUGxhdGZvcm1NZWRpYVJlc291cmNlJilyZXNvdXJjZSBz
ZW50Qnl0ZXM6KHVuc2lnbmVkIGxvbmcgbG9uZylieXRlc1NlbnQgdG90YWxCeXRlc1RvQmVTZW50
Oih1bnNpZ25lZCBsb25nIGxvbmcpdG90YWxCeXRlc1RvQmVTZW50CiB7Ci0gICAgQVNTRVJUX1VO
VVNFRChyZXNvdXJjZSwgcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsKKyAgICBBU1NFUlRfVU5VU0VE
KHJlc291cmNlLCAmcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsKICAgICBVTlVTRURfUEFSQU0oYnl0
ZXNTZW50KTsKICAgICBVTlVTRURfUEFSQU0odG90YWxCeXRlc1RvQmVTZW50KTsKICAgICAvLyBO
by1vcC4KIH0KIAotLSAodm9pZClyZXNvdXJjZTooQ2FjaGVkUmVzb3VyY2UqKXJlc291cmNlIHJl
Y2VpdmVkUmVzcG9uc2U6KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKXJlc3BvbnNlCistICh2b2lk
KXJlc291cmNlOihQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmKXJlc291cmNlIHJlY2VpdmVkUmVzcG9u
c2U6KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKXJlc3BvbnNlCiB7Ci0gICAgQVNTRVJUX1VOVVNF
RChyZXNvdXJjZSwgcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHJl
c291cmNlLCAmcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogICAgIF9yZXNwb25zZSA9IHJlc3BvbnNlLm5zVVJMUmVzcG9uc2UoKTsKICAgICBzZWxm
LmNvdW50T2ZCeXRlc0V4cGVjdGVkVG9SZWNlaXZlID0gcmVzcG9uc2UuZXhwZWN0ZWRDb250ZW50
TGVuZ3RoKCk7CkBAIC01MDUsOSArNTAwLDkgQEAgdm9pZCBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0
YVRhc2tDbGllbnQ6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAg
ICB9XTsKIH0KIAotLSAodm9pZClyZXNvdXJjZTooQ2FjaGVkUmVzb3VyY2UqKXJlc291cmNlIHJl
Y2VpdmVkRGF0YTooY29uc3QgY2hhciopZGF0YSBsZW5ndGg6KGludClsZW5ndGgKKy0gKHZvaWQp
cmVzb3VyY2U6KFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYpcmVzb3VyY2UgcmVjZWl2ZWREYXRhOihj
b25zdCBjaGFyKilkYXRhIGxlbmd0aDooaW50KWxlbmd0aAogewotICAgIEFTU0VSVF9VTlVTRUQo
cmVzb3VyY2UsIHJlc291cmNlID09IF9yZXNvdXJjZSk7CisgICAgQVNTRVJUX1VOVVNFRChyZXNv
dXJjZSwgJnJlc291cmNlID09IF9yZXNvdXJjZSk7CiAgICAgVU5VU0VEX1BBUkFNKGRhdGEpOwog
ICAgIFVOVVNFRF9QQVJBTShsZW5ndGgpOwogICAgIC8vIEZJWE1FOiB0cnkgdG8gYXZvaWQgYSBj
b3B5LCBpZiBwb3NzaWJsZS4KQEAgLTUyMyw5ICs1MTgsOSBAQCB2b2lkIFdlYkNvcmVOU1VSTFNl
c3Npb25EYXRhVGFza0NsaWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291
cmNlKQogICAgIH1dOwogfQogCi0tICh2b2lkKXJlc291cmNlOihDYWNoZWRSZXNvdXJjZSopcmVz
b3VyY2UgcmVjZWl2ZWRSZWRpcmVjdDooY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpcmVzcG9uc2Ug
cmVxdWVzdDooUmVzb3VyY2VSZXF1ZXN0JilyZXF1ZXN0CistICh2b2lkKXJlc291cmNlOihQbGF0
Zm9ybU1lZGlhUmVzb3VyY2UmKXJlc291cmNlIHJlY2VpdmVkUmVkaXJlY3Q6KGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmKXJlc3BvbnNlIHJlcXVlc3Q6KFJlc291cmNlUmVxdWVzdCYpcmVxdWVzdAog
ewotICAgIEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsIHJlc291cmNlID09IF9yZXNvdXJjZSk7Cisg
ICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgJnJlc291cmNlID09IF9yZXNvdXJjZSk7CiAgICAg
VU5VU0VEX1BBUkFNKHJlc3BvbnNlKTsKICAgICBVTlVTRURfUEFSQU0ocmVxdWVzdCk7CiAgICAg
Ly8gRklYTUU6IFRoaXMgY2Fubm90IGN1cnJlbnRseSBiZSBpbXBsZW1lbnRlZCwgYXMgdGhlIGNh
bGxiYWNrIGlzIHN5bmNocm9ub3VzCkBAIC01MzYsOSArNTMxLDkgQEAgdm9pZCBXZWJDb3JlTlNV
UkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiBy
ZXNvdXJjZSkKICAgICAvLyBBUEksIHRoaXMgY2FuIGJlIGltcGxlbWVudGVkLgogfQogCi0tICh2
b2lkKXJlc291cmNlRmluaXNoZWQ6KENhY2hlZFJlc291cmNlKilyZXNvdXJjZQorLSAodm9pZCly
ZXNvdXJjZUZpbmlzaGVkOihQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmKXJlc291cmNlCiB7Ci0gICAg
QVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsKKyAgICBBU1NF
UlRfVU5VU0VEKHJlc291cmNlLCAmcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsKICAgICBzZWxmLnN0
YXRlID0gTlNVUkxTZXNzaW9uVGFza1N0YXRlQ29tcGxldGVkOwogCiAgICAgUmV0YWluUHRyPFdl
YkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzaz4gc3Ryb25nU2VsZiB7IHNlbGYgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271216</attachid>
            <date>2016-02-12 13:46:39 -0800</date>
            <delta_ts>2016-02-12 13:46:39 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-154136-20160212134617.patch</filename>
            <type>text/plain</type>
            <size>22468</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2MzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTI0NzU1MDA5ODdhNmRi
NGE4NGM1MGQ3NTk4ZTQyZjg0MjZlZjQyMC4uMjE1YTU0ZDdlNDhkZmM0MDM0OTk2ZDQ0ZmRlYjY2
NTA1NzQxN2IwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ0IEBACiAyMDE2LTAyLTExICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIFtNYWNdIEFkb3B0IE1lZGlh
UmVzb3VyY2VMb2FkZXIgKGluc3RlYWQgb2YgQ2FjaGVkUmVzb3VyY2VMb2FkZXIpIGluIFdlYkNv
cmVOU1VSTFNlc3Npb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTQxMzYKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgor
CisgICAgICAgIE1lZGlhUmVzb3VyY2VMb2FkZXIgYWxyZWFkeSBzdXBwb3J0cyB1c2luZyBDT1JT
IGF0dHJpYnV0ZSB0byB2ZXJpZnkgQ09SUyBhY2Nlc3MgcmVxdWlyZW1lbnRzCisgICAgICAgIHdo
ZW4gbG9hZGluZyBtZWRpYSByZXNvdXJjZXMsIHNvIHVzZSBpdCwgcmF0aGVyIHRoYW4gQ2FjaGVk
UmVzb3VyY2VMb2FkZXIsIGFzIHRoZSBiYWNraW5nIGZvcgorICAgICAgICBXZWJDb3JlTlNVUkxT
ZXNzaW9uLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9XZWJDb3JlTlNVUkxT
ZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9XZWJDb3JlTlNVUkxT
ZXNzaW9uLm1tOgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uIGRlbGVnYXRlUXVldWVd
KToKKyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbiBzdHJlYW1UYXNrV2l0aE5ldFNlcnZp
Y2U6XSk6CisgICAgICAgICgtW1dlYkNvcmVOU1VSTFNlc3Npb24gaXNLaW5kT2ZDbGFzczpdKToK
KyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrIGluaXRXaXRoU2Vzc2lvbjpp
ZGVudGlmaWVyOnJlcXVlc3Q6XSk6CisgICAgICAgICgtW1dlYkNvcmVOU1VSTFNlc3Npb25EYXRh
VGFzayBfcmVzdGFydF0pOgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2sg
X2NhbmNlbF0pOgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2sgcmVzdW1l
XSk6CisgICAgICAgICgtW1dlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzayBfdGltaW5nRGF0YV0p
OgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2sgcmVzb3VyY2U6cmVjZWl2
ZWRSZXNwb25zZTpdKToKKyAgICAgICAgKC1bV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrIHJl
c291cmNlOnJlY2VpdmVkRGF0YTpsZW5ndGg6XSk6CisgICAgICAgICgtW1dlYkNvcmVOU1VSTFNl
c3Npb24gaW5pdFdpdGhSZXNvdXJjZUxvYWRlcjpkZWxlZ2F0ZTpkZWxlZ2F0ZVF1ZXVlOl0pOiBE
ZWxldGVkLgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uIGxvYWRlcl0pOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50Ojpk
YXRhU2VudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlTlNVUkxTZXNzaW9u
RGF0YVRhc2tDbGllbnQ6OnJlc3BvbnNlUmVjZWl2ZWQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50OjpkYXRhUmVjZWl2ZWQpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xp
ZW50OjpyZWRpcmVjdFJlY2VpdmVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkNv
cmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudDo6bm90aWZ5RmluaXNoZWQpOiBEZWxldGVkLgor
ICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2sgaW5pdFdpdGhTZXNzaW9uOmlk
ZW50aWZpZXI6VVJMOl0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9u
RGF0YVRhc2sgX2ZpbmlzaF0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNz
aW9uRGF0YVRhc2sgX3NldERlZmVyc0xvYWRpbmc6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dl
YkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzayByZXNvdXJjZTpzZW50Qnl0ZXM6dG90YWxCeXRlc1Rv
QmVTZW50Ol0pOiBEZWxldGVkLgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRh
c2sgcmVzb3VyY2U6cmVjZWl2ZWRSZWRpcmVjdDpyZXF1ZXN0Ol0pOiBEZWxldGVkLgorICAgICAg
ICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2sgcmVzb3VyY2VGaW5pc2hlZDpdKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlQVZBc3NldEZvclVSTCk6CisK
KzIwMTYtMDItMTEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKICAgICAgICAg
TWFrZSBNZWRpYVJlc291cmNlTG9hZGVyIGJlaGF2ZSBtb3JlIGxpa2UgYSBDYWNoZWRSZXNvdXJj
ZUxvYWRlci4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1NDExNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA0Mzc0NTk5ZWMyZGQyOWEyY2Q4
MjM2ZWNhMzA0MjBjOGIwOTQ2NmUzLi44MGVlMGI3NjhiMzIzZTNkMjJlYmNlNjdlZmJjNzRlZDVk
ZWE1ZjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTkyMSw4ICs5MjEsMTEgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVkFzc2V0Rm9yVVJM
KGNvbnN0IFN0cmluZyYgdXJsKQogICAgIGlmIChTZXR0aW5nczo6aXNBVkZvdW5kYXRpb25OU1VS
TFNlc3Npb25FbmFibGVkKCkKICAgICAgICAgJiYgW3Jlc291cmNlTG9hZGVyIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3Ioc2V0VVJMU2Vzc2lvbjopXQogICAgICAgICAmJiBbcmVzb3VyY2VM
b2FkZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihVUkxTZXNzaW9uRGF0YURlbGVnYXRl
KV0KLSAgICAgICAgJiYgW3Jlc291cmNlTG9hZGVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3IoVVJMU2Vzc2lvbkRhdGFEZWxlZ2F0ZVF1ZXVlKV0pCi0gICAgICAgIHJlc291cmNlTG9hZGVy
LlVSTFNlc3Npb24gPSAoTlNVUkxTZXNzaW9uICopW1tbV2ViQ29yZU5TVVJMU2Vzc2lvbiBhbGxv
Y10gaW5pdFdpdGhSZXNvdXJjZUxvYWRlcjoqcGxheWVyKCktPmNhY2hlZFJlc291cmNlTG9hZGVy
KCkgZGVsZWdhdGU6cmVzb3VyY2VMb2FkZXIuVVJMU2Vzc2lvbkRhdGFEZWxlZ2F0ZSBkZWxlZ2F0
ZVF1ZXVlOnJlc291cmNlTG9hZGVyLlVSTFNlc3Npb25EYXRhRGVsZWdhdGVRdWV1ZV0gYXV0b3Jl
bGVhc2VdOworICAgICAgICAmJiBbcmVzb3VyY2VMb2FkZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3RvcihVUkxTZXNzaW9uRGF0YURlbGVnYXRlUXVldWUpXSkgeworICAgICAgICBSZWZQdHI8
UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyPiBtZWRpYVJlc291cmNlTG9hZGVyID0gcGxheWVy
KCktPmNyZWF0ZVJlc291cmNlTG9hZGVyKCk7CisgICAgICAgIGlmIChtZWRpYVJlc291cmNlTG9h
ZGVyKQorICAgICAgICAgICAgcmVzb3VyY2VMb2FkZXIuVVJMU2Vzc2lvbiA9IChOU1VSTFNlc3Np
b24gKilbW1tXZWJDb3JlTlNVUkxTZXNzaW9uIGFsbG9jXSBpbml0V2l0aFJlc291cmNlTG9hZGVy
OiptZWRpYVJlc291cmNlTG9hZGVyIGRlbGVnYXRlOnJlc291cmNlTG9hZGVyLlVSTFNlc3Npb25E
YXRhRGVsZWdhdGUgZGVsZWdhdGVRdWV1ZTpyZXNvdXJjZUxvYWRlci5VUkxTZXNzaW9uRGF0YURl
bGVnYXRlUXVldWVdIGF1dG9yZWxlYXNlXTsKKyAgICB9CiAjZW5kaWYKIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNvcmVOU1VS
TFNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29y
ZU5TVVJMU2Vzc2lvbi5oCmluZGV4IDU0OWMzODk1MTU0NGQ3OGZkNGNlOWNmYWRlZDhiYTE3ODZl
NDgwOTkuLmYzYThlYjBhMDJlNGIyMmEwYTNmZjc5ZWM0NjE1NWM1YzVhNzA3N2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29yZU5TVVJMU2Vz
c2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29y
ZU5TVVJMU2Vzc2lvbi5oCkBAIC0yOCw4ICsyOCw2IEBACiAKICNpZiBQTEFURk9STShJT1MpIHx8
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMTAwCiAKLSNpbXBvcnQgIkNh
Y2hlZFJhd1Jlc291cmNlLmgiCi0jaW1wb3J0ICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2lt
cG9ydCA8Rm91bmRhdGlvbi9OU1VSTFNlc3Npb24uaD4KICNpbXBvcnQgPHd0Zi9IYXNoU2V0Lmg+
CiAjaW1wb3J0IDx3dGYvT1NPYmplY3RQdHIuaD4KQEAgLTQ0LDE1ICs0MiwxNiBAQAogQGNsYXNz
IFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzazsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotY2xh
c3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q7Citj
bGFzcyBQbGF0Zm9ybU1lZGlhUmVzb3VyY2U7CitjbGFzcyBQbGF0Zm9ybU1lZGlhUmVzb3VyY2VM
b2FkZXI7CiBjbGFzcyBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ7CiB9CiAKIE5T
X0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKIFdFQkNPUkVfRVhQT1JUIEBpbnRlcmZhY2UgV2ViQ29y
ZU5TVVJMU2Vzc2lvbiA6IE5TT2JqZWN0IHsKLSAgICBSZWZQdHI8V2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2VMb2FkZXI+IF9sb2FkZXI7CisgICAgUmVmUHRyPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFS
ZXNvdXJjZUxvYWRlcj4gX2xvYWRlcjsKICAgICBSZXRhaW5QdHI8aWQ8TlNVUkxTZXNzaW9uRGVs
ZWdhdGU+PiBfZGVsZWdhdGU7CiAgICAgUmV0YWluUHRyPE5TT3BlcmF0aW9uUXVldWU+IF9xdWV1
ZTsKICAgICBOU1N0cmluZyAqX3Nlc3Npb25EZXNjcmlwdGlvbjsKQEAgLTYxLDcgKzYwLDcgQEAg
V0VCQ09SRV9FWFBPUlQgQGludGVyZmFjZSBXZWJDb3JlTlNVUkxTZXNzaW9uIDogTlNPYmplY3Qg
ewogICAgIE5TVUludGVnZXIgX25leHRUYXNrSWRlbnRpZmllcjsKICAgICBPU09iamVjdFB0cjxk
aXNwYXRjaF9xdWV1ZV90PiBfaW50ZXJuYWxRdWV1ZTsKIH0KLS0gKGlkKWluaXRXaXRoUmVzb3Vy
Y2VMb2FkZXI6KFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyJilsb2FkZXIgZGVsZWdhdGU6
KGlkPE5TVVJMU2Vzc2lvblRhc2tEZWxlZ2F0ZT4pZGVsZWdhdGUgZGVsZWdhdGVRdWV1ZTooTlNP
cGVyYXRpb25RdWV1ZSopcXVldWU7CistIChpZClpbml0V2l0aFJlc291cmNlTG9hZGVyOihXZWJD
b3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXImKWxvYWRlciBkZWxlZ2F0ZTooaWQ8TlNV
UkxTZXNzaW9uVGFza0RlbGVnYXRlPilkZWxlZ2F0ZSBkZWxlZ2F0ZVF1ZXVlOihOU09wZXJhdGlv
blF1ZXVlKilxdWV1ZTsKIEBwcm9wZXJ0eSAocmVhZG9ubHksIHJldGFpbikgTlNPcGVyYXRpb25R
dWV1ZSAqZGVsZWdhdGVRdWV1ZTsKIEBwcm9wZXJ0eSAobnVsbGFibGUsIHJlYWRvbmx5LCByZXRh
aW4pIGlkIDxOU1VSTFNlc3Npb25EZWxlZ2F0ZT4gZGVsZWdhdGU7CiBAcHJvcGVydHkgKHJlYWRv
bmx5LCBjb3B5KSBOU1VSTFNlc3Npb25Db25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uOwpAQCAt
OTgsOSArOTcsOCBAQCBXRUJDT1JFX0VYUE9SVCBAaW50ZXJmYWNlIFdlYkNvcmVOU1VSTFNlc3Np
b24gOiBOU09iamVjdCB7CiAKIEBpbnRlcmZhY2UgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNr
IDogTlNPYmplY3QgewogICAgIFdlYkNvcmVOU1VSTFNlc3Npb24gKl9zZXNzaW9uOwotICAgIHN0
ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVlc3Q+IF9yZXF1ZXN0Owog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tD
bGllbnQ+IF9jbGllbnQ7Ci0gICAgV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VIYW5kbGU8V2ViQ29y
ZTo6Q2FjaGVkUmF3UmVzb3VyY2U+IF9yZXNvdXJjZTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6UGxh
dGZvcm1NZWRpYVJlc291cmNlPiBfcmVzb3VyY2U7CiAgICAgUmV0YWluUHRyPE5TVVJMUmVzcG9u
c2U+IF9yZXNwb25zZTsKICAgICBOU1VJbnRlZ2VyIF90YXNrSWRlbnRpZmllcjsKICAgICBOU1VS
TFJlcXVlc3QgKl9vcmlnaW5hbFJlcXVlc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0KaW5kZXgg
ZTA3YzE1NDljNDUxZTU0ODcxNjU5YTZiNmMzYzQ4ZDZjZGE4NWIwMi4uNDQ5NjVkZjVmNDUwYWYz
NTk2NjA4NDhhYzc0ODVhMmIzZjYzNjAxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jb2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQpAQCAt
MjgsOSArMjgsOCBAQAogCiAjaWYgUExBVEZPUk0oSU9TKSB8fCBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTEwMAogCi0jaW1wb3J0ICJDYWNoZWRSYXdSZXNvdXJjZS5oIgot
I2ltcG9ydCAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbXBvcnQgIkNhY2hlZFJlc291cmNl
UmVxdWVzdC5oIgorI2ltcG9ydCAiUGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyLmgiCiAjaW1w
b3J0ICJTdWJyZXNvdXJjZUxvYWRlci5oIgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAg
LTQwLDcgKzM5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBOU19BU1NVTUVfTk9OTlVM
TF9CRUdJTgogCiBAaW50ZXJmYWNlIFdlYkNvcmVOU1VSTFNlc3Npb24gKCkKLUBwcm9wZXJ0eSAo
cmVhZG9ubHkpIENhY2hlZFJlc291cmNlTG9hZGVyJiBsb2FkZXI7CitAcHJvcGVydHkgKHJlYWRv
bmx5KSBQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXImIGxvYWRlcjsKIEBwcm9wZXJ0eSAocmVh
ZHdyaXRlLCByZXRhaW4pIGlkPE5TVVJMU2Vzc2lvblRhc2tEZWxlZ2F0ZT4gZGVsZWdhdGU7CiAt
ICh2b2lkKXRhc2tDb21wbGV0ZWQ6KFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzayAqKXRhc2s7
CiAtICh2b2lkKWFkZERlbGVnYXRlT3BlcmF0aW9uOih2b2lkICheKSh2b2lkKSlvcGVyYXRpb247
CkBAIC01NSwxMSArNTQsMTEgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIC0gKHZvaWQpX3Nl
dERlZmVyc0xvYWRpbmc6KEJPT0wpZGVmZXJzOwogQHByb3BlcnR5IChhc3NpZ24pIFdlYkNvcmVO
U1VSTFNlc3Npb24gKiBfTnVsbGFibGUgc2Vzc2lvbjsKIAotLSAodm9pZClyZXNvdXJjZTooQ2Fj
aGVkUmVzb3VyY2UqKXJlc291cmNlIHNlbnRCeXRlczoodW5zaWduZWQgbG9uZyBsb25nKWJ5dGVz
U2VudCB0b3RhbEJ5dGVzVG9CZVNlbnQ6KHVuc2lnbmVkIGxvbmcgbG9uZyl0b3RhbEJ5dGVzVG9C
ZVNlbnQ7Ci0tICh2b2lkKXJlc291cmNlOihDYWNoZWRSZXNvdXJjZSopcmVzb3VyY2UgcmVjZWl2
ZWRSZXNwb25zZTooY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpcmVzcG9uc2U7Ci0tICh2b2lkKXJl
c291cmNlOihDYWNoZWRSZXNvdXJjZSopcmVzb3VyY2UgcmVjZWl2ZWREYXRhOihjb25zdCBjaGFy
KilkYXRhIGxlbmd0aDooaW50KWxlbmd0aDsKLS0gKHZvaWQpcmVzb3VyY2U6KENhY2hlZFJlc291
cmNlKilyZXNvdXJjZSByZWNlaXZlZFJlZGlyZWN0Oihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJily
ZXNwb25zZSByZXF1ZXN0OihSZXNvdXJjZVJlcXVlc3QmKXJlcXVlc3Q7Ci0tICh2b2lkKXJlc291
cmNlRmluaXNoZWQ6KENhY2hlZFJlc291cmNlKilyZXNvdXJjZTsKKy0gKHZvaWQpcmVzb3VyY2U6
KFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYpcmVzb3VyY2Ugc2VudEJ5dGVzOih1bnNpZ25lZCBsb25n
IGxvbmcpYnl0ZXNTZW50IHRvdGFsQnl0ZXNUb0JlU2VudDoodW5zaWduZWQgbG9uZyBsb25nKXRv
dGFsQnl0ZXNUb0JlU2VudDsKKy0gKHZvaWQpcmVzb3VyY2U6KFBsYXRmb3JtTWVkaWFSZXNvdXJj
ZSYpcmVzb3VyY2UgcmVjZWl2ZWRSZXNwb25zZTooY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpcmVz
cG9uc2U7CistICh2b2lkKXJlc291cmNlOihQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmKXJlc291cmNl
IHJlY2VpdmVkRGF0YTooY29uc3QgY2hhciopZGF0YSBsZW5ndGg6KGludClsZW5ndGg7CistICh2
b2lkKXJlc291cmNlOihQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmKXJlc291cmNlIHJlY2VpdmVkUmVk
aXJlY3Q6KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKXJlc3BvbnNlIHJlcXVlc3Q6KFJlc291cmNl
UmVxdWVzdCYpcmVxdWVzdDsKKy0gKHZvaWQpcmVzb3VyY2VGaW5pc2hlZDooUGxhdGZvcm1NZWRp
YVJlc291cmNlJilyZXNvdXJjZTsKIEBlbmQKIAogTlNfQVNTVU1FX05PTk5VTExfRU5ECkBAIC02
Nyw3ICs2Niw3IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAogI3ByYWdtYSBtYXJrIC0gV2ViQ29y
ZU5TVVJMU2Vzc2lvbgogCiBAaW1wbGVtZW50YXRpb24gV2ViQ29yZU5TVVJMU2Vzc2lvbgotLSAo
aWQpaW5pdFdpdGhSZXNvdXJjZUxvYWRlcjooQ2FjaGVkUmVzb3VyY2VMb2FkZXImKWxvYWRlciBk
ZWxlZ2F0ZTooaWQ8TlNVUkxTZXNzaW9uVGFza0RlbGVnYXRlPilpbkRlbGVnYXRlIGRlbGVnYXRl
UXVldWU6KE5TT3BlcmF0aW9uUXVldWUqKWluUXVldWUKKy0gKGlkKWluaXRXaXRoUmVzb3VyY2VM
b2FkZXI6KFBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlciYpbG9hZGVyIGRlbGVnYXRlOihpZDxO
U1VSTFNlc3Npb25UYXNrRGVsZWdhdGU+KWluRGVsZWdhdGUgZGVsZWdhdGVRdWV1ZTooTlNPcGVy
YXRpb25RdWV1ZSopaW5RdWV1ZQogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgaWYg
KCFzZWxmKQpAQCAtMTQ3LDcgKzE0Niw3IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAogfQogCiBA
ZHluYW1pYyBsb2FkZXI7Ci0tIChDYWNoZWRSZXNvdXJjZUxvYWRlciYpbG9hZGVyCistIChQbGF0
Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXImKWxvYWRlcgogewogICAgIHJldHVybiAqX2xvYWRlcjsK
IH0KQEAgLTI4OCw0NCArMjg3LDQ0IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudCA6
IHB1YmxpYyBDYWNoZWRSYXdSZXNvdXJjZUNsaWVudCB7CitjbGFzcyBXZWJDb3JlTlNVUkxTZXNz
aW9uRGF0YVRhc2tDbGllbnQgOiBwdWJsaWMgUGxhdGZvcm1NZWRpYVJlc291cmNlQ2xpZW50IHsK
IHB1YmxpYzoKICAgICBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQoV2ViQ29yZU5T
VVJMU2Vzc2lvbkRhdGFUYXNrICp0YXNrKQogICAgICAgICA6IG1fdGFzayh0YXNrKQogICAgIHsK
ICAgICB9CiAKLSAgICB2b2lkIGRhdGFTZW50KENhY2hlZFJlc291cmNlKiwgdW5zaWduZWQgbG9u
ZyBsb25nLCB1bnNpZ25lZCBsb25nIGxvbmcpIG92ZXJyaWRlOwotICAgIHZvaWQgcmVzcG9uc2VS
ZWNlaXZlZChDYWNoZWRSZXNvdXJjZSosIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlk
ZTsKLSAgICB2b2lkIGRhdGFSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSosIGNvbnN0IGNoYXIqIC8q
IGRhdGEgKi8sIGludCAvKiBsZW5ndGggKi8pIG92ZXJyaWRlOwotICAgIHZvaWQgcmVkaXJlY3RS
ZWNlaXZlZChDYWNoZWRSZXNvdXJjZSosIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmKSBvdmVycmlkZTsKLSAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291
cmNlKikgb3ZlcnJpZGU7CisgICAgdm9pZCByZXNwb25zZVJlY2VpdmVkKFBsYXRmb3JtTWVkaWFS
ZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKKyAgICB2b2lkIHJl
ZGlyZWN0UmVjZWl2ZWQoUGxhdGZvcm1NZWRpYVJlc291cmNlJiwgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRlOworICAgIHZvaWQgZGF0YVNlbnQoUGxh
dGZvcm1NZWRpYVJlc291cmNlJiwgdW5zaWduZWQgbG9uZyBsb25nLCB1bnNpZ25lZCBsb25nIGxv
bmcpIG92ZXJyaWRlOworICAgIHZvaWQgZGF0YVJlY2VpdmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJj
ZSYsIGNvbnN0IGNoYXIqIC8qIGRhdGEgKi8sIGludCAvKiBsZW5ndGggKi8pIG92ZXJyaWRlOwor
ICAgIHZvaWQgbG9hZEZpbmlzaGVkKFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYpIG92ZXJyaWRlOwog
CiBwcml2YXRlOgogICAgIFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzayAqbV90YXNrOwogfTsK
IAotdm9pZCBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ6OmRhdGFTZW50KENhY2hl
ZFJlc291cmNlKiByZXNvdXJjZSwgdW5zaWduZWQgbG9uZyBsb25nIGJ5dGVzU2VudCwgdW5zaWdu
ZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCkKK3ZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lv
bkRhdGFUYXNrQ2xpZW50OjpkYXRhU2VudChQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmIHJlc291cmNl
LCB1bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXNTZW50LCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxC
eXRlc1RvQmVTZW50KQogewogICAgIFttX3Rhc2sgcmVzb3VyY2U6cmVzb3VyY2Ugc2VudEJ5dGVz
OmJ5dGVzU2VudCB0b3RhbEJ5dGVzVG9CZVNlbnQ6dG90YWxCeXRlc1RvQmVTZW50XTsKIH0KIAot
dm9pZCBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ6OnJlc3BvbnNlUmVjZWl2ZWQo
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSkKK3ZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50OjpyZXNwb25zZVJlY2Vp
dmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYgcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlKQogewogICAgIFttX3Rhc2sgcmVzb3VyY2U6cmVzb3VyY2UgcmVjZWl2ZWRS
ZXNwb25zZTpyZXNwb25zZV07CiB9CiAKLXZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNr
Q2xpZW50OjpkYXRhUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBjb25zdCBjaGFy
KiBkYXRhLCBpbnQgbGVuZ3RoKQordm9pZCBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGll
bnQ6OmRhdGFSZWNlaXZlZChQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBj
aGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQogewogICAgIFttX3Rhc2sgcmVzb3VyY2U6cmVzb3VyY2Ug
cmVjZWl2ZWREYXRhOmRhdGEgbGVuZ3RoOmxlbmd0aF07CiB9CiAKLXZvaWQgV2ViQ29yZU5TVVJM
U2Vzc2lvbkRhdGFUYXNrQ2xpZW50OjpyZWRpcmVjdFJlY2VpdmVkKENhY2hlZFJlc291cmNlKiBy
ZXNvdXJjZSwgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSkKK3ZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50OjpyZWRp
cmVjdFJlY2VpdmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYgcmVzb3VyY2UsIFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAgICAg
W21fdGFzayByZXNvdXJjZTpyZXNvdXJjZSByZWNlaXZlZFJlZGlyZWN0OnJlc3BvbnNlIHJlcXVl
c3Q6cmVxdWVzdF07CiB9CiAKLXZvaWQgV2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50
Ojpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCit2b2lkIFdlYkNvcmVO
U1VSTFNlc3Npb25EYXRhVGFza0NsaWVudDo6bG9hZEZpbmlzaGVkKFBsYXRmb3JtTWVkaWFSZXNv
dXJjZSYgcmVzb3VyY2UpCiB7CiAgICAgW21fdGFzayByZXNvdXJjZUZpbmlzaGVkOnJlc291cmNl
XTsKIH0KQEAgLTM0Miw3ICszNDEsNiBAQCB2b2lkIFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFz
a0NsaWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIHNl
bGYuc3RhdGUgPSBOU1VSTFNlc3Npb25UYXNrU3RhdGVTdXNwZW5kZWQ7CiAgICAgc2VsZi5wcmlv
cml0eSA9IE5TVVJMU2Vzc2lvblRhc2tQcmlvcml0eURlZmF1bHQ7CiAgICAgc2VsZi5vcmlnaW5h
bFJlcXVlc3QgPSBzZWxmLmN1cnJlbnRSZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDp1cmxdOwotICAgIF9jbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYkNvcmVOU1VSTFNl
c3Npb25EYXRhVGFza0NsaWVudD4oc2VsZik7CiAKICAgICByZXR1cm4gc2VsZjsKIH0KQEAgLTM1
NCw3ICszNTIsNiBAQCB2b2lkIFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFza0NsaWVudDo6bm90
aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIHNlbGYuc3RhdGUgPSBO
U1VSTFNlc3Npb25UYXNrU3RhdGVTdXNwZW5kZWQ7CiAgICAgc2VsZi5wcmlvcml0eSA9IE5TVVJM
U2Vzc2lvblRhc2tQcmlvcml0eURlZmF1bHQ7CiAgICAgc2VsZi5vcmlnaW5hbFJlcXVlc3QgPSBz
ZWxmLmN1cnJlbnRSZXF1ZXN0ID0gcmVxdWVzdDsKLSAgICBfY2xpZW50ID0gc3RkOjptYWtlX3Vu
aXF1ZTxXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ+KHNlbGYpOwogCiAgICAgcmV0
dXJuIHNlbGY7CiB9CkBAIC0zNzIsMTkgKzM2OSwxNyBAQCB2b2lkIFdlYkNvcmVOU1VSTFNlc3Np
b25EYXRhVGFza0NsaWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNl
KQogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgW3NlbGYgX2NhbmNlbF07CiAKLSAg
ICBfcmVxdWVzdCA9IHN0ZDo6bWFrZV91bmlxdWU8Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0PihzZWxm
Lm9yaWdpbmFsUmVxdWVzdCwgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIERv
Tm90U25pZmZDb250ZW50LCBEb05vdEJ1ZmZlckRhdGEsIERvTm90QWxsb3dTdG9yZWRDcmVkZW50
aWFscywgRG9Ob3RBc2tDbGllbnRGb3JDcm9zc09yaWdpbkNyZWRlbnRpYWxzLCBDbGllbnREaWRO
b3RSZXF1ZXN0Q3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJl
c3RyaWN0aW9uc0ZvclR5cGUsIERvTm90SW5jbHVkZUNlcnRpZmljYXRlSW5mbywgQ29udGVudFNl
Y3VyaXR5UG9saWN5SW1wb3NpdGlvbjo6RG9Qb2xpY3lDaGVjaywgRGVmZXJzTG9hZGluZ1BvbGlj
eTo6QWxsb3dEZWZlcnNMb2FkaW5nLCBDYWNoaW5nUG9saWN5OjpEaXNhbGxvd0NhY2hpbmcpKTsK
LSAgICBfcmVzb3VyY2UgPSBzZWxmLnNlc3Npb24ubG9hZGVyLnJlcXVlc3RSYXdSZXNvdXJjZSgq
X3JlcXVlc3QpOworICAgIF9yZXNvdXJjZSA9IHNlbGYuc2Vzc2lvbi5sb2FkZXIucmVxdWVzdFJl
c291cmNlKHNlbGYub3JpZ2luYWxSZXF1ZXN0LCAwKTsKICAgICBpZiAoX3Jlc291cmNlKQotICAg
ICAgICBfcmVzb3VyY2UtPmFkZENsaWVudChfY2xpZW50LmdldCgpKTsKKyAgICAgICAgX3Jlc291
cmNlLT5zZXRDbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRh
c2tDbGllbnQ+KHNlbGYpKTsKIH0KIAogLSAodm9pZClfY2FuY2VsCiB7CiAgICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsKICAgICBpZiAoX3Jlc291cmNlKSB7Ci0gICAgICAgIGlmIChTdWJyZXNv
dXJjZUxvYWRlciogbG9hZGVyID0gX3Jlc291cmNlLT5sb2FkZXIoKSkKLSAgICAgICAgICAgIGxv
YWRlci0+Y2FuY2VsKFJlc291cmNlRXJyb3IoKSk7Ci0gICAgICAgIF9yZXNvdXJjZS0+cmVtb3Zl
Q2xpZW50KF9jbGllbnQuZ2V0KCkpOworICAgICAgICBfcmVzb3VyY2UtPnN0b3AoKTsKKyAgICAg
ICAgX3Jlc291cmNlLT5zZXRDbGllbnQobnVsbHB0cik7CiAgICAgICAgIF9yZXNvdXJjZSA9IG5p
bDsKICAgICB9CiB9CkBAIC0zOTMsMTQgKzM4OCwxNCBAQCB2b2lkIFdlYkNvcmVOU1VSTFNlc3Np
b25EYXRhVGFza0NsaWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNl
KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgaWYgKF9yZXNvdXJjZSkKLSAg
ICAgICAgW3NlbGYgcmVzb3VyY2VGaW5pc2hlZDpfcmVzb3VyY2UuZ2V0KCldOworICAgICAgICBb
c2VsZiByZXNvdXJjZUZpbmlzaGVkOipfcmVzb3VyY2VdOwogfQogCiAtICh2b2lkKV9zZXREZWZl
cnNMb2FkaW5nOihCT09MKWRlZmVycwogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0g
ICAgaWYgKF9yZXNvdXJjZSAmJiBfcmVzb3VyY2UtPmxvYWRlcigpKQotICAgICAgICBfcmVzb3Vy
Y2UtPmxvYWRlcigpLT5zZXREZWZlcnNMb2FkaW5nKGRlZmVycyk7CisgICAgaWYgKF9yZXNvdXJj
ZSkKKyAgICAgICAgX3Jlc291cmNlLT5zZXREZWZlcnNMb2FkaW5nKGRlZmVycyk7CiB9CiAKICNw
cmFnbWEgbWFyayAtIE5TVVJMU2Vzc2lvbiBBUEkKQEAgLTQ2NCwxOSArNDU5LDE5IEBAIHZvaWQg
V2ViQ29yZU5TVVJMU2Vzc2lvbkRhdGFUYXNrQ2xpZW50Ojpub3RpZnlGaW5pc2hlZChDYWNoZWRS
ZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgcmV0dXJuIEB7IH07CiB9CiAKLSNwcmFnbWEgbWFyayAt
IENhY2hlZFJhd1Jlc291cmNlQ2xpZW50IGNhbGxiYWNrcworI3ByYWdtYSBtYXJrIC0gUGxhdGZv
cm1NZWRpYVJlc291cmNlQ2xpZW50IGNhbGxiYWNrcwogCi0tICh2b2lkKXJlc291cmNlOihDYWNo
ZWRSZXNvdXJjZSopcmVzb3VyY2Ugc2VudEJ5dGVzOih1bnNpZ25lZCBsb25nIGxvbmcpYnl0ZXNT
ZW50IHRvdGFsQnl0ZXNUb0JlU2VudDoodW5zaWduZWQgbG9uZyBsb25nKXRvdGFsQnl0ZXNUb0Jl
U2VudAorLSAodm9pZClyZXNvdXJjZTooUGxhdGZvcm1NZWRpYVJlc291cmNlJilyZXNvdXJjZSBz
ZW50Qnl0ZXM6KHVuc2lnbmVkIGxvbmcgbG9uZylieXRlc1NlbnQgdG90YWxCeXRlc1RvQmVTZW50
Oih1bnNpZ25lZCBsb25nIGxvbmcpdG90YWxCeXRlc1RvQmVTZW50CiB7Ci0gICAgQVNTRVJUX1VO
VVNFRChyZXNvdXJjZSwgcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsKKyAgICBBU1NFUlRfVU5VU0VE
KHJlc291cmNlLCAmcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsKICAgICBVTlVTRURfUEFSQU0oYnl0
ZXNTZW50KTsKICAgICBVTlVTRURfUEFSQU0odG90YWxCeXRlc1RvQmVTZW50KTsKICAgICAvLyBO
by1vcC4KIH0KIAotLSAodm9pZClyZXNvdXJjZTooQ2FjaGVkUmVzb3VyY2UqKXJlc291cmNlIHJl
Y2VpdmVkUmVzcG9uc2U6KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKXJlc3BvbnNlCistICh2b2lk
KXJlc291cmNlOihQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmKXJlc291cmNlIHJlY2VpdmVkUmVzcG9u
c2U6KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKXJlc3BvbnNlCiB7Ci0gICAgQVNTRVJUX1VOVVNF
RChyZXNvdXJjZSwgcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHJl
c291cmNlLCAmcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogICAgIF9yZXNwb25zZSA9IHJlc3BvbnNlLm5zVVJMUmVzcG9uc2UoKTsKICAgICBzZWxm
LmNvdW50T2ZCeXRlc0V4cGVjdGVkVG9SZWNlaXZlID0gcmVzcG9uc2UuZXhwZWN0ZWRDb250ZW50
TGVuZ3RoKCk7CkBAIC01MDUsOSArNTAwLDkgQEAgdm9pZCBXZWJDb3JlTlNVUkxTZXNzaW9uRGF0
YVRhc2tDbGllbnQ6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAg
ICB9XTsKIH0KIAotLSAodm9pZClyZXNvdXJjZTooQ2FjaGVkUmVzb3VyY2UqKXJlc291cmNlIHJl
Y2VpdmVkRGF0YTooY29uc3QgY2hhciopZGF0YSBsZW5ndGg6KGludClsZW5ndGgKKy0gKHZvaWQp
cmVzb3VyY2U6KFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYpcmVzb3VyY2UgcmVjZWl2ZWREYXRhOihj
b25zdCBjaGFyKilkYXRhIGxlbmd0aDooaW50KWxlbmd0aAogewotICAgIEFTU0VSVF9VTlVTRUQo
cmVzb3VyY2UsIHJlc291cmNlID09IF9yZXNvdXJjZSk7CisgICAgQVNTRVJUX1VOVVNFRChyZXNv
dXJjZSwgJnJlc291cmNlID09IF9yZXNvdXJjZSk7CiAgICAgVU5VU0VEX1BBUkFNKGRhdGEpOwog
ICAgIFVOVVNFRF9QQVJBTShsZW5ndGgpOwogICAgIC8vIEZJWE1FOiB0cnkgdG8gYXZvaWQgYSBj
b3B5LCBpZiBwb3NzaWJsZS4KQEAgLTUyMyw5ICs1MTgsOSBAQCB2b2lkIFdlYkNvcmVOU1VSTFNl
c3Npb25EYXRhVGFza0NsaWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291
cmNlKQogICAgIH1dOwogfQogCi0tICh2b2lkKXJlc291cmNlOihDYWNoZWRSZXNvdXJjZSopcmVz
b3VyY2UgcmVjZWl2ZWRSZWRpcmVjdDooY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpcmVzcG9uc2Ug
cmVxdWVzdDooUmVzb3VyY2VSZXF1ZXN0JilyZXF1ZXN0CistICh2b2lkKXJlc291cmNlOihQbGF0
Zm9ybU1lZGlhUmVzb3VyY2UmKXJlc291cmNlIHJlY2VpdmVkUmVkaXJlY3Q6KGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmKXJlc3BvbnNlIHJlcXVlc3Q6KFJlc291cmNlUmVxdWVzdCYpcmVxdWVzdAog
ewotICAgIEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsIHJlc291cmNlID09IF9yZXNvdXJjZSk7Cisg
ICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgJnJlc291cmNlID09IF9yZXNvdXJjZSk7CiAgICAg
VU5VU0VEX1BBUkFNKHJlc3BvbnNlKTsKICAgICBVTlVTRURfUEFSQU0ocmVxdWVzdCk7CiAgICAg
Ly8gRklYTUU6IFRoaXMgY2Fubm90IGN1cnJlbnRseSBiZSBpbXBsZW1lbnRlZCwgYXMgdGhlIGNh
bGxiYWNrIGlzIHN5bmNocm9ub3VzCkBAIC01MzYsOSArNTMxLDkgQEAgdm9pZCBXZWJDb3JlTlNV
UkxTZXNzaW9uRGF0YVRhc2tDbGllbnQ6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiBy
ZXNvdXJjZSkKICAgICAvLyBBUEksIHRoaXMgY2FuIGJlIGltcGxlbWVudGVkLgogfQogCi0tICh2
b2lkKXJlc291cmNlRmluaXNoZWQ6KENhY2hlZFJlc291cmNlKilyZXNvdXJjZQorLSAodm9pZCly
ZXNvdXJjZUZpbmlzaGVkOihQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmKXJlc291cmNlCiB7Ci0gICAg
QVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsKKyAgICBBU1NF
UlRfVU5VU0VEKHJlc291cmNlLCAmcmVzb3VyY2UgPT0gX3Jlc291cmNlKTsKICAgICBzZWxmLnN0
YXRlID0gTlNVUkxTZXNzaW9uVGFza1N0YXRlQ29tcGxldGVkOwogCiAgICAgUmV0YWluUHRyPFdl
YkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzaz4gc3Ryb25nU2VsZiB7IHNlbGYgfTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmNjJiN2ZiZWJiZGVm
YmI2MWViYWQ3ZGZmM2NlYzVkYTljN2Q2YzdhLi5hZGY0ODY2ZmY1MmYyMzY1MjA3ZmEyNzM0NWNk
ZjBhNTUxZWU2MjBmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTYtMDItMTIgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10gQ09SUy1jb21wbGlhbnQgdmlkZW9zIHRocm93
IHNlY3VyaXR5IGVycm9ycyB3aGVuIHBhaW50aW5nIHRvIENhbnZhcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0MTg4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBVc2UgYSBNZWRpYVJlc291cmNlTG9h
ZGVyIGluc3RlYWQgb2YgYSBDYWNoZWRSZXNvdXJjZUxvYWRlciBmb3IgV2ViQ29yZU5TVVJMU2Vz
c2lvbi4KKworICAgICAgICBEcml2ZS1ieSBmaXg6IGdlbmVyYXRlIFVTRSBhbmQgRU5BQkxFIG1h
Y3JvcyBmb3IgVGVzdFdlYktpdEFQSSBieSBhZGRpbmcgRkVBVFVSRV9ERUZJTkVTCisgICAgICAg
IHRvIEdDQ19QUkVQUk9DRVNTT1JfREVGSU5FUy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
Q29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZzoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OldlYkNvcmVOU1VSTFNlc3Npb25UZXN0OjpTZXRVcCk6CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjpXZWJDb3JlTlNVUkxTZXNzaW9uVGVzdDo6VGVhckRvd24pOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6VEVTVF9GKToKKwogMjAxNi0wMi0wOSAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUu
Y29tPgogCiAgICAgICAgIEFYOiBJbXBsZW1lbnQgd29yZCByZWxhdGVkIHRleHQgbWFya2VyIGZ1
bmN0aW9ucyB1c2luZyBUZXh0SXRlcmF0b3IKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29u
ZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCAzYjllMzAwY2Q3ZjFhZmUzMjYyMWE1OGZi
MmI0ZWRjZGU5YzgwM2EwLi5iMDVjZDZiYThjY2UyMGI3NzljMDM1NDVlMjQ1OWI0N2IyZTM2YTEx
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNj
b25maWcKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnCkBAIC0zNiw3ICszNiw3IEBAIEZSQU1FV09SS19TRUFSQ0hfUEFUSFMgPSAkKEZSQU1FV09S
S19TRUFSQ0hfUEFUSFNfJChQTEFURk9STV9OQU1FKSk7CiBGUkFNRVdPUktfU0VBUkNIX1BBVEhT
X21hY29zeCA9ICQoU1lTVEVNX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzL1F1YXJ0ei5mcmFtZXdv
cmsvRnJhbWV3b3JrcyAkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3Jrcy9BcHBsaWNhdGlv
blNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzICQoU1lTVEVNX0xJQlJBUllfRElSKS9GcmFt
ZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3JrczsKIAogR0NDX05PX0NPTU1P
Tl9CTE9DS1MgPSBZRVM7Ci1HQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gJChERUJVR19E
RUZJTkVTKSBHVEVTVF9IQVNfVFIxX1RVUExFPTAgR1RFU1RfSEFTX1JUVEk9MCAkKEdDQ19QUkVQ
Uk9DRVNTT1JfREVGSU5JVElPTlNfJChQTEFURk9STV9OQU1FKSk7CitHQ0NfUFJFUFJPQ0VTU09S
X0RFRklOSVRJT05TID0gJChERUJVR19ERUZJTkVTKSAkKEZFQVRVUkVfREVGSU5FUykgR1RFU1Rf
SEFTX1RSMV9UVVBMRT0wIEdURVNUX0hBU19SVFRJPTAgJChHQ0NfUFJFUFJPQ0VTU09SX0RFRklO
SVRJT05TXyQoUExBVEZPUk1fTkFNRSkpOwogR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OU19t
YWNvc3ggPSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ7CiBERUJVR19JTkZPUk1BVElPTl9GT1JN
QVQgPSBkd2FyZi13aXRoLWRzeW07CiBQUkVCSU5ESU5HID0gTk8KZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0KaW5k
ZXggZWY2YzM0OGFmODc1N2Q3MDZkYWU2YTNjNDY4MjBmMGJiY2JhMDQyMy4uNGE5OGYxZDM4OWNh
ZGI4NTNlZTUwMWE1NWY3OWEyN2VhZmExYzExNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0KQEAgLTM2LDYg
KzM2LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGFnZUNvbmZpZ3VyYXRpb24uaD4KICNpbXBvcnQg
PFdlYkNvcmUvRG9jdW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvTWVkaWFSZXNvdXJjZUxvYWRlci5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9TZXR0aW5ncy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TdWJyZXNvdXJjZUxvYWRlci5oPgogI2lt
cG9ydCA8V2ViQ29yZS9XZWJDb3JlTlNVUkxTZXNzaW9uLmg+CkBAIC0xMDYsNiArMTA3LDcgQEAg
cHVibGljOgogICAgIFdlYlZpZXcgKnZpZXcgeyBuaWwgfTsKICAgICBGcmFtZSogZnJhbWUgeyBu
dWxscHRyIH07CiAgICAgVGVzdE5TVVJMU2Vzc2lvbkRhdGFEZWxlZ2F0ZSAqZGVsZWdhdGUgeyBu
aWwgfTsKKyAgICBSZWZQdHI8TWVkaWFSZXNvdXJjZUxvYWRlcj4gbG9hZGVyOwogCiAgICAgdmly
dHVhbCB2b2lkIFNldFVwKCkKICAgICB7CkBAIC0xMjEsMTggKzEyMywyMCBAQCBwdWJsaWM6CiAK
ICAgICAgICAgZGVsZWdhdGUgPSBbW1Rlc3ROU1VSTFNlc3Npb25EYXRhRGVsZWdhdGUgYWxsb2Nd
IGluaXRdOwogICAgICAgICBmcmFtZSA9IFt2aWV3IF9tYWluQ29yZUZyYW1lXTsKKyAgICAgICAg
bG9hZGVyID0gYWRvcHRSZWYobmV3IE1lZGlhUmVzb3VyY2VMb2FkZXIoKmZyYW1lLT5kb2N1bWVu
dCgpLCBlbXB0eVN0cmluZygpKSk7CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIFRlYXJEb3du
KCkKICAgICB7CiAgICAgICAgIFt2aWV3IHJlbGVhc2VdOwogICAgICAgICBbZGVsZWdhdGUgcmVs
ZWFzZV07CisgICAgICAgIGxvYWRlciA9IG51bGxwdHI7CiAgICAgfQogfTsKIAogVEVTVF9GKFdl
YkNvcmVOU1VSTFNlc3Npb25UZXN0LCBCYXNpY09wZXJhdGlvbikKIHsKLSAgICBXZWJDb3JlTlNV
UkxTZXNzaW9uKiBzZXNzaW9uID0gW1tXZWJDb3JlTlNVUkxTZXNzaW9uIGFsbG9jXSBpbml0V2l0
aFJlc291cmNlTG9hZGVyOmZyYW1lLT5kb2N1bWVudCgpLT5sb2FkZXIoKS0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKSBkZWxlZ2F0ZTpkZWxlZ2F0ZSBkZWxlZ2F0ZVF1ZXVlOltOU09wZXJhdGlvblF1
ZXVlIG1haW5RdWV1ZV1dOworICAgIFdlYkNvcmVOU1VSTFNlc3Npb24qIHNlc3Npb24gPSBbW1dl
YkNvcmVOU1VSTFNlc3Npb24gYWxsb2NdIGluaXRXaXRoUmVzb3VyY2VMb2FkZXI6KmxvYWRlciBk
ZWxlZ2F0ZTpkZWxlZ2F0ZSBkZWxlZ2F0ZVF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIG1haW5RdWV1
ZV1dOwogICAgIGRpZFJlY2lldmVSZXNwb25zZSA9IGZhbHNlOwogICAgIGRpZFJlY2lldmVEYXRh
ID0gZmFsc2U7CiAgICAgZGlkQ29tcGxldGUgPSBmYWxzZTsKQEAgLTE1Nyw3ICsxNjEsNyBAQCBU
RVNUX0YoV2ViQ29yZU5TVVJMU2Vzc2lvblRlc3QsIEJhc2ljT3BlcmF0aW9uKQogCiBURVNUX0Yo
V2ViQ29yZU5TVVJMU2Vzc2lvblRlc3QsIEludmFsaWRhdGVFbXB0eSkKIHsKLSAgICBXZWJDb3Jl
TlNVUkxTZXNzaW9uKiBzZXNzaW9uID0gW1tXZWJDb3JlTlNVUkxTZXNzaW9uIGFsbG9jXSBpbml0
V2l0aFJlc291cmNlTG9hZGVyOmZyYW1lLT5kb2N1bWVudCgpLT5sb2FkZXIoKS0+Y2FjaGVkUmVz
b3VyY2VMb2FkZXIoKSBkZWxlZ2F0ZTpkZWxlZ2F0ZSBkZWxlZ2F0ZVF1ZXVlOltOU09wZXJhdGlv
blF1ZXVlIG1haW5RdWV1ZV1dOworICAgIFdlYkNvcmVOU1VSTFNlc3Npb24qIHNlc3Npb24gPSBb
W1dlYkNvcmVOU1VSTFNlc3Npb24gYWxsb2NdIGluaXRXaXRoUmVzb3VyY2VMb2FkZXI6KmxvYWRl
ciBkZWxlZ2F0ZTpkZWxlZ2F0ZSBkZWxlZ2F0ZVF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIG1haW5R
dWV1ZV1dOwogICAgIGRpZEludmFsaWRhdGUgPSBmYWxzZTsKICAgICBbc2Vzc2lvbiBmaW5pc2hU
YXNrc0FuZEludmFsaWRhdGVdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkSW52
YWxpZGF0ZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>