<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>131275</bug_id>
          
          <creation_ts>2006-04-25 14:44 0000</creation_ts>
          <short_desc>layman blocks ufed from working</short_desc>
          <delta_ts>2007-05-30 18:39:43 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Portage Development</product>
          <component>Tools</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>joffer@online.no</reporter>
          <assigned_to>truedfx@gentoo.org</assigned_to>
          <cc>christoph.diesch@t-online.de</cc>
    
    <cc>decamps@users.sf.net</cc>
    
    <cc>dev@stuffit.at</cc>
    
    <cc>hguiwerkj@hotmail.com</cc>
    
    <cc>jeromepoulin@gmail.com</cc>
    
    <cc>johan.tibell@gmail.com</cc>
    
    <cc>only_bugzilla_automail.era.ssokolow@spamgourmet.com</cc>
    
    <cc>wrobel@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>joffer@online.no</who>
            <bug_when>2006-04-25 14:44:25 0000</bug_when>
            <thetext>layman(-0.9.1) blocks app-portage/ufed(-0.40r1) from running if there is a &quot;source /path/to/layman/make.conf&quot; in /etc/make.conf. I had to comment that line out to run ufed, and then reenable it again.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-04-25 23:00:59 0000</bug_when>
            <thetext>This is going to be a bit hard to fix properly in ufed, firstly because portage&apos;s own parsing of make.conf and python&apos;s shlex interact in strange ways, meaning &apos;source&apos; can behave strangely in special cases, and secondly, because supporting &apos;source&apos; means ufed may have to save the USE flags in another file.

I will try to include limited support for &apos;source&apos; when reading make.conf, and if USE-affecting variables are set in other files, have ufed abort (but only then). This shouldn&apos;t break things with layman, right? (I have no idea how layman works, I don&apos;t use it.)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wrobel@gentoo.org</who>
            <bug_when>2006-04-26 00:28:23 0000</bug_when>
            <thetext>No, layman won&apos;t be affected by this. layman does not directly use anything from the make.conf file. It just modifies the PORTAGE_OVERLAY variable and as a safety precaution it does not do that directly with /etc/make.conf since I disliked having a tool automatically modifying this rather central config file.

So I just used the &quot;source&quot; feature since it is supported by portage. The sourced file only sets PORTAGE_OVERLAY.

As a workaround people can also omit the 
&quot;source /path/to/layman/make.conf&quot; in /etc/make.conf and modify the layman config like this:

#-----------------------------------------------------------
# Path to the make.conf file that should be modified by 
# layman
make_conf : /etc/make.conf

This way you don&apos;t need the source statement and layman will directly modify your /etc/make.conf. Decide for yourself if you consider that dangerous or safe enough :)
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-04-26 02:20:08 0000</bug_when>
            <thetext>Created an attachment (id=85522)
Limited source support for ufed

This should make ufed deal with it. Could you please make sure it works for you? Just run

(cd /; patch -l -p0) &lt; whatever-filename-you-picked

I will add a cleaner but longer (because of whitespace differences, and unrelated modifications) patch to CVS, so this should be fixed in the next version. The next version is taking a really long time though, and most users won&apos;t use &quot;source&quot;, so just modify ufed locally for now, okay?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>joffer@online.no</who>
            <bug_when>2006-04-26 04:42:47 0000</bug_when>
            <thetext>I will try the patch later today, when I get home.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>joffer@online.no</who>
            <bug_when>2006-04-30 05:39:34 0000</bug_when>
            <thetext>Worked :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-05-22 22:13:11 0000</bug_when>
            <thetext>I decided to just add ufed-0.40-r2 with this patch, so fixed now, thanks for the report.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2006-05-29 04:36:20 0000</bug_when>
            <thetext>*** Bug 134749 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2006-06-01 15:35:35 0000</bug_when>
            <thetext>*** Bug 135209 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>davidgrant@gmail.com</who>
            <bug_when>2006-06-01 23:28:44 0000</bug_when>
            <thetext>Doesn&apos;t work... It reads make.conf fine, but it has trouble writing to it:

Parse error when writing make.conf - did you modify it while ufed was running?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-06-01 23:33:36 0000</bug_when>
            <thetext>(In reply to comment #9)
&gt; Doesn&apos;t work... It reads make.conf fine, but it has trouble writing to it:

Could you please attach your make.conf ?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>davidgrant@gmail.com</who>
            <bug_when>2006-06-01 23:55:25 0000</bug_when>
            <thetext>Created an attachment (id=88160)
make.conf that breaks ufed

Here you go! Thanks a lot!</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-06-02 00:36:47 0000</bug_when>
            <thetext>Thanks, fixed in 0.40-r3. I checked for &apos;source&apos; commands before the USE=&quot;...&quot; line in make.conf when writing, but forgot to do so after it.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2006-06-30 00:08:14 0000</bug_when>
            <thetext>*** Bug 138549 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2006-09-02 06:49:19 0000</bug_when>
            <thetext>*** Bug 145993 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2006-09-24 23:07:20 0000</bug_when>
            <thetext>*** Bug 149016 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-11-26 13:49:07 0000</bug_when>
            <thetext>*** Bug 156337 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2006-12-13 14:07:06 0000</bug_when>
            <thetext>*** Bug 158077 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85522</attachid>
            <date>2006-04-26 02:20 0000</date>
            <desc>Limited source support for ufed</desc>
            <filename>source</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIC91c3Ivc2Jpbi91ZmVkCisrKyAvdXNyL3NiaW4vdWZlZApAQCAtMTc5LDYgKzE3OSw3IEBA
CiAJCWNsb3NlICRtYWtlY29uZjsKIAl9CiAKKwlteSAkc291cmNpbmcgPSAwOwogCWV2YWwgewog
CQkjIFVTRSBjb21tZW50IHN0YXJ0L2VuZCAoc3RhcnQvZW5kIG9mIG5ld2xpbmUgY2hhcmFjdGVy
IGF0IHRoZSBlbmQsIHNwZWNpZmljYWxseSkKIAkJIyBkZWZhdWx0IHRvIGVuZCBvZiBtYWtlLmNv
bmYsIHRvIGhhbmRsZSBtYWtlLmNvbmZzIHdpdGhvdXQgI1VTRT0KQEAgLTIwMCw4ICsyMDAsMTIg
QEAKIAkJCS9cRyRJREVOVC9nYyBvciBkaWU7CiAJCQlteSAkbmFtZSA9ICQxOwogCQkJL1xHJEJM
QU5LL2djOworCQkJaWYoJG5hbWUgbmUgJ3NvdXJjZScpIHsKIAkJCS9cRyRBU1NJRy9nYyBvciBk
aWU7CiAJCQkvXEckQkxBTksvZ2M7CisJCQl9IGVsc2UgeworCQkJCSRzb3VyY2luZyA9IDE7CisJ
CQl9CiAJCQlkaWUgaWYgcG9zID09IGxlbmd0aDsKIAkJCW15ICR2YWxzdGFydCA9IHBvczsKIAkJ
CS9cRyg/OiRCTlVRVnwkU1FWQUx8JEJORFFWKSsvZ2Mgb3IgZGllOwpAQCAtMjk1LDYgKzMwMCwx
MCBAQAogCX07CiAJZGllICJQYXJzZSBlcnJvciB3aGVuIHdyaXRpbmcgbWFrZS5jb25mIC0gZGlk
IHlvdSBtb2RpZnkgaXQgd2hpbGUgdWZlZCB3YXMgcnVubmluZz9cbiIgaWYgJEA7CiAKKwlwcmlu
dCBTVERFUlIgPDxFT0YgaWYgJHNvdXJjaW5nOworV2FybmluZzogc291cmNlIGNvbW1hbmQgZm91
bmQgaW4gL2V0Yy9tYWtlLmNvbmYuIEZsYWdzIG1heQorYmUgc2F2ZWQgaW5jb3JyZWN0bHkgaWYg
dGhlIHNvdXJjZWQgZmlsZSBtb2RpZmllcyB0aGVtLgorRU9GCiAJewogCQlvcGVuIG15ICRtYWtl
Y29uZiwgJz4nLCAnL2V0Yy9tYWtlLmNvbmYnIG9yIGRpZSAiQ291bGRuJ3Qgb3BlbiAvZXRjL21h
a2UuY29uZlxuIjsKIAkJcHJpbnQgJG1ha2Vjb25mICRfOwotLS0gL3Vzci9saWIvdWZlZC9Qb3J0
YWdlLnBtCisrKyAvdXNyL2xpYi91ZmVkL1BvcnRhZ2UucG0KQEAgLTI1MCw4ICsyNTAsMTAgQEAK
IAkJCQkvXEckSURFTlQvZ2Mgb3IgZGllOwogCQkJCW15ICRuYW1lID0gJDE7CiAJCQkJL1xHJEJM
QU5LL2djOworCQkJCWlmKCRuYW1lIG5lICdzb3VyY2UnKSB7CiAJCQkJL1xHJEFTU0lHL2djIG9y
IGRpZTsKIAkJCQkvXEckQkxBTksvZ2M7CisJCQkJfQogCQkJCWRpZSBpZiBwb3MgPT0gbGVuZ3Ro
OwogCQkJCW15ICR2YWx1ZSA9ICcnOwogCQkJCWZvcig7OykgewpAQCAtMjc1LDcgKzI3NywyMCBA
QAogCQkJCQkJbGFzdAogCQkJCQl9CiAJCQkJfQorCQkJCWlmKCRuYW1lIGVxICdzb3VyY2UnKSB7
CisJCQkJCW9wZW4gbXkgJGYsICc8JywgJHZhbHVlIG9yIGRpZTsKKwkJCQkJbXkgJHBvcyA9IHBv
czsKKwkJCQkJc3Vic3RyKCRfLCBwb3MsIDApID0gZG8geworCQkJCQkJbG9jYWwgJC87CisJCQkJ
CQlteSAkdGV4dCA9IDwkZj47CisJCQkJCQlkaWUgaWYgbm90IGRlZmluZWQgJHRleHQ7CisJCQkJ
CQkkdGV4dDsKKwkJCQkJfTsKKwkJCQkJcG9zID0gJHBvczsKKwkJCQkJY2xvc2UgJGYgb3IgZGll
OworCQkJCX0gZWxzZSB7CiAJCQkJJGVudnskbmFtZX0gPSAkdmFsdWU7CisJCQkJfQogCQkJfQog
CQl9OwogCQlkaWUgIlBhcnNlIGVycm9yIGluICRmbmFtZVxuIiBpZiAkQDsK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>88160</attachid>
            <date>2006-06-01 23:55 0000</date>
            <desc>make.conf that breaks ufed</desc>
            <filename>make.conf</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA2IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRJZDog
L3Zhci9jdnNyb290L2dlbnRvby1zcmMvcG9ydGFnZS9jbmYvbWFrZS5jb25mLHYgMS44NC4yLjUg
MjAwNS8wNC8xMyAxNToyODozOCBqc3R1YmJzIEV4cCAkCiMgQ29udGFpbnMgbG9jYWwgc3lzdGVt
IHNldHRpbmdzIGZvciBQb3J0YWdlIHN5c3RlbQoKIyBQbGVhc2UgcmV2aWV3ICdtYW4gbWFrZS5j
b25mJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KCiMgQnVpbGQtdGltZSBmdW5jdGlvbmFsaXR5CiMg
PT09PT09PT09PT09PT09PT09PT09PT09CiMKIyBUaGUgVVNFIHZhcmlhYmxlIGlzIHVzZWQgdG8g
ZW5hYmxlIG9wdGlvbmFsIGJ1aWxkLXRpbWUgZnVuY3Rpb25hbGl0eS4gRm9yCiMgZXhhbXBsZSwg
cXVpdGUgYSBmZXcgcGFja2FnZXMgaGF2ZSBvcHRpb25hbCBYLCBndGsgb3IgR05PTUUgZnVuY3Rp
b25hbGl0eQojIHRoYXQgY2FuIG9ubHkgYmUgZW5hYmxlZCBvciBkaXNhYmxlZCBhdCBjb21waWxl
LXRpbWUuIEdlbnRvbyBMaW51eCBoYXMgYQojIHZlcnkgZXh0ZW5zaXZlIHNldCBvZiBVU0UgdmFy
aWFibGVzIGRlc2NyaWJlZCBpbiBvdXIgVVNFIHZhcmlhYmxlIEhPV1RPIGF0CiMgaHR0cDovL3d3
dy5nZW50b28ub3JnL2RvYy9lbi9oYW5kYm9vay9oYW5kYm9vay14ODYueG1sP3BhcnQ9MiZjaGFw
PTEKIwojIFRoZSBhdmFpbGFibGUgbGlzdCBvZiB1c2UgZmxhZ3Mgd2l0aCBkZXNjcmlwdGlvbnMg
aXMgaW4geW91ciBwb3J0YWdlIHRyZWUuCiMgVXNlICdsZXNzJyB0byB2aWV3IHRoZW06ICAtLT4g
bGVzcyAvdXNyL3BvcnRhZ2UvcHJvZmlsZXMvdXNlLmRlc2MgPC0tCiMKIyAndWZlZCcgaXMgYW4g
bmN1cnNlcy9kaWFsb2cgaW50ZXJmYWNlIGF2YWlsYWJsZSBpbiBwb3J0YWdlIHRvIG1ha2UgaGFu
ZGxpbmcKIyB1c2VmbGFncyBmb3IgeW91LiAnZW1lcmdlIGFwcC1wb3J0YWdlL3VmZWQnCiMKIyBF
eGFtcGxlOgpVU0U9IjNkbm93IDNkbm93ZXh0IDNkcyBYYXczZCBhYWMgYWFsaWIgYWNwaSBhZGEg
YW5zaSBhbnRoeSBhcnR3b3JrZXh0cmEgYXNmCiAgICAgYXN5bmMgYXRsYXMgYXVkaW9maWxlIGJh
c2gtY29tcGxldGlvbiBiaWdnZXItZm9udHMgYnJvd3NlcnBsdWdpbiBiemlwMgogICAgIGMrKyBj
YWlybyBjYW52YXMgY2RwYXJhbm9pYSBjZHIgY2dpIGNwdWRldGVjdGlvbiBjc3MgY3R5cGUgY3Vy
bCBkYmEgZGJ1cwogICAgIGRnYSBkaGNwIGRpcmVjdGZiIGRpdng0bGludXggZHYgZHZkIGR2ZHIg
ZHZkcmVhZCBkeW5hZ3JhcGggZW1hY3MgZXNjcmVlbgogICAgIGV4aWYgZmFtZSBmYXN0YnVpbGQg
ZmFzdGNnaSBmYmNvbiBmZm1wZWcgZmZ0dyBmaXJlZm94IGZsYWMKICAgICBmb3JjZS1jZ2ktcmVk
aXJlY3QgZnRwIGdkIGdpbXAgZ2ltcHByaW50IGdpbmFjIGdsdXQgZ21wIGdub2tpaSBnbnVwbG90
CiAgICAgZ3Bob3RvMiBncHJvZiBndGtodG1sIGd1aWxlIGhhbCBoZGR0ZW1wIGljb252IGljcSBp
ZG4gaW1hZ2VtYWdpY2sgaW1hcAogICAgIGltbGliMiBqYXZhIGphdmFzY3JpcHQgamNlIGpveXN0
aWNrIGpwZWcyayBqdW5pdCBrZGVlbmFibGVmaW5hbAogICAgIGtkZXhkZWx0YXMga2VyYmVyb3Mg
a2lwaSBrcmI0IGxhdGV4IGxjbXMgbGRhcCBsZXNzdGlmIGxpYmNhY2EgbGliY2xhbWF2CiAgICAg
bGl2ZSBsbV9zZW5zb3JzIGxvZ2l0ZWNoLW1vdXNlIGxvZ3JvdGF0ZSBsem8gbWFpbGRpciBtYXRy
b3NrYSBtZW1saW1pdAogICAgIG1oYXNoIG1pZ2VtbyBtanBlZyBtbXggbW14ZXh0IG1uZyBtb25v
IG1vemRldmVsb3AgbW96aWxsYSBtb3pzdmcgbXBpCiAgICAgbXBsYXllciBtcHBlLW1wcGMgbXNu
IG11c2VwYWNrIG11c2ljYnJhaW56IG15c3FsIG5hcyBuYXV0aWx1cyBuZXQgbmV0aGFjawogICAg
IG5ldHdvcmsgbmZzIG5pcyBubnRwIG5vLW9sZC1saW51eCBub3BsdWdpbiBucHRsb25seSBuc3Bs
dWdpbiBudmlkaWEgb2F2CiAgICAgb2ZmZW5zaXZlIG9meCBvZ2d2b3JiaXMgb3BlbmFsIG9zY2Fy
IHBkYSBwZGYgcGRvLWV4dGVybmFsIHBocCBwaWMKICAgICBwbG90dXRpbHMgcG9zaXggcG9zdGdy
ZXMgcG92cmF5IHBwZHMgcWh1bGwgcXVvdGFzIHF1b3RlcyByZGVza3RvcCByZWFsCiAgICAgcnVi
eSBzYW1iYSBzYXNsIHNjYW5uZXIgc2NyZWVuIHNlbnNvcmQgc2VydmVyIHNpbXBsZXhtbCBzbGFu
ZyBzbXMgc210cAogICAgIHNvYXAgc29ja2V0cyBzcWxpdGUgc3NlIHN1YnRpdGxlcyBzdWJ2ZXJz
aW9uIHN2ZyBzdmdhIHN5bWxpbmsgdGNsdGsgdGV0ZXgKICAgICB0aGVvcmEgdGhyZWFkcyB0aWR5
IHRpZmYgdG9rZW5pemVyIHR5cGUxIHVzYiB1c2VybG9jYWxlcyB1dGY4IHY0bCB2NGwyCiAgICAg
dmNkIHZob3N0cyB2aXJ1cy1zY2FuIHZpc3VhbGl6YXRpb24gd2Vic2VydmljZXMgd2lmaSB3aW4z
MmNvZGVjcyB3bWYgd3YKICAgICB3eHdpbmRvd3MgeGFuaW0geGJhc2UgeGNvbXBvc2l0ZSB4aW5l
IHhtbDIgeG1sd3JpdGVyIHhwcmludCB4c2NyZWVuc2F2ZXIKICAgICB4c2wgeHZpZCB5YWhvbyB5
djEyIHppcCAtYXJ0cyAtZXNkIC14bW1zIgoKIyBIb3N0IFNldHRpbmcKIyA9PT09PT09PT09PT0K
IwojIERPIE5PVCBDSEFOR0UgVEhJUyBTRVRUSU5HIFVOTEVTUyBZT1UgQVJFIFVTSU5HIFNUQUdF
MSEKIyBDaGFuZ2UgdGhpcyBsaW5lIGFzIGFwcHJvcHJpYXRlIChpNjg2LCBpNTg2LCBpNDg2IG9y
IGkzODYpLgojIEFsbCBtb2Rlcm4gc3lzdGVtcyAoZXZlbiBBdGhsb25zKSBzaG91bGQgdXNlICJp
Njg2LXBjLWxpbnV4LWdudSIuCiMgQWxsIEs2J3MgYXJlIGk1ODYuCkNIT1NUPSJpNjg2LXBjLWxp
bnV4LWdudSIKCiMgSG9zdCBhbmQgb3B0aW1pemF0aW9uIHNldHRpbmdzIAojID09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQojCiMgRm9yIG9wdGltYWwgcGVyZm9ybWFuY2UsIGVuYWJsZSBh
IENGTEFHUyBzZXR0aW5nIGFwcHJvcHJpYXRlIGZvciB5b3VyIENQVS4KIwojIFBsZWFzZSBub3Rl
IHRoYXQgaWYgeW91IGV4cGVyaWVuY2Ugc3RyYW5nZSBpc3N1ZXMgd2l0aCBhIHBhY2thZ2UsIGl0
IG1heSBiZQojIGR1ZSB0byBnY2MncyBvcHRpbWl6YXRpb25zIGludGVyYWN0aW5nIGluIGEgc3Ry
YW5nZSB3YXkuIFBsZWFzZSB0ZXN0IHRoZQojIHBhY2thZ2UgKGFuZCBpbiBzb21lIGNhc2VzIHRo
ZSBsaWJyYXJpZXMgaXQgdXNlcykgYXQgZGVmYXVsdCBvcHRpbWl6YXRpb25zCiMgYmVmb3JlIHJl
cG9ydGluZyBlcnJvcnMgdG8gZGV2ZWxvcGVycy4KIwojIC1tY3B1PTxjcHUtdHlwZT4gbWVhbnMg
b3B0aW1pemUgY29kZSBmb3IgdGhlIHBhcnRpY3VsYXIgdHlwZSBvZiBDUFUgd2l0aG91dAojIGJy
ZWFraW5nIGNvbXBhdGliaWxpdHkgd2l0aCBvdGhlciBDUFVzLgojCiMgLW1hcmNoPTxjcHUtdHlw
ZT4gbWVhbnMgdG8gdGFrZSBmdWxsIGFkdmFudGFnZSBvZiB0aGUgQUJJIGFuZCBpbnN0cnVjdGlv
bnMKIyBmb3IgdGhlIHBhcnRpY3VsYXIgQ1BVOyB0aGlzIHdpbGwgYnJlYWsgY29tcGF0aWJpbGl0
eSB3aXRoIG9sZGVyIENQVXMgKGZvcgojIGV4YW1wbGUsIC1tYXJjaD1hdGhsb24teHAgY29kZSB3
aWxsIG5vdCBydW4gb24gYSByZWd1bGFyIEF0aGxvbiwgYW5kCiMgLW1hcmNoPWk2ODYgY29kZSB3
aWxsIG5vdCBydW4gb24gYSBQZW50aXVtIENsYXNzaWMuCiMKIyBDUFUgdHlwZXMgc3VwcG9ydGVk
IGluIGdjYy0zLjIgYW5kIGhpZ2hlcjogYXRobG9uLXhwLCBhdGhsb24tbXAsCiMgYXRobG9uLXRi
aXJkLCBhdGhsb24sIGs2LCBrNi0yLCBrNi0zLCBpMzg2LCBpNDg2LCBpNTg2IChQZW50aXVtKSwg
aTY4NgojIChQZW50aXVtUHJvKSwgcGVudGl1bSwgcGVudGl1bS1tbXgsIHBlbnRpdW1wcm8sIHBl
bnRpdW0yIChDZWxlcm9uKSwKIyBwZW50aXVtMywgYW5kIHBlbnRpdW00LgojCiMgTm90ZSB0aGF0
IEdlbnRvbyBMaW51eCAxLjQgYW5kIGhpZ2hlciBpbmNsdWRlIGF0IGxlYXN0IGdjYy0zLjIuCiMg
CiMgQ1BVIHR5cGVzIHN1cHBvcnRlZCBpbiBnY2MtMi45NSo6IGs2LCBpMzg2LCBpNDg2LCBpNTg2
IChQZW50aXVtKSwgaTY4NgojIChQZW50aXVtIFBybyksIHBlbnRpdW0sIHBlbnRpdW1wcm8gR2Vu
dG9vIExpbnV4IDEuMiBhbmQgYmVsb3cgdXNlIGdjYy0yLjk1KgojCiMgQ1JJVElDQUwgV0FSTklO
R1M6ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiAjCiMgSzYgbWFya2luZ3MgYXJlIGRlY2VwdGl2ZS4gQXZvaWQgc2V0dGluZyAtbWFyY2ggZm9y
IHRoZW0uIFNlZSBCdWcgIzI0Mzc5LiAjCiMgUGVudGl1bS1NIENQVSdzIHNob3VsZCBub3QgZW5h
YmxlIHNzZTIgdW50aWwgYXQgbGVhc3QgZ2NjLTMuNC4gQnVnIDUwNjE2LiAjCiMgKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKiAjCiMKIyBEZWNlbnQgZXhhbXBsZXM6CiMKI0NGTEFHUz0iLW1jcHU9YXRobG9uLXhw
IC1PMyAtcGlwZSIKI0NGTEFHUz0iLW1hcmNoPXBlbnRpdW0zIC1PMyAtcGlwZSIKQ0ZMQUdTPSIt
bWFyY2g9YXRobG9uLXhwIC1PMiAtcGlwZSAtZm9taXQtZnJhbWUtcG9pbnRlciIKCiMgSWYgeW91
IHNldCBhIENGTEFHUyBhYm92ZSwgdGhlbiB0aGlzIGxpbmUgd2lsbCBzZXQgeW91ciBkZWZhdWx0
IEMrKyBmbGFncyB0bwojIHRoZSBzYW1lIHNldHRpbmdzLgpDWFhGTEFHUz0iJHtDRkxBR1N9IgoK
IyBBZHZhbmNlZCBNYXNraW5nCiMgPT09PT09PT09PT09PT09PQojCiMgR2VudG9vIGlzIHVzaW5n
IGEgbmV3IG1hc2tpbmcgc3lzdGVtIHRvIGFsbG93IGZvciBlYXNpZXIgc3RhYmlsaXR5IHRlc3Rp
bmcKIyBvbiBwYWNrYWdlcy4gS0VZV09SRFMgYXJlIHVzZWQgaW4gZWJ1aWxkcyB0byBtYXNrIGFu
ZCB1bm1hc2sgcGFja2FnZXMgYmFzZWQKIyBvbiB0aGUgcGxhdGZvcm0gdGhleSBhcmUgc2V0IGZv
ci4gQSBzcGVjaWFsIGZvcm0gaGFzIGJlZW4gYWRkZWQgdGhhdAojIGluZGljYXRlcyBwYWNrYWdl
cyBhbmQgcmV2aXNpb25zIHRoYXQgYXJlIGV4cGVjdGVkIHRvIHdvcmssIGJ1dCBoYXZlIG5vdCB5
ZXQKIyBiZWVuIGFwcHJvdmVkIGZvciB0aGUgc3RhYmxlIHNldC4gJ35hcmNoJyBpcyBhIHN1cGVy
c2V0IG9mICdhcmNoJyB3aGljaAojIGluY2x1ZGVzIHRoZSB1bnN0YWJsZSwgaW4gdGVzdGluZywg
cGFja2FnZXMuIFVzZXJzIG9mIHRoZSAneDg2JyBhcmNoaXRlY3R1cmUKIyB3b3VsZCBhZGQgJ354
ODYnIHRvIEFDQ0VQVF9LRVlXT1JEUyB0byBlbmFibGUgdW5zdGFibGUvdGVzdGluZyBwYWNrYWdl
cy4KIyAnfnBwYycsICd+c3BhcmMnIGFyZSB0aGUgdW5zdGFibGUgS0VZV09SRFMgZm9yIHRoZWly
IHJlc3BlY3RpdmUgcGxhdGZvcm1zLgojCiMgUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGlzIG5vdCBm
b3IgZGV2ZWxvcG1lbnQsIGFscGhhLCBiZXRhLCBub3IgY3ZzIHJlbGVhc2UKIyBwYWNrYWdlcy4g
IkJyb2tlbiIgcGFja2FnZXMgd2lsbCBub3QgYmUgYWRkZWQgdG8gdGVzdGluZyBhbmQgc2hvdWxk
IG5vdCBiZQojIHJlcXVlc3RlZCB0byBiZSBhZGRlZC4gQWx0ZXJuYXRpdmUgcm91dGVzIGFyZSBh
dmFpbGFibGUgdG8gZGV2ZWxvcGVycwojIGZvciBleHBlcmltZW50YWwgcGFja2FnZXMsIGFuZCBp
dCBpcyBhdCB0aGVpciBkaXNjcmV0aW9uIHRvIHVzZSB0aGVtLgojCiMgRE8gTk9UIFBVVCBBTllU
SElORyBCVVQgWU9VUiBTUEVDSUZJQyB+QVJDSElURUNUVVJFIElOIFRIRSBMSVNULgojIElGIFlP
VSBBUkUgVU5TVVJFIE9GIFlPVVIgQVJDSCwgT1IgVEhFIElNUExJQ0FUSU9OUywgRE8gTk9UIE1P
RElGWSBUSElTLgojCiNBQ0NFUFRfS0VZV09SRFM9In54ODYiCgojIFBvcnRhZ2UgRGlyZWN0b3Jp
ZXMKIyA9PT09PT09PT09PT09PT09PT09CiMKIyBFYWNoIG9mIHRoZXNlIHNldHRpbmdzIGNvbnRy
b2xzIGFuIGFzcGVjdCBvZiBwb3J0YWdlJ3Mgc3RvcmFnZSBhbmQgZmlsZQojIHN5c3RlbSB1c2Fn
ZS4gSWYgeW91IGNoYW5nZSBhbnkgb2YgdGhlc2UsIGJlIHN1cmUgaXQgaXMgYXZhaWxhYmxlIHdo
ZW4KIyB5b3UgdHJ5IHRvIHVzZSBwb3J0YWdlLiAqKiogRE8gTk9UIElOQ0xVREUgQSBUUkFJTElO
RyAiLyIgKioqCiMKIyBQT1JUQUdFX1RNUERJUiBpcyB0aGUgbG9jYXRpb24gcG9ydGFnZSB3aWxs
IHVzZSBmb3IgY29tcGlsYXRpb25zIGFuZAojICAgICB0ZW1wb3Jhcnkgc3RvcmFnZSBvZiBkYXRh
LiBUaGlzIGNhbiBnZXQgVkVSWSBsYXJnZSBkZXBlbmRpbmcgdXBvbgojICAgICB0aGUgYXBwbGlj
YXRpb24gYmVpbmcgaW5zdGFsbGVkLgojUE9SVEFHRV9UTVBESVI9L3Zhci90bXAKIwojIFBPUlRE
SVIgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBwb3J0YWdlIHRyZWUuIFRoaXMgaXMgdGhlIHJlcG9z
aXRvcnkKIyAgICAgZm9yIGFsbCBwcm9maWxlIGluZm9ybWF0aW9uIGFzIHdlbGwgYXMgYWxsIGVi
dWlsZHMuIElmIHlvdSBjaGFuZ2UKIyAgICAgdGhpcywgeW91IG11c3QgdXBkYXRlIHlvdXIgL2V0
Yy9tYWtlLnByb2ZpbGUgc3ltbGluayBhY2NvcmRpbmdseS4KI1BPUlRESVI9L3Vzci9wb3J0YWdl
CiMKIyBESVNURElSIGlzIHdoZXJlIGFsbCBvZiB0aGUgc291cmNlIGNvZGUgdGFyYmFsbHMgd2ls
bCBiZSBwbGFjZWQgZm9yCiMgICAgIGVtZXJnZXMuIFRoZSBzb3VyY2UgY29kZSBpcyBtYWludGFp
bmVkIGhlcmUgdW5sZXNzIHlvdSBkZWxldGUKIyAgICAgaXQuIFRoZSBlbnRpcmUgcmVwb3NpdG9y
eSBvZiB0YXJiYWxscyBmb3IgZ2VudG9vIGlzIDlHLiBUaGlzIGlzCiMgICAgIGNvbnNpZGVyYWJs
eSBtb3JlIHRoYW4gYW55IHVzZXIgd2lsbCBldmVyIGRvd25sb2FkLiAyLTNHIGlzCiMgICAgIGEg
bGFyZ2UgRElTVERJUi4KI0RJU1RESVI9JHtQT1JURElSfS9kaXN0ZmlsZXMKIwojIFBLR0RJUiBp
cyB0aGUgbG9jYXRpb24gb2YgYmluYXJ5IHBhY2thZ2VzIHRoYXQgeW91IGNhbiBoYXZlIGNyZWF0
ZWQKIyAgICAgd2l0aCAnLS1idWlsZHBrZycgb3IgJy1iJyB3aGlsZSBlbWVyZ2luZyBhIHBhY2th
Z2UuIFRoaXMgY2FuIGdldAojICAgICB1cHRvIHNldmVyYWwgaHVuZHJlZCBtZWdzLCBvciBldmVu
IGEgZmV3IGdpZ3MuCiNQS0dESVI9JHtQT1JURElSfS9wYWNrYWdlcwojCiMgUE9SVF9MT0dESVIg
aXMgdGhlIGxvY2F0aW9uIHdoZXJlIHBvcnRhZ2Ugd2lsbCBzdG9yZSBhbGwgdGhlIGxvZ3MgaXQK
IyAgICAgY3JlYXRlcyBmcm9tIGVhY2ggaW5kaXZpZHVhbCBtZXJnZS4gVGhleSBhcmUgc3RvcmVk
IGFzIE5OTk4tJFBGLmxvZwojICAgICBpbiB0aGUgZGlyZWN0b3J5IHNwZWNpZmllZC4gVGhpcyBp
cyBkaXNhYmxlZCB1bnRpbCB5b3UgZW5hYmxlIGl0IGJ5CiMgICAgIHByb3ZpZGluZyBhIGRpcmVj
dG9yeS4gUGVybWlzc2lvbnMgd2lsbCBiZSBtb2RpZmllZCBhcyBuZWVkZWQgSUYgdGhlCiMgICAg
IGRpcmVjdG9yeSBleGlzdHMsIG90aGVyd2lzZSBsb2dnaW5nIHdpbGwgYmUgZGlzYWJsZWQuIE5O
Tk4gaXMgdGhlCiMgICAgIGluY3JlbWVudCBhdCB0aGUgdGltZSB0aGUgbG9nIGlzIGNyZWF0ZWQu
IExvZ3MgYXJlIHRodXMgc2VxdWVudGlhbC4KI1BPUlRfTE9HRElSPS92YXIvbG9nL3BvcnRhZ2UK
IwojIFBPUlRESVJfT1ZFUkxBWSBpcyBhIGRpcmVjdG9yeSB3aGVyZSBsb2NhbCBlYnVpbGRzIG1h
eSBiZSBzdG9yZWQgd2l0aG91dAojICAgICBjb25jZXJuIHRoYXQgdGhleSB3aWxsIGJlIGRlbGV0
ZWQgYnkgcnN5bmMgdXBkYXRlcy4gRGVmYXVsdCBpcyBub3QKIyAgICAgZGVmaW5lZC4KI1BPUlRE
SVJfT1ZFUkxBWT0vdXNyL2xvY2FsL3BvcnRhZ2UKUE9SVERJUl9PVkVSTEFZPSIvdXNyL2xvY2Fs
L3BvcnRhZ2UiCgojIEZldGNoaW5nIGZpbGVzIAojID09PT09PT09PT09PT09CiMKIyBJZiB5b3Ug
bmVlZCB0byBzZXQgYSBwcm94eSBmb3Igd2dldCBvciBsdWtlbWZ0cCwgYWRkIHRoZSBhcHByb3By
aWF0ZSAiZXhwb3J0CiMgZnRwX3Byb3h5PTxwcm94eT4iIGFuZCAiZXhwb3J0IGh0dHBfcHJveHk9
PHByb3h5PiIgbGluZXMgdG8gL2V0Yy9wcm9maWxlIGlmCiMgYWxsIHVzZXJzIG9uIHlvdXIgc3lz
dGVtIHNob3VsZCB1c2UgdGhlbS4KIwojIFBvcnRhZ2UgdXNlcyB3Z2V0IGJ5IGRlZmF1bHQuIEhl
cmUgYXJlIHNvbWUgc2V0dGluZ3MgZm9yIHNvbWUgYWx0ZXJuYXRlCiMgZG93bmxvYWRlcnMgLS0g
bm90ZSB0aGF0IHlvdSBuZWVkIHRvIG1lcmdlIHRoZXNlIHByb2dyYW1zIGZpcnN0IGJlZm9yZSB0
aGV5CiMgd2lsbCBiZSBhdmFpbGFibGUuCiMKIyBEZWZhdWx0IGZldGNoIGNvbW1hbmQgKDUgdHJp
ZXMsIHBhc3NpdmUgZnRwIGZvciBmaXJld2FsbCBjb21wYXRpYmlsaXR5KQojRkVUQ0hDT01NQU5E
PSIvdXNyL2Jpbi93Z2V0IC10IDUgLVQgNjAgLS1wYXNzaXZlLWZ0cCBcJHtVUkl9IC1QIFwke0RJ
U1RESVJ9IgojUkVTVU1FQ09NTUFORD0iL3Vzci9iaW4vd2dldCAtYyAtdCA1IC1UIDYwIC0tcGFz
c2l2ZS1mdHAgXCR7VVJJfSAtUCBcJHtESVNURElSfSIKIwojIFVzaW5nIHdnZXQsIHJhdGVsaW1p
dGluZyBkb3dubG9hZHMKI0ZFVENIQ09NTUFORD0iL3Vzci9iaW4vd2dldCAtdCA1IC1UIDYwIC0t
cGFzc2l2ZS1mdHAgLS1saW1pdC1yYXRlPTIwMGsgXCR7VVJJfSAtUCBcJHtESVNURElSfSIKI1JF
U1VNRUNPTU1BTkQ9Ii91c3IvYmluL3dnZXQgLWMgLXQgNSAtVCA2MCAtLXBhc3NpdmUtZnRwIC0t
bGltaXQtcmF0ZT0yMDBrIFwke1VSSX0gLVAgXCR7RElTVERJUn0iCiMKIyBMdWtlbWZ0cCAoQlNE
IGZ0cCk6CiNGRVRDSENPTU1BTkQ9Ii91c3IvYmluL2x1a2VtZnRwIC1zIC1hIC1vIFwke0RJU1RE
SVJ9L1wke0ZJTEV9IFwke1VSSX0iCiNSRVNVTUVDT01NQU5EPSIvdXNyL2Jpbi9sdWtlbWZ0cCAt
cyAtYSAtUiAtbyBcJHtESVNURElSfS9cJHtGSUxFfSBcJHtVUkl9IgojCiMgUG9ydGFnZSB1c2Vz
IEdFTlRPT19NSVJST1JTIHRvIHNwZWNpZnkgbWlycm9ycyB0byB1c2UgZm9yIHNvdXJjZSByZXRy
aWV2YWwuCiMgVGhlIGxpc3QgaXMgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCB3aGljaCBpcyByZWFk
IGxlZnQgdG8gcmlnaHQuIElmIHlvdSB1c2UKIyBhbm90aGVyIG1pcnJvciB3ZSBoaWdobHkgcmVj
b21tZW5kIGxlYXZpbmcgdGhlIGRlZmF1bHQgbWlycm9yIGF0IHRoZSBlbmQgb2YKIyB0aGUgbGlz
dCBzbyB0aGF0IHBvcnRhZ2Ugd2lsbCBmYWxsIGJhY2sgdG8gaXQgaWYgdGhlIGZpbGVzIGNhbm5v
dCBiZSBmb3VuZAojIG9uIHlvdXIgc3BlY2lmaWVkIG1pcnJvci4gV2UgX0hJR0hMWV8gcmVjb21t
ZW5kIHRoYXQgeW91IGNoYW5nZSB0aGlzIHNldHRpbmcKIyB0byBhIG5lYXJieSBtaXJyb3IgYnkg
bWVyZ2luZyBhbmQgdXNpbmcgdGhlICdtaXJyb3JzZWxlY3QnIHRvb2wuCiNHRU5UT09fTUlSUk9S
Uz0iPHlvdXJfbWlycm9yX2hlcmU+IGh0dHA6Ly9kaXN0ZmlsZXMuZ2VudG9vLm9yZyBodHRwOi8v
d3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9kaXN0cmlidXRpb25zL2dlbnRvbyIKR0VOVE9PX01J
UlJPUlM9Imh0dHA6Ly9jdWRsdWcuY3VkZW52ZXIuZWR1L2dlbnRvby8gaHR0cDovL21vZHplcjAu
Y3MudWFmLmVkdS9wdWJsaWMvZ2VudG9vLyBodHRwOi8vZ2VudG9vLmFyY3RpY25ldHdvcmsuY2Ev
IGZ0cDovL2dlbnRvby5sbGFyaWFuLm5ldC9wdWIvZ2VudG9vIGh0dHA6Ly9nZW50b28ubGxhcmlh
bi5uZXQvIgojCiMgUG9ydGFnZSB1c2VzIFBPUlRBR0VfQklOSE9TVCB0byBzcGVjaWZ5IG1pcnJv
cnMgZm9yIHByZWJ1aWx0LWJpbmFyeSBwYWNrYWdlcy4KIyBUaGUgbGlzdCBpcyBhIHNpbmdsZSBl
bnRyeSBzcGVjaWZ5aW5nIHRoZSBmdWxsIGFkZHJlc3Mgb2YgdGhlIGRpcmVjdG9yeQojIHNlcnZp
bmcgdGhlIHRiejIncyBmb3IgeW91ciBzeXN0ZW0uIFJ1bm5pbmcgZW1lcmdlIHdpdGggZWl0aGVy
ICctLWdldGJpbnBrZycKIyBvciAnLS1nZXRiaW5wa2dvbmx5JyB3aWxsIGNhdXNlIHBvcnRhZ2Ug
dG8gcmV0cmlldmUgdGhlIG1ldGFkYXRhIGZyb20gYWxsCiMgcGFja2FnZXMgaW4gdGhlIGRpcmVj
dG9yeSBzcGVjaWZpZWQsIGFuZCB1c2UgdGhhdCBkYXRhIHRvIGRldGVybWluZSB3aGF0IHdpbGwK
IyBiZSBkb3dubG9hZGVkIGFuZCBtZXJnZWQuICctZycgb3IgJy1nSycgYXJlIHRoZSByZWNvbW1l
bmQgcGFyYW1ldGVycy4gUGxlYXNlCiMgY29uc3VsdCB0aGUgbWFuIHBhZ2VzIGFuZCAnZW1lcmdl
IC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIEZvciBGVFAsIHRoZQojIGRlZmF1bHQgY29u
bmVjdGlvbiBpcyBwYXNzaXZlIC0tIElmIHlvdSByZXF1aXJlIGFuIGFjdGl2ZSBjb25uZWN0aW9u
LCBhZmZpeAojIGFuIGFzdGVyaXNrICgqKSB0byB0aGUgZW5kIG9mIHRoZSBob3N0OnBvcnQgc3Ry
aW5nIGJlZm9yZSB0aGUgcGF0aC4KI1BPUlRBR0VfQklOSE9TVD0iaHR0cDovL2dycC5taXJyb3Iu
c2l0ZS9nZW50b28vZ3JwLzEuNC9pNjg2L2F0aGxvbi14cC8iCiMgVGhpcyBmdHAgY29ubmVjdGlv
biBpcyBwYXNzaXZlIGZ0cC4KI1BPUlRBR0VfQklOSE9TVD0iZnRwOi8vbG9naW46cGFzc0BncnAu
bWlycm9yLnNpdGUvcHViL2dycC9pNjg2L2F0aGxvbi14cC8iCiMgVGhpcyBmdHAgY29ubmVjdGlv
biBpcyBhY3RpdmUgZnRwLgojUE9SVEFHRV9CSU5IT1NUPSJmdHA6Ly9sb2dpbjpwYXNzQGdycC5t
aXJyb3Iuc2l0ZToyMSovcHViL2dycC9pNjg2L2F0aGxvbi14cC8iCgojIFN5bmNocm9uaXppbmcg
UG9ydGFnZQojID09PT09PT09PT09PT09PT09PT09PQojCiMgRWFjaCBvZiB0aGVzZSBzZXR0aW5n
cyBhZmZlY3RzIGhvdyBHZW50b28gc3luY2hyb25pemVzIHlvdXIgUG9ydGFnZSB0cmVlLgojIFN5
bmNocm9uaXphdGlvbiBpcyBoYW5kbGVkIGJ5IHJzeW5jIGFuZCB0aGVzZSBzZXR0aW5ncyBhbGxv
dyBzb21lIGNvbnRyb2wKIyBvdmVyIGhvdyBpdCBpcyBkb25lLgojCiMKIyBTWU5DIGlzIHRoZSBz
ZXJ2ZXIgdXNlZCBieSByc3luYyB0byByZXRyaWV2ZSBhIGxvY2FsaXplZCByc3luYyBtaXJyb3IK
IyAgICAgcm90YXRpb24uIFRoaXMgYWxsb3dzIHlvdSB0byBzZWxlY3Qgc2VydmVycyB0aGF0IGFy
ZSBnZW9ncmFwaGljYWxseQojICAgICBjbG9zZSB0byB5b3UsIHlldCBzdGlsbCBkaXN0cmlidXRl
IHRoZSBsb2FkIG92ZXIgYSBudW1iZXIgb2Ygc2VydmVycy4KIyAgICAgUGxlYXNlIGRvIG5vdCBz
aW5nbGUgb3V0IHNwZWNpZmljIHJzeW5jIG1pcnJvcnMuIERvaW5nIHNvIHBsYWNlcyB1bmR1ZQoj
ICAgICBzdHJlc3Mgb24gcGFydGljdWxhciBtaXJyb3JzLiAgSW5zdGVhZCB5b3UgbWF5IHVzZSBv
bmUgb2YgdGhlIGZvbGxvd2luZwojICAgICBjb250aW5lbnQgc3BlY2lmaWMgcm90YXRpb25zOgoj
CiMgICBEZWZhdWx0OiAgICAgICAicnN5bmM6Ly9yc3luYy5nZW50b28ub3JnL2dlbnRvby1wb3J0
YWdlIgojICAgTm9ydGggQW1lcmljYTogInJzeW5jOi8vcnN5bmMubmFtZXJpY2EuZ2VudG9vLm9y
Zy9nZW50b28tcG9ydGFnZSIKIyAgIFNvdXRoIEFtZXJpY2E6ICJyc3luYzovL3JzeW5jLnNhbWVy
aWNhLmdlbnRvby5vcmcvZ2VudG9vLXBvcnRhZ2UiCiMgICBFdXJvcGU6ICAgICAgICAicnN5bmM6
Ly9yc3luYy5ldXJvcGUuZ2VudG9vLm9yZy9nZW50b28tcG9ydGFnZSIKIyAgIEFzaWE6ICAgICAg
ICAgICJyc3luYzovL3JzeW5jLmFzaWEuZ2VudG9vLm9yZy9nZW50b28tcG9ydGFnZSIKIyAgIEF1
c3RyYWxpYTogICAgICJyc3luYzovL3JzeW5jLmF1LmdlbnRvby5vcmcvZ2VudG9vLXBvcnRhZ2Ui
CiNTWU5DPSJyc3luYzovL3JzeW5jLmdlbnRvby5vcmcvZ2VudG9vLXBvcnRhZ2UiCiMKIyBQT1JU
QUdFX1JTWU5DX1JFVFJJRVMgc2V0cyB0aGUgbnVtYmVyIG9mIHRpbWVzIHBvcnRhZ2Ugd2lsbCBh
dHRlbXB0IHRvIHJldHJpZXZlCiMgICAgIGEgY3VycmVudCBwb3J0YWdlIHRyZWUgYmVmb3JlIGl0
IGV4aXRzIHdpdGggYW4gZXJyb3IuIFRoaXMgYWxsb3dzCiMgICAgIGZvciBhIG1vcmUgc3VjY2Vz
c2Z1bCByZXRyaWV2YWwgd2l0aG91dCB1c2VyIGludGVydmVudGlvbiBtb3N0IHRpbWVzLgojUE9S
VEFHRV9SU1lOQ19SRVRSSUVTPSIzIgojCiMgUE9SVEFHRV9SU1lOQ19FWFRSQV9PUFRTIGNhbiBi
ZSB1c2VkIHRvIGZlZWQgYWRkaXRpb25hbCBvcHRpb25zIHRvIHRoZSByc3luYwojICAgICBjb21t
YW5kIHVzZWQgYnkgYGVtZXJnZSAtLXN5bmNgLiBUaGlzIHdpbGwgbm90IGNoYW5nZSB0aGUgZGVm
YXVsdCBvcHRpb25zCiMgICAgIHdoaWNoIGFyZSBzZXQgYnkgUE9SVEFHRV9SU1lOQ19PUFRTIChk
b24ndCBjaGFuZ2UgdGhvc2UgdW5sZXNzIHlvdSBrbm93IAojICAgICBleGFjdGx5IHdoYXQgeW91
J3JlIGRvaW5nKS4KI1BPUlRBR0VfUlNZTkNfRVhUUkFfT1BUUz0iIgojCiMgQWR2YW5jZWQgRmVh
dHVyZXMKIyA9PT09PT09PT09PT09PT09PQojCiMgRU1FUkdFX0RFRkFVTFRfT1BUUyBhbGxvd3Mg
ZW1lcmdlIHRvIGFjdCBhcyBpZiBjZXJ0YWluIG9wdGlvbnMgYXJlCiMgICAgIHNwZWNpZmllZCBv
biBldmVyeSBydW4uIFVzZWZ1bCBvcHRpb25zIGluY2x1ZGUgLS1hc2ssIC0tdmVyYm9zZSwKIyAg
ICAgLS11c2Vwa2cgYW5kIG1hbnkgb3RoZXJzLiBPcHRpb25zIHRoYXQgYXJlIG5vdCB1c2VmdWws
IHN1Y2ggYXMgLS1oZWxwLAojICAgICBhcmUgbm90IGZpbHRlcmVkLgojRU1FUkdFX0RFRkFVTFRf
T1BUUz0iIgojCiMgTUFLRU9QVFMgcHJvdmlkZXMgZXh0cmEgb3B0aW9ucyB0aGF0IG1heSBiZSBw
YXNzZWQgdG8gJ21ha2UnIHdoZW4gYQojICAgICBwcm9ncmFtIGlzIGNvbXBpbGVkLiBQcmVzZW50
bHkgdGhlIG9ubHkgdXNlIGlzIGZvciBzcGVjaWZ5aW5nCiMgICAgIHRoZSBudW1iZXIgb2YgcGFy
YWxsZWwgbWFrZXMgKC1qKSB0byBwZXJmb3JtLiBUaGUgc3VnZ2VzdGVkIG51bWJlcgojICAgICBm
b3IgcGFyYWxsZWwgbWFrZXMgaXMgQ1BVcysxLgpNQUtFT1BUUz0iLWoyIgojCiMgUE9SVEFHRV9O
SUNFTkVTUyBwcm92aWRlcyBhIGRlZmF1bHQgaW5jcmVtZW50IHRvIGVtZXJnZSdzIG5pY2VuZXNz
IGxldmVsLgojICAgICBOb3RlOiBUaGlzIGlzIGFuIGluY3JlbWVudC4gUnVubmluZyBlbWVyZ2Ug
aW4gYSBuaWNlZCBlbnZpcm9ubWVudCB3aWxsCiMgICAgIHJlZHVjZSBpdCBmdXJ0aGVyLiBEZWZh
dWx0IGlzIHVuc2V0LgpQT1JUQUdFX05JQ0VORVNTPTMKIwojIEFVVE9DTEVBTiBlbmFibGVzIHBv
cnRhZ2UgdG8gYXV0b21hdGljYWxseSBjbGVhbiBvdXQgb2xkZXIgb3Igb3ZlcmxhcHBpbmcKIyAg
ICAgcGFja2FnZXMgZnJvbSB0aGUgc3lzdGVtIGFmdGVyIGV2ZXJ5IHN1Y2Nlc3NmdWwgbWVyZ2Uu
IFRoaXMgaXMgdGhlCiMgICAgIHNhbWUgYXMgcnVubmluZyAnZW1lcmdlIC1jJyBhZnRlciBldmVy
eSBtZXJnZS4gU2V0IHdpdGg6ICJ5ZXMiIG9yICJubyIuCiMgICAgIFRoaXMgZG9lcyBub3QgYWZm
ZWN0IHRoZSB1bnBhY2tlZCBzb3VyY2UuIFNlZSAnbm9jbGVhbicgYmVsb3cuCiMKIyAgICAgV2Fy
bmluZzogQVVUT0NMRUFOPSJubyIgY2FuIGNhdXNlIHNlcmlvdXMgcHJvYmxlbXMgZHVlIHRvIG92
ZXJsYXBwaW5nCiMgICAgICAgICAgICAgIHBhY2thZ2VzLiAgRG8gbm90IHVzZSBpdCB1bmxlc3Mg
YWJzb2x1dGVseSBuZWNlc3NhcnkhCiNBVVRPQ0xFQU49InllcyIKIwojIFBPUlRBR0VfVE1QRlMg
aXMgYSBsb2NhdGlvbiB3aGVyZSBwb3J0YWdlIG1heSBjcmVhdGUgdGVtcG9yYXJ5IGZpbGVzLgoj
ICAgICBJZiBzcGVjaWZpZWQsIHBvcnRhZ2Ugd2lsbCB1c2UgdGhpcyBkaXJlY3Rvcnkgd2hlbmV2
ZXIgcG9zc2libGUKIyAgICAgZm9yIGFsbCByYXBpZCBvcGVyYXRpb25zIHN1Y2ggYXMgbG9ja2Zp
bGVzIGFuZCB0cmFuc2llbnQgZGF0YS4KIyAgICAgSXQgaXMgX2hpZ2hseV8gcmVjb21tZW5kZWQg
dGhhdCB0aGlzIGJlIGEgdG1wZnMgb3IgcmFtZGlzay4gRG8gbm90CiMgICAgIHNldCB0aGlzIHRv
IGFueXRoaW5nIHRoYXQgZG9lcyBub3QgZ2l2ZSBhIHNpZ25pZmljYW50IHBlcmZvcm1hbmNlCiMg
ICAgIGVuaGFuY2VtZW50IGFuZCBwcm9wZXIgRlMgY29tcGxpYW5jZSBmb3IgbG9ja3MgYW5kIHJl
YWQvd3JpdGUuCiMgICAgIC9kZXYvc2htIGlzIGEgZ2xpYmMgbWFuZGF0ZWQgdG1wZnMsIGFuZCBz
aG91bGQgYmUgYSByZWFzb25hYmxlCiMgICAgIHNldHRpbmcgZm9yIGFsbCBsaW51eCBrZXJuZWwr
Z2xpYmMgYmFzZWQgc3lzdGVtcy4KI1BPUlRBR0VfVE1QRlM9Ii9kZXYvc2htIgojCiMgRkVBVFVS
RVMgYXJlIHNldHRpbmdzIHRoYXQgYWZmZWN0IHRoZSBmdW5jdGlvbmFsaXR5IG9mIHBvcnRhZ2Uu
IE1vc3Qgb2YKIyAgICAgdGhlc2Ugc2V0dGluZ3MgYXJlIGZvciBkZXZlbG9wZXIgdXNlLCBidXQg
c29tZSBhcmUgYXZhaWxhYmxlIHRvIG5vbi0KIyAgICAgZGV2ZWxvcGVycyBhcyB3ZWxsLiAKIwoj
ICAnYXV0b2FkZGN2cycgIGNhdXNlcyBwb3J0YWdlIHRvIGF1dG9tYXRpY2FsbHkgdHJ5IHRvIGFk
ZCBmaWxlcyB0byBjdnMKIyAgICAgICAgICAgICAgICB0aGF0IHdpbGwgaGF2ZSB0byBiZSBhZGRl
ZCBsYXRlci4gRG9uZSBhdCBnZW5lcmF0aW9uIHRpbWVzCiMgICAgICAgICAgICAgICAgYW5kIG9u
bHkgaGFzIGFuIGVmZmVjdCB3aGVuICdjdnMnIGlzIGFsc28gc2V0LgojICAnYnVpbGRwa2cnICAg
IGNhdXNlcyBiaW5hcnkgcGFja2FnZXMgdG8gYmUgY3JlYXRlZCBvZiBhbGwgcGFja2FnZXMgdGhh
dCAKIyAgICAgICAgICAgICAgICBhcmUgYmVpbmcgbWVyZ2VkLgojICAnY2NhY2hlJyAgICAgIGVu
YWJsZXMgY2NhY2hlIHN1cHBvcnQgdmlhIENDLgojICAnY29uZmNhY2hlJyAgIGVuYWJsZSBjb25m
Y2FjaGUgc3VwcG9ydDsgc3BlZWRzIHVwIGF1dG90b29sIGJhc2VkIGNvbmZpZ3VyZQojICAgICAg
ICAgICAgICAgIGNhbGxzCiMgICdjb2xsaXNpb24tcHJvdGVjdCcKIyAgICAgICAgICAgICAgICBw
cmV2ZW50cyBwYWNrYWdlcyBmcm9tIG92ZXJ3cml0aW5nIGZpbGVzIHRoYXQgYXJlIG93bmVkIGJ5
CiMgICAgICAgICAgICAgICAgYW5vdGhlciBwYWNrYWdlIG9yIGJ5IG5vIHBhY2thZ2UgYXQgYWxs
LgojICAnY3ZzJyAgICAgICAgIGNhdXNlcyBwb3J0YWdlIHRvIGVuYWJsZSBhbGwgY3ZzIGZlYXR1
cmVzIChjb21taXRzLCBhZGRzKSwKIyAgICAgICAgICAgICAgICBhbmQgdG8gYXBwbHkgYWxsIFVT
RSBmbGFncyBpbiBTUkNfVVJJIGZvciBkaWdlc3RzIC0tIGZvcgojICAgICAgICAgICAgICAgIGRl
dmVsb3BlcnMgb25seS4KIyAgJ2RpZ2VzdCcgICAgICBjYXVzZXMgZGlnZXN0cyB0byBiZSBnZW5l
cmF0ZWQgZm9yIGFsbCBwYWNrYWdlcyBiZWluZyBtZXJnZWQuCiMgICdkaXN0Y2MnICAgICAgZW5h
YmxlcyBkaXN0Y2Mgc3VwcG9ydCB2aWEgQ0MuCiMgICdkaXN0bG9ja3MnICAgZW5hYmxlcyBkaXN0
ZmlsZXMgbG9ja2luZyB1c2luZyBmY250bCBvciBoYXJkbGlua3MuIFRoaXMKIyAgICAgICAgICAg
ICAgICBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuIFRvb2xzIGV4aXN0IHRvIGhlbHAgY2xlYW4gdGhl
IGxvY2tzCiMgICAgICAgICAgICAgICAgYWZ0ZXIgY3Jhc2hlczogL3Vzci9saWIvcG9ydGFnZS9i
aW4vY2xlYW5fbG9ja3MuCiMgICdmaXhwYWNrYWdlcycgYWxsb3dzIHBvcnRhZ2UgdG8gZml4IGJp
bmFyeSBwYWNrYWdlcyB0aGF0IGFyZSBzdG9yZWQgaW4KIyAgICAgICAgICAgICAgICBQS0dESVIu
IFRoaXMgY2FuIGNvbnN1bWUgYSBsb3Qgb2YgdGltZS4gJ2ZpeHBhY2thZ2VzJyBpcwojICAgICAg
ICAgICAgICAgIGFsc28gYSBzY3JpcHQgdGhhdCBjYW4gYmUgcnVuIGF0IGFueSBnaXZlbiB0aW1l
IHRvIGZvcmNlCiMgICAgICAgICAgICAgICAgdGhlIHNhbWUgYWN0aW9ucy4KIyAgJ2dwZycgICAg
ICAgICBlbmFibGVzIGJhc2ljIHZlcmlmaWNhdGlvbiBvZiBNYW5pZmVzdCBmaWxlcyB1c2luZyBn
cGcuCiMgICAgICAgICAgICAgICAgVGhpcyBmZWF0dXJlcyBpcyBVTkRFUiBERVZFTE9QTUVOVCBh
bmQgcmVhY3RzIHRvIGZlYXR1cmVzCiMgICAgICAgICAgICAgICAgb2Ygc3RyaWN0IGFuZCBzZXZl
cmUuIEhlYXZ5IHVzZSBvZiBncGcgc2lncyBpcyBjb21pbmcuCiMgICdrZWVwdGVtcCcgICAgcHJl
dmVudHMgdGhlIGNsZWFuIHBoYXNlIGZyb20gZGVsZXRpbmcgdGhlIHRlbXAgZmlsZXMgKCRUKSAK
IyAgICAgICAgICAgICAgICBmcm9tIGEgbWVyZ2UuCiMgICdrZWVwd29yaycgICAgcHJldmVudHMg
dGhlIGNsZWFuIHBoYXNlIGZyb20gZGVsZXRpbmcgdGhlIFdPUktESVIuCiMgICd0ZXN0JyAgICAg
ICAgY2F1c2VzIGVidWlsZHMgdG8gcGVyZm9ybSB0ZXN0aW5nIHBoYXNlcyBpZiB0aGV5IGFyZSBj
YXBhYmxlCiMgICAgICAgICAgICAgICAgb2YgaXQuIFNvbWUgcGFja2FnZXMgc3VwcG9ydCB0aGlz
IGF1dG9tYXRpY2FseSB2aWEgbWFrZWZpbGVzLgojICAnbWV0YWRhdGEtdHJhbnNmZXInCiMgICAg
ICAgICAgICAgICAgYXV0b21hdGljYWxseSBwZXJmb3JtIGEgbWV0YWRhdGEgdHJhbnNmZXIgd2hl
biBgZW1lcmdlIC0tc3luY2AKIyAgICAgICAgICAgICAgICBpcyBydW4uCiMgICdub2F1dG8nICAg
ICAgY2F1c2VzIGVidWlsZCB0byBwZXJmb3JtIG9ubHkgdGhlIGFjdGlvbiByZXF1ZXN0ZWQgYW5k
IAojICAgICAgICAgICAgICAgIG5vdCBhbnkgb3RoZXIgcmVxdWlyZWQgYWN0aW9ucyBsaWtlIGNs
ZWFuIG9yIHVucGFjayAtLSBmb3IKIyAgICAgICAgICAgICAgICBkZWJ1Z2dpbmcgcHVycG9zZXMg
b25seS4KIyAgJ25vY2xlYW4nICAgICBwcmV2ZW50cyBwb3J0YWdlIGZyb20gcmVtb3ZpbmcgdGhl
IHNvdXJjZSBhbmQgdGVtcG9yYXJ5IGZpbGVzIAojICAgICAgICAgICAgICAgIGFmdGVyIGEgbWVy
Z2UgLS0gZm9yIGRlYnVnZ2luZyBwdXJwb3NlcyBvbmx5LiAKIyAgJ25vc3RyaXAnICAgICBwcmV2
ZW50cyB0aGUgc3RyaXBwaW5nIG9mIGJpbmFyaWVzLgojICAnbm90aXRsZXMnICAgIGRpc2FibGVz
IHh0ZXJtIHRpdGxlYmFyIHVwZGF0ZXMgKHdoaWNoIGNvbnRhaW4gc3RhdHVzIGluZm8pLiAKIyAg
J3BhcmFsbGVsLWZldGNoJwojICAgICAgICAgICAgICAgIGRvIGZldGNoaW5nIGluIHBhcmFsbGVs
IHRvIGNvbXBpbGF0aW9uCiMgICdzYW5kYm94JyAgICAgZW5hYmxlcyBzYW5kYm94aW5nIHdoZW4g
cnVubmluZyBlbWVyZ2UgYW5kIGVidWlsZC4KIyAgJ3N0cmljdCcgICAgICBjYXVzZXMgcG9ydGFn
ZSB0byByZWFjdCBzdHJvbmdseSB0byBjb25kaXRpb25zIHRoYXQgYXJlCiMgICAgICAgICAgICAg
ICAgcG90ZW50aWFsbHkgZGFuZ2Vyb3VzLCBsaWtlIG1pc3NpbmcvaW5jb3JyZWN0IE1hbmlmZXN0
IGZpbGVzLgojICAndXNlcmZldGNoJyAgIHdoZW4gcG9ydGFnZSBpcyBydW4gYXMgcm9vdCwgZHJv
cCBwcml2aWxlZ2VzIHRvCiMgICAgICAgICAgICAgICAgcG9ydGFnZTpwb3J0YWdlIGR1cmluZyB0
aGUgZmV0Y2hpbmcgb2YgcGFja2FnZSBzb3VyY2VzLgojICAndXNlcnByaXYnICAgIGFsbG93cyBw
b3J0YWdlIHRvIGRyb3Agcm9vdCBwcml2aWxlZ2VzIHdoaWxlIGl0IGlzIGNvbXBpbGluZywKIyAg
ICAgICAgICAgICAgICBhcyBhIHNlY3VyaXR5IG1lYXN1cmUuICBBcyBhIHNpZGUgZWZmZWN0IHRo
aXMgY2FuIHJlbW92ZSAKIyAgICAgICAgICAgICAgICBzYW5kYm94IGFjY2VzcyB2aW9sYXRpb25z
IGZvciB1c2Vycy4gCiMgICd1c2Vyc2FuZGJveCcgZW5hYmxlcyBzYW5kYm94aW5nIHdoaWxlIHBv
cnRhZ2UgaXMgcnVubmluZyB1bmRlciB1c2VycHJpdi4KI0ZFQVRVUkVTPSJzYW5kYm94IGJ1aWxk
cGtnIGNjYWNoZSBkaXN0Y2MgdXNlcnByaXYgdXNlcnNhbmRib3ggbm90aXRsZXMgbm9jbGVhbiBu
b2F1dG8gY3ZzIGtlZXB0ZW1wIGtlZXB3b3JrIGF1dG9hZGRjdnMiCiNGRUFUVVJFUz0ic2FuZGJv
eCBjY2FjaGUgZGlzdGNjIGRpc3Rsb2NrcyBhdXRvYWRkY3ZzIgojCiMgQ0NBQ0hFX1NJWkUgc2V0
cyB0aGUgc3BhY2UgdXNlIGxpbWl0YXRpb25zIGZvciBjY2FjaGUuIFRoZSBkZWZhdWx0IHNpemUg
aXMKIyAgICAgMkcsIGFuZCB3aWxsIGJlIHNldCBpZiBub3QgZGVmaW5lZCBvdGhlcndpc2UgYW5k
IGNjYWNoZSBpcyBpbiBmZWF0dXJlcy4gCiMgICAgIFBvcnRhZ2Ugd2lsbCBzZXQgdGhlIGRlZmF1
bHQgY2NhY2hlIGRpciBpZiBpdCBpcyBub3QgcHJlc2VudCBpbiB0aGUKIyAgICAgdXNlcidzIGVu
dmlyb25tZW50LCBmb3IgdXNlcnByaXYgaXQgc2V0czogJHtQT1JUQUdFX1RNUERJUn0vY2NhY2hl
CiMgICAgICgvdmFyL3RtcC9jY2FjaGUpLCBhbmQgZm9yIHJlZ3VsYXIgdXNlIHRoZSBkZWZhdWx0
IGlzIC9yb290Ly5jY2FjaGUuCiMgICAgIFNpemVzIGFyZSBzcGVjaWZpZWQgd2l0aCAnRycgJ00n
IG9yICdLJy4KIyAgICAgJzJHJyBmb3IgMiBnaWdhYnl0ZXMsICcyMDQ4TScgZm9yIDIwNDggbWVn
YWJ5dGVzIChzYW1lIGFzIDJHKS4KI0NDQUNIRV9TSVpFPSI1MTJNIgojCiMgRElTVENDX0RJUiBz
ZXRzIHRoZSB0ZW1wb3Jhcnkgc3BhY2UgdXNlZCBieSBkaXN0Y2MuCiNESVNUQ0NfRElSPSIke1BP
UlRBR0VfVE1QRElSfS8uZGlzdGNjIgoKIyBsb2dnaW5nIHJlbGF0ZWQgdmFyaWFibGVzOgojIFBP
UlRBR0VfRUxPR19DTEFTU0VTOiBzZWxlY3RzIG1lc3NhZ2VzIHRvIGJlIGxvZ2dlZCwgcG9zc2li
bGUgdmFsdWVzIGFyZToKIyAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mbywgd2FybiwgZXJy
b3IsIGxvZwojICAgICAgICAgICAgICAgICAgICAgICBXYXJuaW5nOiBjb21tZW50aW5nIHRoaXMg
d2lsbCBkaXNhYmxlIGVsb2cKUE9SVEFHRV9FTE9HX0NMQVNTRVM9Indhcm4gZXJyb3IgbG9nIgoK
IyBQT1JUQUdFX0VMT0dfU1lTVEVNOiBzZWxlY3RzIHRoZSBtb2R1bGUocykgdG8gcHJvY2VzcyB0
aGUgbG9nIG1lc3NhZ2VzLiBNb2R1bGVzCiMgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZWQg
aW4gcG9ydGFnZSBhcmUgKGVtcHR5IG1lYW5zIGxvZ2dpbmcgaXMgZGlzYWJsZWQpOgojICAgICAg
ICAgICAgICAgICAgICAgICAgICBzYXZlIChzYXZlcyBvbmUgbG9nIHBlciBwYWNrYWdlIGluICRQ
T1JUX0xPR0RJUi9lbG9nLCAKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL3Zhci9s
b2cvcG9ydGFnZS9lbG9nIGlmICRQT1JUX0xPR0RJUiBpcyB1bnNldCkKIyAgICAgICAgICAgICAg
ICAgICAgICAgICAgY3VzdG9tIChwYXNzZXMgYWxsIG1lc3NhZ2VzIHRvICRQT1JUQUdFX0VMT0df
Q09NTUFORCkKIyAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzbG9nIChzZW5kcyBhbGwgbWVz
c2FnZXMgdG8gc3lzbG9nKQojICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlsIChzZW5kIGFs
bCBtZXNzYWdlcyB0byB0aGUgbWFpbHNlcnZlciBkZWZpbmVkIAojICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiAkUE9SVEFHRV9FTE9HX01BSUxVUkkpCiMgICAgICAgICAgICAgICAg
ICAgICAgVG8gdXNlIGVsb2cgeW91IHNob3VsZCBlbmFibGUgYXQgbGVhc3Qgb25lIG1vZHVsZQoj
UE9SVEFHRV9FTE9HX1NZU1RFTT0ic2F2ZSBtYWlsIgoKIyBQT1JUQUdFX0VMT0dfQ09NTUFORDog
b25seSB1c2VkIHdpdGggdGhlICJjdXN0b20iIGxvZ2dpbmcgbW9kdWxlLiBTcGVjaWZpZXMgYSBj
b21tYW5kCiMgICAgICAgICAgICAgICAgICAgICAgdG8gcHJvY2VzcyBsb2cgbWVzc2FnZXMuIFR3
byB2YXJpYWJsZXMgYXJlIGV4cGFuZGVkOgojICAgICAgICAgICAgICAgICAgICAgICAgICAke1BB
Q0tBR0V9IC0gZXhwYW5kcyB0byB0aGUgY3B2IGVudHJ5IG9mIHRoZSBwcm9jZXNzZWQgCiMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWNrYWdlIChzZWUgJFBWUiBpbiBl
YnVpbGQoNSkpCiMgICAgICAgICAgICAgICAgICAgICAgICAgICR7TE9HRklMRX0gLSBhYnNvbHV0
ZSBwYXRoIHRvIHRoZSBsb2dmaWxlCiMJCQkJCQlCb3RoIHZhcmlhYmxlcyBoYXZlIHRvIGJlIHF1
b3RlZCB3aXRoIHNpbmdsZSBxdW90ZXMKI1BPUlRBR0VfRUxPR19DT01NQU5EPSIvcGF0aC90by9s
b2dwcm9jZXNzb3IgLXAgJyR7UEFDS0FHRX0nIC1mICcke0xPR0ZJTEV9JyIKCiMgUE9SVEFHRV9F
TE9HX01BSUxVUkk6IHRoaXMgdmFyaWFibGUgaG9sZHMgYWxsIGltcG9ydGFudCBzZXR0aW5ncyBm
b3IgdGhlIG1haWwKIyAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlLiBJbiBtb3N0IGNhc2Vz
IGxpc3RpbmcgdGhlIHJlY2lwaWVudCBhZGRyZXNzIGFuZAojICAgICAgICAgICAgICAgICAgICAg
ICB0aGUgcmVjZWl2aW5nIG1haWxzZXJ2ZXIgc2hvdWxkIGJlIHN1ZmZpY2llbnQsIGJ1dCB5b3Ug
Y2FuCiMgICAgICAgICAgICAgICAgICAgICAgIGFsc28gdXNlIGFkdmFuY2VkIHNldHRpbmdzIGxp
a2UgYXV0aGVudGljYXRpb24gb3IgVExTLiBUaGUKIyAgICAgICAgICAgICAgICAgICAgICAgZnVs
bCBzeW50YXggaXM6CiMgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzIFtbdXNlcjpw
YXNzd2RAXW1haWxzZXJ2ZXJbOnBvcnRdXQojICAgICAgICAgICAgICAgICAgICAgICB3aGVyZQoj
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzczogICAgcmVjaXBpZW50IGFkZHJlc3MK
IyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXI6ICAgICAgIHVzZXJuYW1lIGZvciBzbXRw
IGF1dGggKGRlZmF1bHRzIHRvIG5vbmUpCiMgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNz
d2Q6ICAgICBwYXNzd29yZCBmb3Igc210cCBhdXRoIChkZWZhdWx0cyB0byBub25lKQojICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbWFpbHNlcnZlcjogc210cCBzZXJ2ZXIgdGhhdCBzaG91bGQg
YmUgdXNlZCB0byBkZWxpdmVyIHRoZSBtYWlsIChkZWZhdWx0cyB0byBsb2NhbGhvc3QpCiMgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwb3J0OiAgICAgICBwb3J0IHRvIHVzZSBvbiB0aGUgZ2l2
ZW4gc210cCBzZXJ2ZXIgKGRlZmF1bHRzIHRvIDI1LCB2YWx1ZXMgPiAxMDAwMDAgaW5kaWNhdGUg
dGhhdCBzdGFydHRscyBzaG91bGQgYmUgdXNlZCBvbiAocG9ydC0xMDAwMDApKQojICAgICAgICAg
ICAgICAgICAgICAgICBFeGFtcGxlczoKI1BPUlRBR0VfRUxPR19NQUlMVVJJPSJyb290QGxvY2Fs
aG9zdCBsb2NhbGhvc3QiICh0aGlzIGlzIGFsc28gdGhlIGRlZmF1bHQgc2V0dGluZykKI1BPUlRB
R0VfRUxPR19NQUlMVVJJPSJ1c2VyQHNvbWUuZG9tYWluIG1haWwuc29tZS5kb21haW4iIChzZW5k
cyBtYWlscyB0byB1c2VyQHNvbWUuZG9tYWluIHVzaW5nIHRoZSBtYWlsc2VydmVyIG1haWwuc29t
ZS5kb21haW4pCiNQT1JUQUdFX0VMT0dfTUFJTFVSST0idXNlckBzb21lLmRvbWFpbiB1c2VyOnNl
Y3JldEBtYWlsLnNvbWUuZG9tYWluOjEwMDQ2NSIgKHRoaXMgaXMgbGVmdCB1bmNvbW1lbnRlZCBh
cyBhIHJlYWRlciBleGNlcmNpc2UgOykKCiMgUE9SVEFHRV9FTE9HX01BSUxGUk9NOiB5b3UgY2Fu
IHNldCB0aGUgZnJvbS1hZGRyZXNzIG9mIGxvZ21haWxzIHdpdGggdGhpcyB2YXJpYWJsZSwKIyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIHVuc2V0IG1haWxzIGFyZSBzZW50IGJ5ICJwb3J0YWdl
IiAodGhpcyBkZWZhdWx0IG1heSBmYWlsCiMgICAgICAgICAgICAgICAgICAgICAgICBpbiBzb21l
IGVudmlyb25tZW50cykuCiNQT1JUQUdFX0VMT0dfTUFJTEZST009InBvcnRhZ2VAc29tZS5kb21h
aW4iCgojIFBPUlRBR0VfRUxPR19NQUlMU1VCSkVDVDogdGVtcGxhdGUgc3RyaW5nIHRvIGJlIHVz
ZWQgYXMgc3ViamVjdCBmb3IgbG9nbWFpbHMuIFRoZSBmb2xsb3dpbmcKIyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZhcmlhYmxlcyBhcmUgZXhhbmRlZDoKIyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAke1BBQ0tBR0V9IC0gc2VlIGRlc2NyaXB0aW9uIG9mIFBPUlRBR0VfRUxPR19D
T01NQU5ECiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtIT1NUfSAtIEZRRE4gb2Yg
dGhlIGhvc3QgcG9ydGFnZSBpcyBydW5uaW5nIG9uCiNQT1JUQUdFX0VMT0dfTUFJTFNVQkpFQ1Q9
InBhY2thZ2UgXCR7UEFDS0FHRX0gbWVyZ2VkIG9uIFwke0hPU1R9IHdpdGggbm90aWNlIgoKQUxT
QV9DQVJEUz0iaW50ZWw4eDAiClZJREVPX0NBUkRTPSJudmlkaWEiCgpQT1JUX0VOT1RJQ0VfRElS
ID0gL3Zhci90bXAvcG9ydGFnZS9lbm90aWNlLwpQT1JUX0VOT1RJQ0VfTEVWRUw9ImluZm8iCnNv
dXJjZSAvdXNyL3BvcnRhZ2UvbG9jYWwvbGF5bWFuL21ha2UuY29uZgo=
</data>        

          </attachment>
    </bug>

</bugzilla>