<?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>136467</bug_id>
          
          <creation_ts>2014-09-02 15:27:05 -0700</creation_ts>
          <short_desc>[iOS] Support using Foundation networking code</short_desc>
          <delta_ts>2014-09-02 17:59:18 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>japhet</cc>
    
    <cc>mjs</cc>
    
    <cc>psolanki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1032756</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-02 15:27:05 -0700</bug_when>
    <thetext>We should support building iOS WebKit with the Foundation networking code in addition to the current CFNetwork code. For now, we should also disable USE(CFNETWORK) when building iOS WebKit with the public iOS SDK so as to expedite its bring up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032762</commentid>
    <comment_count>1</comment_count>
      <attachid>237522</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-02 15:34:52 -0700</bug_when>
    <thetext>Created attachment 237522
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032764</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-02 15:37:49 -0700</bug_when>
    <thetext>Attachment 237522 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/cf/CFNetworkConnectionCacheSPI.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032768</commentid>
    <comment_count>3</comment_count>
      <attachid>237522</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-09-02 15:48:11 -0700</bug_when>
    <thetext>Comment on attachment 237522
Patch

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

I think I would prefer the platform name come first e.g.

    #if PLATFORM(IOS) &amp;&amp; !USE(CFNETWORK) 

instead of

    #if !USE(CFNETWORK) &amp;&amp; PLATFORM(IOS)

Seems easier to read for me. But what you have is fine as well if that is what we use in other code.

&gt; Source/WebCore/loader/ResourceLoader.cpp:583
&gt; +#if USE(CF_NETWORK) &amp;&amp; PLATFORM(IOS)

This should be USE(CFNETWORK)

&gt; Source/WebCore/platform/network/mac/ResourceErrorMac.mm:38
&gt;  #import &lt;Foundation/NSURLError.h&gt;

Not part of your patch, but I don&apos;t think we need this include anymore. Foundation.h seems to include NSURLError.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032794</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-02 16:57:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 237522 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=237522&amp;action=review
&gt; 
&gt; I think I would prefer the platform name come first e.g.
&gt; 
&gt;     #if PLATFORM(IOS) &amp;&amp; !USE(CFNETWORK) 
&gt; 
&gt; instead of
&gt; 
&gt;     #if !USE(CFNETWORK) &amp;&amp; PLATFORM(IOS)
&gt; 
&gt; Seems easier to read for me. But what you have is fine as well if that is what we use in other code.
&gt; 

Will update the patch such that we query PLATFORM(IOS) before USE(CFNETWORK).

&gt; &gt; Source/WebCore/loader/ResourceLoader.cpp:583
&gt; &gt; +#if USE(CF_NETWORK) &amp;&amp; PLATFORM(IOS)
&gt; 
&gt; This should be USE(CFNETWORK)
&gt; 

Notice that ResourceLoader.cpp is compiled in a Windows build by &lt;http://trac.webkit.org/export/173191/trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj&gt;. Also ResourceHandleMac.mm and ResourceHandleCFNet.cpp both call ResourceHandleClient::connectionProperties() and ResourceLoader::connectionProperties()  overrides ResourceHandleClient::connectionProperties(). So, this macro guard should read:

#if PLATFORM(IOS)

&gt; &gt; Source/WebCore/platform/network/mac/ResourceErrorMac.mm:38
&gt; &gt;  #import &lt;Foundation/NSURLError.h&gt;
&gt; 
&gt; Not part of your patch, but I don&apos;t think we need this include anymore. Foundation.h seems to include NSURLError.h.

Will remove header &lt;Foundation/NSURLError.h&gt; before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032797</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-02 17:14:24 -0700</bug_when>
    <thetext>Committed r173192: &lt;http://trac.webkit.org/changeset/173192&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032805</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-02 17:59:18 -0700</bug_when>
    <thetext>Committed Windows build fix in &lt;http://trac.webkit.org/changeset/173196&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237522</attachid>
            <date>2014-09-02 15:34:52 -0700</date>
            <delta_ts>2014-09-02 15:48:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136467-20140902153445.patch</filename>
            <type>text/plain</type>
            <size>26284</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczMTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGVhZjdmMGY4MjgzMTk0YjU5OTQzMDA4
ZjRkOGMxODY5ZWFjNmVlOWMuLjE3NmFhMjNlMzhlNTliNmIwMzFkM2IzMGJmY2E5YWJhMGUzYzY4
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTQtMDktMDIgIERhbmllbCBCYXRlcyAgPGRhYmF0
ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFN1cHBvcnQgdXNpbmcgRm91bmRhdGlvbiBu
ZXR3b3JraW5nIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzNjQ2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIERpc2FibGUgVVNFKENGTkVUV09SSykgYW5kIHVzZSB0aGUgRm91bmRhdGlvbiBuZXR3
b3JraW5nIGNvZGUgYnkgZGVmYXVsdCB3aGVuIGJ1aWxkaW5nCisgICAgICAgIGlPUyBXZWJLaXQg
d2l0aG91dCB0aGUgQXBwbGUgSW50ZXJuYWwgU0RLLgorCisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6CisKIDIwMTQtMDgtMjYgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVc2UgUmV0YWluUHRyOjphdXRvcmVsZWFzZSBpbiBzb21lIHBsYWNlcyB3aGVyZSBp
dCBzZWVtcyBhcHByb3ByaWF0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDFmYzlkOTUzNmJlNDhkZDM2NDViNjY4
ZjM1YTc2YjExNzg1MGUwMmUuLjk4MDEwODg5YTExYzc1YzYyMGZjYjkyNDkwYTcxMWJiYTkwNjk0
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAxNC0wOS0wMiAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gU3VwcG9ydCB1c2luZyBGb3Vu
ZGF0aW9uIG5ldHdvcmtpbmcgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM2NDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2Ugc2hvdWxkIHN1cHBvcnQgYnVpbGRpbmcgaU9TIFdlYktpdCB3aXRo
IHRoZSBGb3VuZGF0aW9uIG5ldHdvcmtpbmcgY29kZQorICAgICAgICAoaS5lLiAhVVNFKENGTkVU
V09SSykpLgorCisgICAgICAgIEFkZGl0aW9uYWxseSwgZGlzYWJsZSBVU0UoQ0ZORVRXT1JLKSBh
bmQgdXNlIHRoZSBGb3VuZGF0aW9uIG5ldHdvcmtpbmcgY29kZQorICAgICAgICBieSBkZWZhdWx0
IHdoZW4gYnVpbGRpbmcgaU9TIFdlYktpdCB3aXRob3V0IHRoZSBBcHBsZSBJbnRlcm5hbCBTREsu
CisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogQWRkIHN5bWJvbHMgZm9yIFdlYkNvcmU6OnN5
bnRoZXNpemVSZWRpcmVjdFJlc3BvbnNlSWZOZWNlc3NhcnkoKSBhbmQgV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGVDbGllbnQ6OndpbGxDYWNoZVJlc3BvbnNlQXN5bmMoKS4KKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZCBuZXcgZmlsZXMgQ0ZOZXR3b3JrQ29u
bmVjdGlvbkNhY2hlU1BJLmggYW5kIENGVVJMUmVxdWVzdFNQSS5oLgorICAgICAgICBBbHNvIG1v
dmUgZ3JvdXAgcGxhdGZvcm0vc3BpIHN1Y2ggdGhhdCBpdCBhcHBlYXJzIGluIGFscGhhYmV0aWNh
bCBvcmRlciBpbiB0aGUgcGxhdGZvcm0gZ3JvdXAuCisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
TG9hZGVyLmNwcDogQWRkIFVTRShDRk5FVFdPUkspLWd1YXJkIGFyb3VuZCBSZXNvdXJjZUxvYWRl
cjo6Y29ubmVjdGlvblByb3BlcnRpZXMoKS4KKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2Fk
ZXIuaDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vY2YvVVJMQ0YuY3BwOiBSZW1vdmUgdW5u
ZWNlc3NhcnkgaGVhZGVyIDxDb3JlRm91bmRhdGlvbi9DRlByaXYuaD4uIAorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaDogRGVjbGFyZSBpT1Mtc3BlY2lmaWMgdmFy
aWFudCBvZiBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlTlNVUkxDb25uZWN0aW9uKCkuCisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUNsaWVudC5oOiAKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlSGFuZGxlQ2xpZW50Ojpjb25uZWN0aW9uUHJvcGVydGllcyk6IE1vdmUg
ZGVjbGFyYXRpb24gb2YgUmVzb3VyY2VIYW5kbGVDbGllbnQ6OmNvbm5lY3Rpb25Qcm9wZXJ0aWVz
KCkKKyAgICAgICAgc3VjaCB0aGF0IHdlIGRlY2xhcmUgaXQgd2hlbiBidWlsZGluZyB3aXRoIGVp
dGhlciBVU0UoQ0ZORVRXT1JLKSBvciBQTEFURk9STShJT1MpLgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwOiBTdWJzdGl0dXRlIGhlYWRlciBD
Rk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCBmb3IKKyAgICAgICAgPENGTmV0d29yay9DRk5l
dHdvcmtDb25uZWN0aW9uQ2FjaGVQcml2Lmg+LgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
bWFjL0NyZWRlbnRpYWxTdG9yYWdlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6Q3JlZGVudGlh
bFN0b3JhZ2U6OnNhdmVUb1BlcnNpc3RlbnRTdG9yYWdlKTogVXNlIENyZWRlbnRpYWw6Om5zQ3Jl
ZGVudGlhbCgpIGFuZCBQcm90ZWN0aW9uU3BhY2U6Om5zU3BhY2UoKQorICAgICAgICBpbnN0ZWFk
IG9mIFdlYkNvcmU6Om1hYyhjb25zdCB7Q3JlZGVudGlhbCwgUHJvdGVjdGlvblNwYWNlfSYpIGFz
IHRoZSBsYXR0ZXIgd2VyZSByZW1vdmVkIGluIDxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5n
ZXNldC8xNzE4MDE+CisgICAgICAgIGFuZCA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvMTcxNTQwPiwgcmVzcGVjdGl2ZWx5LgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFj
L1Jlc291cmNlRXJyb3JNYWMubW06IEFkZCBVU0UoQ0ZORVRXT1JLKS1ndWFyZCBhcm91bmQgPENG
TmV0d29yay9DRlNvY2tldFN0cmVhbVByaXYuaD4uCisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW06IFN1YnN0aXR1dGUgaGVhZGVyIENGVVJMUmVxdWVz
dFNQSS5oIGZvciA8Q0ZOZXR3b3JrL0NGVVJMUmVxdWVzdC5oPi4KKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlSGFuZGxlOjpzdGFydCk6IE1vZGlmaWVkIHRvIHVzZSBSZXNvdXJjZUhhbmRsZTo6
bWFrZURlbGVnYXRlKCkgaW5zdGVhZCBvZiBkLT5tX3Byb3h5LCB3aGljaCAKKyAgICAgICAgd2Fz
IHJlbW92ZWQgaW4gPGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE0NzQ3Nj4uCisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29y
ZVVSTFJlc3BvbnNlLm1tOgorICAgICAgICAoV2ViQ29yZTo6c3ludGhlc2l6ZVJlZGlyZWN0UmVz
cG9uc2VJZk5lY2Vzc2FyeSk6IEFkZCAhVVNFKENGTkVUV09SSyktIGFuZCBQTEFURk9STShJT1Mp
LSBndWFyZHMuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NmL0NGTmV0d29ya0Nvbm5lY3Rpb25D
YWNoZVNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2YvQ0ZVUkxSZXF1ZXN0
U1BJLmg6IEFkZGVkLgorCiAyMDE0LTA5LTAyICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVA
d2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTczMTc1Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtLmgKaW5kZXggMzUzOTk4MmU3NjQwNWNhYWZlOGRlNDA1OTlkMTYyN2EwM2EwMDhhYy4u
YmQzZmQ1ZGZmZTdlMTgwYjEyY2U5YWRhYTk5N2I3MTdjMDJkMWM2MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBA
IC01MDgsNyArNTA4LDkgQEAKIAogI2RlZmluZSBET05UX0ZJTkFMSVpFX09OX01BSU5fVEhSRUFE
IDEKICNkZWZpbmUgSEFWRV9SRUFETElORSAxCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
ICNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQorI2VuZGlmCiAjZGVmaW5lIFdURl9VU0VfVUlL
SVRfRURJVElORyAxCiAjZGVmaW5lIFdURl9VU0VfV0VCX1RIUkVBRCAxCiAjZGVmaW5lIFdURl9V
U0VfUVVJQ0tfTE9PSyAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
biBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDRkMTA0ODVmNGM5NDAyY2U5
ODhmYTY0MDc5OGFmMzU2MWEyNDE4NGEuLjk5MTIyNzhmYjA3MWIyMTYyYmZiYzMxZjM5ZWU3OTg2
ZDM2YTkxZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xMDY5LDYgKzEwNjksNyBAQCBfX1pO
N1dlYkNvcmUzM3N0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlc0VSS04zV1RGNlN0cmlu
Z0UKIF9fWk43V2ViQ29yZTM2c3RhbmRhcmRVc2VyQWdlbnRXaXRoQXBwbGljYXRpb25OYW1lRVJL
TjNXVEY2U3RyaW5nRVMzXwogX19aTjdXZWJDb3JlMzdXaWRnZXRIaWVyYXJjaHlVcGRhdGVzU3Vz
cGVuc2lvblNjb3BlMTFtb3ZlV2lkZ2V0c0V2CiBfX1pON1dlYkNvcmUzN1dpZGdldEhpZXJhcmNo
eVVwZGF0ZXNTdXNwZW5zaW9uU2NvcGUzNXNfd2lkZ2V0SGllcmFyY2h5VXBkYXRlU3VzcGVuZENv
dW50RQorX19aTjdXZWJDb3JlMzdzeW50aGVzaXplUmVkaXJlY3RSZXNwb25zZUlmTmVjZXNzYXJ5
RVAxNU5TVVJMQ29ubmVjdGlvblAxMk5TVVJMUmVxdWVzdFAxM05TVVJMUmVzcG9uc2UKIF9fWk43
V2ViQ29yZTNVUkwxMGludmFsaWRhdGVFdgogX19aTjdXZWJDb3JlM1VSTDExc2V0UHJvdG9jb2xF
UktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUzVVJMN3NldFBhdGhFUktOM1dURjZTdHJpbmdF
CkBAIC0yNjM4LDcgKzI2MzksNiBAQCBfX1pON1dlYkNvcmUxOVJlc291cmNlUmVxdWVzdEJhc2Uy
MnNldERlZmF1bHRBbGxvd0Nvb2tpZXNFYgogX19aTjdXZWJDb3JlMTlhcHBsaWNhdGlvbklzV2Vi
QXBwRXYKIF9fWk43V2ViQ29yZTE5YXNjaWlMaW5lQnJlYWtUYWJsZUUKIF9fWk43V2ViQ29yZTIw
UGxhdGZvcm1FdmVudEZhY3RvcnkyN2NyZWF0ZVBsYXRmb3JtS2V5Ym9hcmRFdmVudEVQOFdlYkV2
ZW50Ci1fX1pON1dlYkNvcmUyMFJlc291cmNlSGFuZGxlQ2xpZW50MjJ3aWxsQ2FjaGVSZXNwb25z
ZUFzeW5jRVBOU18xNFJlc291cmNlSGFuZGxlRVBLMjBfQ0ZDYWNoZWRVUkxSZXNwb25zZQogX19a
TjdXZWJDb3JlMjBhcHBsaWNhdGlvbklzT2tDdXBpZEV2CiBfX1pON1dlYkNvcmUyMGVuZE9mRWRp
dGFibGVDb250ZW50RVJLTlNfMTVWaXNpYmxlUG9zaXRpb25FCiBfX1pON1dlYkNvcmUyMGxhc3RP
ZmZzZXRGb3JFZGl0aW5nRVBLTlNfNE5vZGVFCkBAIC0yODI3LDYgKzI4MjcsMTAgQEAgX3drSXNH
QjE4MDMwQ29tcGxpYW5jZVJlcXVpcmVkCiBfd2tTZXRMYXllckNvbnRlbnRzU2NhbGUKICNlbmRp
ZgogCisjaWYgUExBVEZPUk0oSU9TKSAmJiBVU0UoQ0ZORVRXT1JLKQorX19aTjdXZWJDb3JlMjBS
ZXNvdXJjZUhhbmRsZUNsaWVudDIyd2lsbENhY2hlUmVzcG9uc2VBc3luY0VQTlNfMTRSZXNvdXJj
ZUhhbmRsZUVQSzIwX0NGQ2FjaGVkVVJMUmVzcG9uc2UKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0o
SU9TKSAmJiBkZWZpbmVkKF9fTFA2NF9fKSAmJiBfX0xQNjRfXwogX19aTjdXZWJDb3JlMjhjcmVh
dGVDR0NvbG9yV2l0aERldmljZVdoaXRlRWRkCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3NzNmM2YzMzAwYmRmM2Zm
OGQ0MjMwN2NkMDI2ODUyODhiZjUzYWY1Li42YWMwYjQ5ZGMxMTNlNjFkMjFiNTEzNDIyOWEyZTAw
ODhmNzVlMTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC01NzM2LDYgKzU3MzYsOCBAQAogCQlDRTdCMkRCNDE1ODZBQkFEMDA5
OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U3QjJEQjAxNTg2QUJBRDAwOThCM0ZBIC8q
IEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSAqLzsgfTsKIAkJQ0U3QjJEQjUxNTg2QUJB
RDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U3QjJEQjExNTg2QUJBRDAwOThCM0ZBIC8q
IFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUNFN0IyREI2MTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0
ZXJuYXRpdmVXaXRoUmFuZ2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRTdCMkRCMjE1ODZBQkFEMDA5OEIzRkEgLyogVGV4dEFsdGVybmF0aXZlV2l0
aFJhbmdlLm1tICovOyB9OworCQlDRTgyNDVGMDE5QjY3MUJBMDBBQzAxMjIgLyogQ0ZOZXR3b3Jr
Q29ubmVjdGlvbkNhY2hlU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRTgyNDVFRjE5QjY3MUJBMDBBQzAxMjIgLyogQ0ZOZXR3b3JrQ29ubmVjdGlv
bkNhY2hlU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJQ0U4MjQ1RjIxOUI2NzFENTAwQUMwMTIyIC8qIENGVVJMUmVxdWVzdFNQSS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U4MjQ1RjExOUI2NzFE
NTAwQUMwMTIyIC8qIENGVVJMUmVxdWVzdFNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNFOTUyMDhBMTgxMUI0NzUwMDdBNTM5MiAvKiBXZWJT
YWZlSW5jcmVtZW50YWxTd2VlcGVySU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMkM0Q0IxRDE2MUExMzEyMDBEMjE0REEgLyogV2ViU2FmZUluY3Jl
bWVudGFsU3dlZXBlcklPUy5oICovOyB9OwogCQlDRUNBREZDNjE1Mzc3OEZGMDBFMzcwNjggLyog
RGljdGF0aW9uQWx0ZXJuYXRpdmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0VDQURGQzIxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkFsdGVy
bmF0aXZlLmNwcCAqLzsgfTsKIAkJQ0VDQURGQzcxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlv
bkFsdGVybmF0aXZlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRUNBREZDMzE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQWx0ZXJuYXRpdmUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTMxOTgs
NiArMTMyMDAsOCBAQAogCQlDRTdCMkRCMDE1ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVU
ZXh0VUlDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1l
ID0gQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tOyBwYXRoID0gbWFjL0FsdGVybmF0aXZl
VGV4dFVJQ29udHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U3QjJE
QjExNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaDsgcGF0
aCA9IG1hYy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0U3QjJEQjIxNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhS
YW5nZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFRleHRBbHRl
cm5hdGl2ZVdpdGhSYW5nZS5tbTsgcGF0aCA9IG1hYy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2Uu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFODI0NUVGMTlCNjcxQkEwMEFDMDEy
MiAvKiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNFODI0NUYxMTlCNjcxRDUwMEFDMDEyMiAvKiBDRlVSTFJlcXVlc3RT
UEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZVUkxSZXF1ZXN0U1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFQ0FERkMyMTUzNzc4RkYwMEUzNzA2OCAv
KiBEaWN0YXRpb25BbHRlcm5hdGl2ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBEaWN0YXRpb25BbHRlcm5hdGl2ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNFQ0FERkMzMTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25BbHRlcm5hdGl2ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaWN0YXRpb25BbHRlcm5hdGl2ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRUNBREZDNDE1Mzc3OEZGMDBFMzcwNjgg
LyogRGljdGF0aW9uQ29tbWFuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBEaWN0YXRpb25Db21tYW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE2MTQwLDYgKzE2MTQ0LDggQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
CiAJCQkJNjUwODZEQTcxOUFDMTcxOTAwOUFGNDZCIC8qIENGTG9jYWxlU1BJLmggKi8sCisJCQkJ
Q0U4MjQ1RUYxOUI2NzFCQTAwQUMwMTIyIC8qIENGTmV0d29ya0Nvbm5lY3Rpb25DYWNoZVNQSS5o
ICovLAorCQkJCUNFODI0NUYxMTlCNjcxRDUwMEFDMDEyMiAvKiBDRlVSTFJlcXVlc3RTUEkuaCAq
LywKIAkJCSk7CiAJCQlwYXRoID0gY2Y7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAt
MjEyMzMsOCArMjEyMzksOCBAQAogCQkJCTU5Qzc3RjEwMTA1NDU5MUMwMDUwNjEwNCAvKiBtb2Nr
ICovLAogCQkJCTY1NkI4NEQ3MEFFQTFDRTkwMEEwOTVCNCAvKiBuZXR3b3JrICovLAogCQkJCTUx
NjAzMDA5MENDNDI0NTQwMEM4QUMyNSAvKiBwb3NpeCAqLywKLQkJCQkxQTJFNkU1NjBDQzU1MUUw
MDA0QTIwNjIgLyogc3FsICovLAogCQkJCTY1M0VGODM2MTlBMDQzQUUwMDUyMjAyQyAvKiBzcGkg
Ki8sCisJCQkJMUEyRTZFNTYwQ0M1NTFFMDAwNEEyMDYyIC8qIHNxbCAqLywKIAkJCQlCMkMzRDlF
QzBEMDA2QzFEMDBFRjZGMjYgLyogdGV4dCAqLywKIAkJCQk0OUFFMkQ5NDEzNEVFNUY5MDA3Mjky
MEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5jcHAgKi8sCiAJCQkJNDlBRTJEOTUxMzRFRTVGOTAwNzI5
MjBBIC8qIENhbGN1bGF0aW9uVmFsdWUuaCAqLywKQEAgLTIzNDM0LDcgKzIzNDQwLDkgQEAKIAkJ
CQk2NTUwQjY5RTA5OURGMDI3MDA5MEQ3ODEgLyogQ0RBVEFTZWN0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDRERENTcxNTE4QjU3QTgyMDBBOTRGQ0IgLyogQ0RNU2Vzc2lvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJEIC8qIENlcnRpZmljYXRlSW5mby5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQ0U4MjQ1RjAxOUI2NzFCQTAwQUMwMTIyIC8qIENGTmV0d29y
a0Nvbm5lY3Rpb25DYWNoZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBOEU1NjcxNzU1MkIy
QTAwNzQ4OEU3IC8qIENGVVJMRXh0cmFzLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTgyNDVGMjE5
QjY3MUQ1MDBBQzAxMjIgLyogQ0ZVUkxSZXF1ZXN0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlG
RTM2RkQxNTE2Qzc4MjY1MDBGODg3QzEgLyogQ2hhbmdlVmVyc2lvbkRhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTk3QkM2OUREMTUwNUYwNzYwMDFCNzRBQyAvKiBDaGFuZ2VWZXJzaW9uV3JhcHBl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTVGRkYxMkIwMjY3NjAwQzFBMzU5IC8qIENoYW5u
ZWxNZXJnZXJOb2RlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3Vy
Y2VMb2FkZXIuY3BwCmluZGV4IDdhYTRkODcxNzFkOTc1ODllZGM1YTgyMGFiOTBhMzhhODU3NTA0
YmYuLmFkZjg2NGEzOWNlMjg2ODU4M2FiM2U0NjJjZjI5YzM4MTMzM2UyNmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNTgwLDggKzU4MCw3IEBAIGJvb2wg
UmVzb3VyY2VMb2FkZXI6OmNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoY29u
c3QgUHJvdGVjdGlvblNwYWNlCiAKICNlbmRpZgogICAgIAotI2lmIFBMQVRGT1JNKElPUykKLQor
I2lmIFVTRShDRl9ORVRXT1JLKSAmJiBQTEFURk9STShJT1MpCiBSZXRhaW5QdHI8Q0ZEaWN0aW9u
YXJ5UmVmPiBSZXNvdXJjZUxvYWRlcjo6Y29ubmVjdGlvblByb3BlcnRpZXMoUmVzb3VyY2VIYW5k
bGUqKQogewogICAgIHJldHVybiBmcmFtZUxvYWRlcigpLT5jb25uZWN0aW9uUHJvcGVydGllcyh0
aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5o
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKaW5kZXggMmJmNzUzNzhm
NTQzNGI5MzQ3NWU5NjJmZjM2NjhkMmI5MzFiMmFlNi4uN2E1NTRiMjhhN2YwN2UyZjU2ZjY3OGM0
ZjE2ZGE2YzRmZTU1ZGY3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgK
QEAgLTE5MiwxMyArMTkyLDE1IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGNhbkF1dGhl
bnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBQcm90
ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSkgb3ZlcnJpZGUgeyByZXR1cm4gY2FuQXV0aGVu
dGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShwcm90ZWN0aW9uU3BhY2UpOyB9CiAjZW5kaWYK
ICAgICB2aXJ0dWFsIHZvaWQgcmVjZWl2ZWRDYW5jZWxsYXRpb24oUmVzb3VyY2VIYW5kbGUqLCBj
b25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlKSBvdmVycmlkZSB7IHJlY2Vp
dmVkQ2FuY2VsbGF0aW9uKGNoYWxsZW5nZSk7IH0KKyNpZiBVU0UoQ0ZORVRXT1JLKQogI2lmIFBM
QVRGT1JNKElPUykKICAgICB2aXJ0dWFsIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IGNvbm5l
Y3Rpb25Qcm9wZXJ0aWVzKFJlc291cmNlSGFuZGxlKikgb3ZlcnJpZGU7CiAjZW5kaWYKLSNpZiBQ
TEFURk9STShXSU4pICYmIFVTRShDRk5FVFdPUkspCisjaWYgUExBVEZPUk0oV0lOKQogICAgIC8v
IEZJWE1FOiBXaW5kb3dzIHNob3VsZCB1c2Ugd2lsbENhY2hlUmVzcG9uc2UgLSA8aHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3MjU3Pi4KICAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkQ2FjaGVSZXNwb25zZShSZXNvdXJjZUhhbmRsZSosIENGQ2FjaGVkVVJMUmVzcG9uc2VS
ZWYpIG92ZXJyaWRlOwogI2VuZGlmCisjZW5kaWYKIAogICAgIFJlc291cmNlUmVxdWVzdCBtX3Jl
cXVlc3Q7CiAgICAgUmVzb3VyY2VSZXF1ZXN0IG1fb3JpZ2luYWxSZXF1ZXN0OyAvLyBCZWZvcmUg
cmVkaXJlY3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvVVJMQ0Yu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvVVJMQ0YuY3BwCmluZGV4IDViMDRhZjU3
NzM0ODVkYjZmMTg2ODExNjIwMGY4ZTIwZmRhMDdkZWQuLmExZmFlYTVlY2U3YjkzMDVkNmZiNTI3
OTg3Njc1N2M5YTY5ZTdmNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nm
L1VSTENGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9VUkxDRi5jcHAKQEAg
LTMyLDcgKzMyLDYgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKICNpbmNsdWRlICJSdW50aW1lQXBw
bGljYXRpb25DaGVja3NJT1MuaCIKLSNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9DRlByaXYuaD4K
ICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKaW5kZXggMGVlZGU4NWVmYTk1MzUyMTAzZWUx
MDIwYjNiZTZmNjJkMDg5OTk1ZC4uNzQ5NjhmOWI0MTFlN2VkMWJhOGNlZmI2ZWFkZTgzOTgyNDY0
YTUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGUuaApAQCAtMjkwLDEwICsyOTAsMTQgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZUNG
VVJMQ29ubmVjdGlvbihib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3Vs
ZENvbnRlbnRTbmlmZiwgU2NoZWR1bGluZ0JlaGF2aW9yLCBDRkRpY3Rpb25hcnlSZWYgY2xpZW50
UHJvcGVydGllcyk7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKENGTkVU
V09SSykKKyNpZiAhVVNFKENGTkVUV09SSykgJiYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgY3Jl
YXRlTlNVUkxDb25uZWN0aW9uKGlkIGRlbGVnYXRlLCBib29sIHNob3VsZFVzZUNyZWRlbnRpYWxT
dG9yYWdlLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgU2NoZWR1bGluZ0JlaGF2aW9yKTsKICNl
bmRpZgogCisjaWYgIVVTRShDRk5FVFdPUkspICYmIFBMQVRGT1JNKElPUykKKyAgICB2b2lkIGNy
ZWF0ZU5TVVJMQ29ubmVjdGlvbihpZCBkZWxlZ2F0ZSwgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFs
U3RvcmFnZSwgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIFNjaGVkdWxpbmdCZWhhdmlvciwgTlNE
aWN0aW9uYXJ5ICpjb25uZWN0aW9uUHJvcGVydGllcyk7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JN
KENPQ09BKSAmJiBFTkFCTEUoV0VCX1RJTUlORykKIHN0YXRpYyB2b2lkIGdldENvbm5lY3Rpb25U
aW1pbmdEYXRhKE5TRGljdGlvbmFyeSAqdGltaW5nRGF0YSwgUmVzb3VyY2VMb2FkVGltaW5nJik7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGVDbGllbnQuaAppbmRleCBmMWE5ZjcxZmRkODRiMmE2MTllMGNjNmJlMjFkMzUz
MDIxYzgzODZjLi5iZmY1MzRkY2IwNDIwNjc3NWZiZjYxZjMyZjQyYTFjMmU5OWIzZWE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZUNsaWVudC5oCkBAIC0zMiw2ICszMiw5IEBACiAjaWYgVVNFKENGTkVUV09SSykKICNpbmNsdWRl
IDxDRk5ldHdvcmsvQ0ZVUkxDYWNoZVByaXYuaD4KICNpbmNsdWRlIDxDRk5ldHdvcmsvQ0ZVUkxS
ZXNwb25zZVByaXYuaD4KKyNlbmRpZgorCisjaWYgVVNFKENGTkVUV09SSykgfHwgUExBVEZPUk0o
SU9TKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNlbmRpZgogCkBAIC0xMTUsOSArMTE4
LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogICAgICAgICB2aXJ0dWFsIHZvaWQg
cmVjZWl2ZWRDYW5jZWxsYXRpb24oUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSYpIHsgfQogCisjaWYgVVNFKENGTkVUV09SSykgfHwgUExBVEZPUk0oSU9TKQor
ICAgICAgICB2aXJ0dWFsIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IGNvbm5lY3Rpb25Qcm9w
ZXJ0aWVzKFJlc291cmNlSGFuZGxlKikgeyByZXR1cm4gbnVsbHB0cjsgfQorI2VuZGlmCisKICNp
ZiBVU0UoQ0ZORVRXT1JLKQogICAgICAgICB2aXJ0dWFsIENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYg
d2lsbENhY2hlUmVzcG9uc2UoUmVzb3VyY2VIYW5kbGUqLCBDRkNhY2hlZFVSTFJlc3BvbnNlUmVm
IHJlc3BvbnNlKSB7IHJldHVybiByZXNwb25zZTsgfQotICAgICAgICB2aXJ0dWFsIFJldGFpblB0
cjxDRkRpY3Rpb25hcnlSZWY+IGNvbm5lY3Rpb25Qcm9wZXJ0aWVzKFJlc291cmNlSGFuZGxlKikg
eyByZXR1cm4gbnVsbHB0cjsgfQogI2lmIFBMQVRGT1JNKFdJTikKICAgICAgICAgdmlydHVhbCBi
b29sIHNob3VsZENhY2hlUmVzcG9uc2UoUmVzb3VyY2VIYW5kbGUqLCBDRkNhY2hlZFVSTFJlc3Bv
bnNlUmVmKSB7IHJldHVybiB0cnVlOyB9CiAjZW5kaWYgLy8gUExBVEZPUk0oV0lOKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RD
Rk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVx
dWVzdENGTmV0LmNwcAppbmRleCA3OTMxNWM3Y2MwM2QwMzdlNzllZDJjNmJkYTVkZDc0NDdmOGI3
N2FiLi5mMmQxNzAwYWM2MDM3Y2Y5MjI2ZTA2NmE4YjFlYWIwNzUxZGYxZDcxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVx
dWVzdENGTmV0LmNwcApAQCAtMzgsOSArMzgsMTAgQEAKICNpbmNsdWRlICJGb3JtRGF0YVN0cmVh
bUNGTmV0LmgiCiAjaW5jbHVkZSA8Q0ZOZXR3b3JrL0NGVVJMUmVxdWVzdFByaXYuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0jaWYgUExBVEZPUk0oSU9TKQotI2luY2x1ZGUgPENG
TmV0d29yay9DRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVQcml2Lmg+CiAjZW5kaWYKKworI2lmIFBM
QVRGT1JNKElPUykKKyNpbmNsdWRlICJDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCIKICNl
bmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9DcmVkZW50aWFsU3RvcmFnZU1hYy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NyZWRlbnRpYWxTdG9yYWdlTWFjLm1tCmluZGV4IDM5
ZTdiNGRkMWQ3N2M3Nzc3YjU3YWE2OTk2NzI2MDg4ZmRiYWVhMTQuLjllYmM4NTRkY2RiNDhkNTdl
OGY4Mjg2OTQ0MjRlY2Q0OWI3MzM2ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL0NyZWRlbnRpYWxTdG9yYWdlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0NyZWRlbnRpYWxTdG9yYWdlTWFjLm1tCkBAIC00NSw5
ICs0NSw5IEBAIHZvaWQgQ3JlZGVudGlhbFN0b3JhZ2U6OnNhdmVUb1BlcnNpc3RlbnRTdG9yYWdl
KGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvCiB7CiAgICAgaWYgKGNyZWRlbnRpYWwu
cGVyc2lzdGVuY2UoKSA9PSBDcmVkZW50aWFsUGVyc2lzdGVuY2VOb25lKSB7CiAgICAgICAgIENy
ZWRlbnRpYWwgc2Vzc2lvbkNyZWRlbnRpYWwoY3JlZGVudGlhbCwgQ3JlZGVudGlhbFBlcnNpc3Rl
bmNlRm9yU2Vzc2lvbik7Ci0gICAgICAgIFtbTlNVUkxDcmVkZW50aWFsU3RvcmFnZSBzaGFyZWRD
cmVkZW50aWFsU3RvcmFnZV0gc2V0RGVmYXVsdENyZWRlbnRpYWw6bWFjKHNlc3Npb25DcmVkZW50
aWFsKSBmb3JQcm90ZWN0aW9uU3BhY2U6bWFjKHByb3RlY3Rpb25TcGFjZSldOworICAgICAgICBb
W05TVVJMQ3JlZGVudGlhbFN0b3JhZ2Ugc2hhcmVkQ3JlZGVudGlhbFN0b3JhZ2VdIHNldERlZmF1
bHRDcmVkZW50aWFsOnNlc3Npb25DcmVkZW50aWFsLm5zQ3JlZGVudGlhbCgpIGZvclByb3RlY3Rp
b25TcGFjZTpwcm90ZWN0aW9uU3BhY2UubnNTcGFjZSgpXTsKICAgICB9IGVsc2UKLSAgICAgICAg
W1tOU1VSTENyZWRlbnRpYWxTdG9yYWdlIHNoYXJlZENyZWRlbnRpYWxTdG9yYWdlXSBzZXREZWZh
dWx0Q3JlZGVudGlhbDptYWMoY3JlZGVudGlhbCkgZm9yUHJvdGVjdGlvblNwYWNlOm1hYyhwcm90
ZWN0aW9uU3BhY2UpXTsKKyAgICAgICAgW1tOU1VSTENyZWRlbnRpYWxTdG9yYWdlIHNoYXJlZENy
ZWRlbnRpYWxTdG9yYWdlXSBzZXREZWZhdWx0Q3JlZGVudGlhbDpjcmVkZW50aWFsLm5zQ3JlZGVu
dGlhbCgpIGZvclByb3RlY3Rpb25TcGFjZTpwcm90ZWN0aW9uU3BhY2UubnNTcGFjZSgpXTsKIH0K
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9SZXNvdXJjZUVycm9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvUmVzb3VyY2VFcnJvck1hYy5tbQppbmRleCBiZDI4YzhhOGEwNTFjN2I0OGYzYmQzYzk0ZmZh
ODBiYjczNDMwZDk3Li4yMDY3ZDE4MTdkOGVkYjU4ZjYwZTNmOTlhMDdhYjk1ODFlMzhjNTU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUVy
cm9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291
cmNlRXJyb3JNYWMubW0KQEAgLTMyLDcgKzMyLDkgQEAKICNpbXBvcnQgPEZvdW5kYXRpb24vRm91
bmRhdGlvbi5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQorI2lmIFVTRShDRk5FVFdPUkspCiAjaW1w
b3J0IDxDRk5ldHdvcmsvQ0ZTb2NrZXRTdHJlYW1Qcml2Lmg+CisjZW5kaWYKICNpbXBvcnQgPEZv
dW5kYXRpb24vTlNVUkxFcnJvci5oPgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KaW5kZXggNWE3
NjlkY2EzMjJlMDk0ZTI1YjRhOTRjMmU3ZmQzNzdhOTYwZmQ3OC4uNTQ1YmIxZTFkY2RhMGU5YzIz
MDUzYzc3NDc5YzU4ZWQzZjAyNDFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KQEAgLTc1LDggKzc1LDcg
QEAgQ0ZEaWN0aW9uYXJ5UmVmIF9DRlVSTENvbm5lY3Rpb25Db3B5VGltaW5nRGF0YShDRlVSTENv
bm5lY3Rpb25SZWYpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1MpCi0jaW1wb3J0IDxDRk5l
dHdvcmsvQ0ZVUkxSZXF1ZXN0Lmg+Ci0KKyNpbXBvcnQgIkNGVVJMUmVxdWVzdFNQSS5oIgogI2lt
cG9ydCAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzSU9TLmgiCiAjaW1wb3J0ICJXZWJDb3JlVGhy
ZWFkUnVuLmgiCiAKQEAgLTEwNiw2ICsxMDUsNyBAQCBzdGF0aWMgdm9pZCBhcHBseUJhc2ljQXV0
aG9yaXphdGlvbkhlYWRlcihSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IENyZWRlbgog
ICAgIHJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpBdXRob3JpemF0
aW9uLCBhdXRoZW50aWNhdGlvbkhlYWRlcik7CiB9CiAKKyNpZiAhUExBVEZPUk0oSU9TKQogc3Rh
dGljIE5TT3BlcmF0aW9uUXVldWUgKm9wZXJhdGlvblF1ZXVlRm9yQXN5bmNDbGllbnRzKCkKIHsK
ICAgICBzdGF0aWMgTlNPcGVyYXRpb25RdWV1ZSAqcXVldWU7CkBAIC0xMTYsNiArMTE2LDcgQEAg
c3RhdGljIE5TT3BlcmF0aW9uUXVldWUgKm9wZXJhdGlvblF1ZXVlRm9yQXN5bmNDbGllbnRzKCkK
ICAgICB9CiAgICAgcmV0dXJuIHF1ZXVlOwogfQorI2VuZGlmCiAKIFJlc291cmNlSGFuZGxlSW50
ZXJuYWw6On5SZXNvdXJjZUhhbmRsZUludGVybmFsKCkKIHsKQEAgLTI1MiwxMSArMjUzLDExIEBA
IGJvb2wgUmVzb3VyY2VIYW5kbGU6OnN0YXJ0KCkKICAgICAgICAgU2NoZWR1bGluZ0JlaGF2aW9y
OjpBc3luY2hyb25vdXMpOwogI2Vsc2UKICAgICBjcmVhdGVOU1VSTENvbm5lY3Rpb24oCi0gICAg
ICAgIGQtPm1fcHJveHkuZ2V0KCksCisgICAgICAgIFJlc291cmNlSGFuZGxlOjptYWtlRGVsZWdh
dGUoc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UpLAogICAgICAgICBzaG91bGRVc2VDcmVkZW50
aWFsU3RvcmFnZSwKICAgICAgICAgZC0+bV9zaG91bGRDb250ZW50U25pZmYgfHwgZC0+bV9jb250
ZXh0LT5sb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkKCksCiAgICAgICAgIFNjaGVkdWxp
bmdCZWhhdmlvcjo6QXN5bmNocm9ub3VzLAotICAgICAgICAoTlNEaWN0aW9uYXJ5ICopY2xpZW50
KCktPmNvbm5lY3Rpb25Qcm9wZXJ0aWVzKHRoaXMpKTsKKyAgICAgICAgKE5TRGljdGlvbmFyeSAq
KWNsaWVudCgpLT5jb25uZWN0aW9uUHJvcGVydGllcyh0aGlzKS5nZXQoKSk7CiAjZW5kaWYKIAog
I2lmIFBMQVRGT1JNKElPUykKQEAgLTQwOSw4ICs0MTAsOCBAQCB2b2lkIFJlc291cmNlSGFuZGxl
OjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqIGNv
bnRleAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgIVBMQVRGT1JNKElPUykKICAgICBi
b29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlID0gc3RvcmVkQ3JlZGVudGlhbHMgPT0gQWxs
b3dTdG9yZWRDcmVkZW50aWFsczsKKyNpZiAhUExBVEZPUk0oSU9TKQogICAgIGhhbmRsZS0+Y3Jl
YXRlTlNVUkxDb25uZWN0aW9uKAogICAgICAgICBoYW5kbGUtPm1ha2VEZWxlZ2F0ZShzaG91bGRV
c2VDcmVkZW50aWFsU3RvcmFnZSksCiAgICAgICAgIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdl
LApAQCAtNDE4LDExICs0MTksMTEgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2Fk
UmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXgKICAgICAgICAg
U2NoZWR1bGluZ0JlaGF2aW9yOjpTeW5jaHJvbm91cyk7CiAjZWxzZQogICAgIGhhbmRsZS0+Y3Jl
YXRlTlNVUkxDb25uZWN0aW9uKAotICAgICAgICBoYW5kbGUtPmRlbGVnYXRlKCksIC8vIEEgc3lu
Y2hyb25vdXMgcmVxdWVzdCBjYW5ub3QgdHVybiBpbnRvIGEgZG93bmxvYWQsIHNvIHRoZXJlIGlz
IG5vIG5lZWQgdG8gcHJveHkgdGhlIGRlbGVnYXRlLgotICAgICAgICBzdG9yZWRDcmVkZW50aWFs
cyA9PSBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLAorICAgICAgICBoYW5kbGUtPm1ha2VEZWxlZ2F0
ZShzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSksIC8vIEEgc3luY2hyb25vdXMgcmVxdWVzdCBj
YW5ub3QgdHVybiBpbnRvIGEgZG93bmxvYWQsIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gcHJveHkg
dGhlIGRlbGVnYXRlLgorICAgICAgICBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSwKICAgICAg
ICAgaGFuZGxlLT5zaG91bGRDb250ZW50U25pZmYoKSB8fCAoY29udGV4dCAmJiBjb250ZXh0LT5s
b2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkKCkpLAogICAgICAgICBTY2hlZHVsaW5nQmVo
YXZpb3I6OlN5bmNocm9ub3VzLAotICAgICAgICAoTlNEaWN0aW9uYXJ5ICopaGFuZGxlLT5jbGll
bnQoKS0+Y29ubmVjdGlvblByb3BlcnRpZXMoaGFuZGxlLmdldCgpKSk7CisgICAgICAgIChOU0Rp
Y3Rpb25hcnkgKiloYW5kbGUtPmNsaWVudCgpLT5jb25uZWN0aW9uUHJvcGVydGllcyhoYW5kbGUu
Z2V0KCkpLmdldCgpKTsKICNlbmRpZgogCiAgICAgW2hhbmRsZS0+Y29ubmVjdGlvbigpIHNjaGVk
dWxlSW5SdW5Mb29wOltOU1J1bkxvb3AgY3VycmVudFJ1bkxvb3BdIGZvck1vZGU6KE5TU3RyaW5n
ICopc3luY2hyb25vdXNMb2FkUnVuTG9vcE1vZGUoKV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlVVJMUmVzcG9uc2UubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlVVJMUmVzcG9uc2UubW0KaW5kZXgg
OTE1Nzg1Mzc0ZDEyMTBlYzMxZWMzNjMwYTMyNDA2NDE1ZDRjZjgzZC4uOTcxYmViNWJiMGU4NmIz
MTEwZWJkMDVmZjBiMmVjZjFiZjA5ZjFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVVSTFJlc3BvbnNlLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVVUkxSZXNwb25zZS5tbQpAQCAtMzcsNiAr
MzcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBQTEFURk9STShNQUMpCiAvLyA8
cmRhcjovL3Byb2JsZW0vNzAwNzM4OT4gQ29yZVR5cGVzIFVUSSBtYXAgaXMgbWlzc2luZyAxMDAr
IGZpbGUgZXh0ZW5zaW9ucyB0aGF0IEdhdGVLZWVwZXIga25ldyBhYm91dAogLy8gV2hlbiB3ZSBk
aXNhYmxlZCBjb250ZW50IHNuaWZmaW5nIGZvciBmaWxlIFVSTHMgd2UgY2F1c2VkIHByb2JsZW1z
IHdpdGggdGhlc2UgMTAwKyBleHRlbnNpb25zIHRoYXQgQ29yZVR5cGVzCiAvLyBkb2Vzbid0IGtu
b3cgYWJvdXQuCkBAIC0zMjIsMTAgKzMyMywxMiBAQCB2b2lkIGFkanVzdE1JTUVUeXBlSWZOZWNl
c3NhcnkoQ0ZVUkxSZXNwb25zZVJlZiBjZlJlc3BvbnNlKQogICAgIGlmIChyZXN1bHQgIT0gb3Jp
Z2luYWxSZXN1bHQpCiAgICAgICAgIHdrU2V0Q0ZVUkxSZXNwb25zZU1JTUVUeXBlKGNmUmVzcG9u
c2UsIHJlc3VsdC5nZXQoKSk7CiB9CisjZW5kaWYKIAorI2lmICFVU0UoQ0ZORVRXT1JLKQogTlNV
UkxSZXNwb25zZSAqc3ludGhlc2l6ZVJlZGlyZWN0UmVzcG9uc2VJZk5lY2Vzc2FyeShOU1VSTENv
bm5lY3Rpb24gKmNvbm5lY3Rpb24sIE5TVVJMUmVxdWVzdCAqbmV3UmVxdWVzdCwgTlNVUkxSZXNw
b25zZSAqcmVkaXJlY3RSZXNwb25zZSkKIHsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwOTAKKyNpZiBQTEFURk9STShJT1MpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTA5MAogICAgIGlmIChyZWRpcmVjdFJlc3BvbnNlKQogICAgICAgICBy
ZXR1cm4gcmVkaXJlY3RSZXNwb25zZTsKIApAQCAtMzQyLDUgKzM0NSw2IEBAIE5TVVJMUmVzcG9u
c2UgKnN5bnRoZXNpemVSZWRpcmVjdFJlc3BvbnNlSWZOZWNlc3NhcnkoTlNVUkxDb25uZWN0aW9u
ICpjb25uZWN0aW9uCiAgICAgcmV0dXJuIHJlZGlyZWN0UmVzcG9uc2U7CiAjZW5kaWYKIH0KKyNl
bmRpZgogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZO
ZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkv
Y2YvQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2UyOTEzNTE3YmYw
ODgzMmM3NDhiOTgzODA2YjI4NzRkMmIwYzY3OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3NwaS9jZi9DRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaApAQCAt
MCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWZuZGVmIENGTmV0d29ya0Nvbm5lY3Rpb25DYWNoZVNQSV9oCisjZGVmaW5lIENGTmV0
d29ya0Nvbm5lY3Rpb25DYWNoZVNQSV9oCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQor
I2luY2x1ZGUgPENGTmV0d29yay9DRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVQcml2Lmg+CisjZWxz
ZQorZW51bSBIVFRQQ29ubmVjdGlvbkNhY2hlTGltaXRLZXlzIHsKKyAgICBrSFRUUE51bUZhc3RM
YW5lcyA9IDQsCit9OworI2VuZGlmCisKK2V4dGVybiAiQyIgdm9pZCBfQ0ZOZXR3b3JrSFRUUENv
bm5lY3Rpb25DYWNoZVNldExpbWl0KEhUVFBDb25uZWN0aW9uQ2FjaGVMaW1pdEtleXMsIGludCk7
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NmL0NG
VVJMUmVxdWVzdFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NmL0NGVVJMUmVx
dWVzdFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAyN2VlNmFmMzY3ZjRlZWI4YWE1YzI5YjMyYTFiYjAzM2U5
MTljZWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2Yv
Q0ZVUkxSZXF1ZXN0U1BJLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDRlVSTFJlcXVlc3RTUElfaAorI2Rl
ZmluZSBDRlVSTFJlcXVlc3RTUElfaAorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNp
bmNsdWRlIDxDRk5ldHdvcmsvQ0ZVUkxSZXF1ZXN0Lmg+CisjZWxzZQorI2luY2x1ZGUgPENvcmVG
b3VuZGF0aW9uL0NGQmFzZS5oPgordHlwZWRlZiBjb25zdCBzdHJ1Y3QgX0NGVVJMUmVxdWVzdCAq
Q0ZVUkxSZXF1ZXN0UmVmOworI2VuZGlmCisKK2V4dGVybiAiQyIgdm9pZCBDRlVSTFJlcXVlc3RT
ZXRTaG91bGRTdGFydFN5bmNocm9ub3VzbHkoQ0ZVUkxSZXF1ZXN0UmVmLCBCb29sZWFuKTsKKwor
I2VuZGlmCg==
</data>
<flag name="review"
          id="262255"
          type_id="1"
          status="+"
          setter="psolanki"
    />
          </attachment>
      

    </bug>

</bugzilla>