<?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>194693</bug_id>
          
          <creation_ts>2019-02-15 00:27:51 -0800</creation_ts>
          <short_desc>[JSC] Do not even allocate JIT worklists in non-JIT mode</short_desc>
          <delta_ts>2019-02-15 11:06:25 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1506502</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-02-15 00:27:51 -0800</bug_when>
    <thetext>[JSC] Do not even allocate JIT worklists in non-JIT mode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506504</commentid>
    <comment_count>1</comment_count>
      <attachid>362102</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-02-15 00:33:46 -0800</bug_when>
    <thetext>Created attachment 362102
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506510</commentid>
    <comment_count>2</comment_count>
      <attachid>362102</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-02-15 00:59:16 -0800</bug_when>
    <thetext>Comment on attachment 362102
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506518</commentid>
    <comment_count>3</comment_count>
      <attachid>362102</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-15 01:27:48 -0800</bug_when>
    <thetext>Comment on attachment 362102
Patch

Clearing flags on attachment: 362102

Committed r241582: &lt;https://trac.webkit.org/changeset/241582&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506519</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-15 01:27:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506520</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-15 01:30:39 -0800</bug_when>
    <thetext>&lt;rdar://problem/48104783&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506597</commentid>
    <comment_count>6</comment_count>
      <attachid>362102</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-15 09:35:59 -0800</bug_when>
    <thetext>Comment on attachment 362102
Patch

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

&gt; Source/JavaScriptCore/jit/JITWorklist.cpp:339
&gt; +            WTF::storeStoreFence();

Why? Doesn’t the once act as a barrier?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506651</commentid>
    <comment_count>7</comment_count>
      <attachid>362102</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-02-15 10:55:42 -0800</bug_when>
    <thetext>Comment on attachment 362102
Patch

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

&gt;&gt; Source/JavaScriptCore/jit/JITWorklist.cpp:339
&gt;&gt; +            WTF::storeStoreFence();
&gt; 
&gt; Why? Doesn’t the once act as a barrier?

VM::~VM calls existingGlobalWorklistOrNull. It should not see half-baked JITWorklist.
If the race happens and VM::~VM missed the worklist, it is OK since it means no plan associated to destroyed VM exists in the worklist.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506659</commentid>
    <comment_count>8</comment_count>
      <attachid>362102</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-02-15 11:06:25 -0800</bug_when>
    <thetext>Comment on attachment 362102
Patch

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

&gt;&gt;&gt; Source/JavaScriptCore/jit/JITWorklist.cpp:339
&gt;&gt;&gt; +            WTF::storeStoreFence();
&gt;&gt; 
&gt;&gt; Why? Doesn’t the once act as a barrier?
&gt; 
&gt; VM::~VM calls existingGlobalWorklistOrNull. It should not see half-baked JITWorklist.
&gt; If the race happens and VM::~VM missed the worklist, it is OK since it means no plan associated to destroyed VM exists in the worklist.

The important thing is... existingGlobalWorklistOrNull does not have barrier!
I thought that DFG worklists have some mechanism guarding worklists against this race, but DFG worklist seems racy. I should put the fence to DFG/FTL worklists &amp; Wasm worklist too.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362102</attachid>
            <date>2019-02-15 00:33:46 -0800</date>
            <delta_ts>2019-02-15 01:27:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194693-20190215003345.patch</filename>
            <type>text/plain</type>
            <size>15078</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxNTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
NGRiOGZmNmY5MmE1ZjIzOWM5ZTNkMDhjMjllMzVlMWM1YWRkNjQxLi40OThhNzFhMjAxNjk5NWI3
ZDFkYWJhNGNiMGUzYzVhNzQwNGM3MjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAxOS0wMi0xNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERvIG5vdCBldmVuIGFsbG9jYXRlIEpJVCB3b3JrbGlzdHMgaW4g
bm9uLUpJVCBtb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTQ2OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBIZWFwIGFsd2F5cyBhbGxvY2F0ZXMgSklUIHdvcmtsaXN0cyBmb3IgQmFzZWxpbmUsIERG
RywgYW5kIEZUTC4gV2hpbGUgdGhleSBkbyBub3QgaGF2ZSBhY3R1YWwgdGhyZWFkcywgV29ya2xp
c3QgaXRzZWxmIGFscmVhZHkgYWxsb2NhdGVzIHNvbWUgbWVtb3J5LgorICAgICAgICBBbmQgd2Ug
ZG8gbm90IHBlcmZvcm0gYW55IEdDIG9wZXJhdGlvbnMgdGhhdCBhcmUgb25seSBtZWFuaW5nZnVs
IGluIEpJVCBlbnZpcm9ubWVudC4KKworICAgICAgICAxLiBXZSBhZGQgVk06OmNhblVzZUpJVCgp
IGNoZWNrIGluIEhlYXAncyBlbnN1cmVYWFhXb3JrbGlzdCB0aGluZ3MgdG8gcHJldmVudCB0aGVt
IGZyb20gYmVpbmcgYWxsb2NhdGVkLgorICAgICAgICAyLiBXZSByZW1vdmUgREZHIG1hcmtpbmcg
Y29uc3RyYWludCBpbiBub24tSklUIG1vZGUuCisgICAgICAgIDMuIFdlIGRvIG5vdCBnYXRoZXIg
Y29uc2VydmF0aXZlIHJvb3RzIGZyb20gc2NyYXRjaCBidWZmZXJzIHVuZGVyIHRoZSBub24tSklU
IG1vZGUgKEJUVywgIyBvZiBzY3JhdGNoIGJ1ZmZlcnMgYXJlIGFsd2F5cyB6ZXJvIGluIG5vbi1K
SVQgbW9kZSkKKyAgICAgICAgNC4gV2UgZG8gbm90IHZpc2l0IEpJVFN0dWJSb3V0aW5lU2V0Lgor
ICAgICAgICA1LiBBbGlnbiBKSVRXb3JrbGlzdCBmdW5jdGlvbiBuYW1lcyB0byB0aGUgb3RoZXIg
d29ya2xpc3RzLgorCisgICAgICAgICogZGZnL0RGR09TUkV4aXRQcmVwYXJhdGlvbi5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6cHJlcGFyZUNvZGVPcmlnaW5Gb3JPU1JFeGl0KToKKyAgICAgICAg
KiBkZmcvREZHUGxhbi5oOgorICAgICAgICAqIGRmZy9ERkdXb3JrbGlzdC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6bWFya0NvZGVCbG9ja3MpOiBEZWxldGVkLgorICAgICAgICAqIGRmZy9ERkdX
b3JrbGlzdC5oOgorICAgICAgICAqIGhlYXAvSGVhcC5jcHA6CisgICAgICAgIChKU0M6OkhlYXA6
OmNvbXBsZXRlQWxsSklUUGxhbnMpOgorICAgICAgICAoSlNDOjpIZWFwOjppdGVyYXRlRXhlY3V0
aW5nQW5kQ29tcGlsaW5nQ29kZUJsb2Nrcyk6CisgICAgICAgIChKU0M6OkhlYXA6OmdhdGhlclNj
cmF0Y2hCdWZmZXJSb290cyk6CisgICAgICAgIChKU0M6OkhlYXA6OnJlbW92ZURlYWRDb21waWxl
cldvcmtsaXN0RW50cmllcyk6CisgICAgICAgIChKU0M6OkhlYXA6OnN0b3BUaGVQZXJpcGhlcnkp
OgorICAgICAgICAoSlNDOjpIZWFwOjpzdXNwZW5kQ29tcGlsZXJUaHJlYWRzKToKKyAgICAgICAg
KEpTQzo6SGVhcDo6cmVzdW1lQ29tcGlsZXJUaHJlYWRzKToKKyAgICAgICAgKEpTQzo6SGVhcDo6
YWRkQ29yZUNvbnN0cmFpbnRzKToKKyAgICAgICAgKiBqaXQvSklUV29ya2xpc3QuY3BwOgorICAg
ICAgICAoSlNDOjpKSVRXb3JrbGlzdDo6ZXhpc3RpbmdHbG9iYWxXb3JrbGlzdE9yTnVsbCk6Cisg
ICAgICAgIChKU0M6OkpJVFdvcmtsaXN0OjplbnN1cmVHbG9iYWxXb3JrbGlzdCk6CisgICAgICAg
IChKU0M6OkpJVFdvcmtsaXN0OjppbnN0YW5jZSk6IERlbGV0ZWQuCisgICAgICAgICogaml0L0pJ
VFdvcmtsaXN0Lmg6CisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAg
ICAoSlNDOjpMTEludDo6aml0Q29tcGlsZUFuZFNldEhldXJpc3RpY3MpOgorICAgICAgICAqIHJ1
bnRpbWUvVk0uY3BwOgorICAgICAgICAoSlNDOjpWTTo6flZNKToKKyAgICAgICAgKEpTQzo6Vk06
OmdhdGhlclNjcmF0Y2hCdWZmZXJSb290cyk6CisgICAgICAgIChKU0M6OlZNOjpnYXRoZXJDb25z
ZXJ2YXRpdmVSb290cyk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9WTS5oOgorCiAyMDE5
LTAyLTE0ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIGxvd2Vy
U3RhY2tBcmdzIHNob3VsZCBsb3dlciBMZWEzMi82NCBvbiBBUk02NCB0byBBZGQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdFByZXBhcmF0aW9uLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdFByZXBhcmF0aW9uLmNwcAppbmRl
eCA2NDZjN2U0MDVkZWM2ZGJhOWVmYjVkNDk5MTEyYTE3YWJkZWJlMTFiLi5hOTQxNzBhNGZlOTEz
OWZkM2JkNDNmZDg4NzI0YjQwYWZjZTFhYWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09TUkV4aXRQcmVwYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdPU1JFeGl0UHJlcGFyYXRpb24uY3BwCkBAIC00Myw3ICs0Myw3IEBAIHZv
aWQgcHJlcGFyZUNvZGVPcmlnaW5Gb3JPU1JFeGl0KEV4ZWNTdGF0ZSogZXhlYywgQ29kZU9yaWdp
biBjb2RlT3JpZ2luKQogICAgIAogICAgIGZvciAoOyBjb2RlT3JpZ2luLmlubGluZUNhbGxGcmFt
ZTsgY29kZU9yaWdpbiA9IGNvZGVPcmlnaW4uaW5saW5lQ2FsbEZyYW1lLT5kaXJlY3RDYWxsZXIp
IHsKICAgICAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBjb2RlT3JpZ2luLmlubGluZUNhbGxG
cmFtZS0+YmFzZWxpbmVDb2RlQmxvY2suZ2V0KCk7Ci0gICAgICAgIEpJVFdvcmtsaXN0OjppbnN0
YW5jZSgpLT5jb21waWxlTm93KGNvZGVCbG9jayk7CisgICAgICAgIEpJVFdvcmtsaXN0OjplbnN1
cmVHbG9iYWxXb3JrbGlzdCgpLmNvbXBpbGVOb3coY29kZUJsb2NrKTsKICAgICB9CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmgKaW5kZXggNmQ1ZjY2ODNjZThmMGNiOTdjZjljNWRm
NmQyMDI4ZTdmYzU0ZDhmNy4uOWFmZDQ1ODYwYTQ1YmJlODI2NzIwNTQ1NTk5N2E4Y2FjNzg3N2Iz
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmgKQEAgLTcwLDcgKzcwLDYgQEAgY2xh
c3MgUGxhbiA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxQbGFuPiB7CiAgICAgCiAgICAg
Q29tcGlsYXRpb25LZXkga2V5KCk7CiAgICAgCi0gICAgdm9pZCBtYXJrQ29kZUJsb2NrcyhTbG90
VmlzaXRvciYpOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmM+CiAgICAgdm9pZCBpdGVyYXRl
Q29kZUJsb2Nrc0ZvckdDKGNvbnN0IEZ1bmMmKTsKICAgICB2b2lkIGNoZWNrTGl2ZW5lc3NBbmRW
aXNpdENoaWxkcmVuKFNsb3RWaXNpdG9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1dvcmtsaXN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
V29ya2xpc3QuY3BwCmluZGV4IGRlY2U3MGUzNzA3MWQ0ODkyZmI0Y2Q0MTA0MjJlYWE2YTczOTE4
YWMuLjhmZDE2ZWZlNzgzYTU1ZDAzMDNjYTA2MjAxNzQ1ZmU0ZWNmMGVmZTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV29ya2xpc3QuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHV29ya2xpc3QuY3BwCkBAIC02NjEsMTAgKzY2MSw2IEBAIHZv
aWQgY29tcGxldGVBbGxQbGFuc0ZvclZNKFZNJikKIHsKIH0KIAotdm9pZCBtYXJrQ29kZUJsb2Nr
cyhWTSYsIFNsb3RWaXNpdG9yJikKLXsKLX0KLQogI2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQog
CiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1dvcmtsaXN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dv
cmtsaXN0LmgKaW5kZXggOGE1ZGUxODZmYjJjMmY3MzQ0MmEyZjU3OWZiMzBmYWVlMGQ5MmMxNy4u
Mzk2ZWJiOGFmMmQ5ZWM1NjlkYjNkMjZmNmMwZDNiMDcyMTFhOTAyNCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXb3JrbGlzdC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHV29ya2xpc3QuaApAQCAtMTQ0LDcgKzE0NCw2IEBAIFdvcmtsaXN0JiBl
eGlzdGluZ1dvcmtsaXN0Rm9ySW5kZXgodW5zaWduZWQgaW5kZXgpOwogI2VuZGlmIC8vIEVOQUJM
RShERkdfSklUKQogCiB2b2lkIGNvbXBsZXRlQWxsUGxhbnNGb3JWTShWTSYpOwotdm9pZCBtYXJr
Q29kZUJsb2NrcyhWTSYsIFNsb3RWaXNpdG9yJik7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmM+
CiB2b2lkIGl0ZXJhdGVDb2RlQmxvY2tzRm9yR0MoVk0mLCBjb25zdCBGdW5jJik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0hlYXAuY3BwCmluZGV4IDVmMmJjODNmNDc2N2ZkY2FhMjMyMzRkNWZiYjEw
ZTEzMGE3ZjhjN2YuLmMwZDIzODM5NmE5MWIwZjZjNmE5ZmI2ZjU0MDEyNTcxZTY2NTA0MjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCkBAIC01OTksOCArNTk5LDEwIEBAIHZvaWQg
SGVhcDo6ZGlkRmluaXNoSXRlcmF0aW5nKCkKIAogdm9pZCBIZWFwOjpjb21wbGV0ZUFsbEpJVFBs
YW5zKCkKIHsKKyAgICBpZiAoIVZNOjpjYW5Vc2VKSVQoKSkKKyAgICAgICAgcmV0dXJuOwogI2lm
IEVOQUJMRShKSVQpCi0gICAgSklUV29ya2xpc3Q6Omluc3RhbmNlKCktPmNvbXBsZXRlQWxsRm9y
Vk0oKm1fdm0pOworICAgIEpJVFdvcmtsaXN0OjplbnN1cmVHbG9iYWxXb3JrbGlzdCgpLmNvbXBs
ZXRlQWxsRm9yVk0oKm1fdm0pOwogI2VuZGlmIC8vIEVOQUJMRShKSVQpCiAgICAgREZHOjpjb21w
bGV0ZUFsbFBsYW5zRm9yVk0oKm1fdm0pOwogfQpAQCAtNjA5LDcgKzYxMSw4IEBAIHRlbXBsYXRl
PHR5cGVuYW1lIEZ1bmM+CiB2b2lkIEhlYXA6Oml0ZXJhdGVFeGVjdXRpbmdBbmRDb21waWxpbmdD
b2RlQmxvY2tzKGNvbnN0IEZ1bmMmIGZ1bmMpCiB7CiAgICAgbV9jb2RlQmxvY2tzLT5pdGVyYXRl
Q3VycmVudGx5RXhlY3V0aW5nKGZ1bmMpOwotICAgIERGRzo6aXRlcmF0ZUNvZGVCbG9ja3NGb3JH
QygqbV92bSwgZnVuYyk7CisgICAgaWYgKFZNOjpjYW5Vc2VKSVQoKSkKKyAgICAgICAgREZHOjpp
dGVyYXRlQ29kZUJsb2Nrc0ZvckdDKCptX3ZtLCBmdW5jKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5h
bWUgRnVuYz4KQEAgLTY2Nyw3ICs2NzAsOSBAQCB2b2lkIEhlYXA6OmdhdGhlckpTU3RhY2tSb290
cyhDb25zZXJ2YXRpdmVSb290cyYgcm9vdHMpCiB2b2lkIEhlYXA6OmdhdGhlclNjcmF0Y2hCdWZm
ZXJSb290cyhDb25zZXJ2YXRpdmVSb290cyYgcm9vdHMpCiB7CiAjaWYgRU5BQkxFKERGR19KSVQp
Ci0gICAgbV92bS0+Z2F0aGVyQ29uc2VydmF0aXZlUm9vdHMocm9vdHMpOworICAgIGlmICghVk06
OmNhblVzZUpJVCgpKQorICAgICAgICByZXR1cm47CisgICAgbV92bS0+Z2F0aGVyU2NyYXRjaEJ1
ZmZlclJvb3RzKHJvb3RzKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHJvb3RzKTsKICNlbmRp
ZgpAQCAtNjg0LDYgKzY4OSw4IEBAIHZvaWQgSGVhcDo6YmVnaW5NYXJraW5nKCkKIHZvaWQgSGVh
cDo6cmVtb3ZlRGVhZENvbXBpbGVyV29ya2xpc3RFbnRyaWVzKCkKIHsKICNpZiBFTkFCTEUoREZH
X0pJVCkKKyAgICBpZiAoIVZNOjpjYW5Vc2VKSVQoKSkKKyAgICAgICAgcmV0dXJuOwogICAgIGZv
ciAodW5zaWduZWQgaSA9IERGRzo6bnVtYmVyT2ZXb3JrbGlzdHMoKTsgaS0tOykKICAgICAgICAg
REZHOjpleGlzdGluZ1dvcmtsaXN0Rm9ySW5kZXgoaSkucmVtb3ZlRGVhZFBsYW5zKCptX3ZtKTsK
ICNlbmRpZgpAQCAtMTU4Niw5ICsxNTkzLDkgQEAgdm9pZCBIZWFwOjpzdG9wVGhlUGVyaXBoZXJ5
KEdDQ29uZHVjdG9yIGNvbm4pCiAgICAgICAgIH0pOwogCiAjaWYgRU5BQkxFKEpJVCkKLSAgICB7
CisgICAgaWYgKFZNOjpjYW5Vc2VKSVQoKSkgewogICAgICAgICBEZWZlckdDRm9yQVdoaWxlIGF3
aGlsZSgqdGhpcyk7Ci0gICAgICAgIGlmIChKSVRXb3JrbGlzdDo6aW5zdGFuY2UoKS0+Y29tcGxl
dGVBbGxGb3JWTSgqbV92bSkKKyAgICAgICAgaWYgKEpJVFdvcmtsaXN0OjplbnN1cmVHbG9iYWxX
b3JrbGlzdCgpLmNvbXBsZXRlQWxsRm9yVk0oKm1fdm0pCiAgICAgICAgICAgICAmJiBjb25uID09
IEdDQ29uZHVjdG9yOjpDb2xsZWN0b3IpCiAgICAgICAgICAgICBzZXRHQ0RpZEpJVCgpOwogICAg
IH0KQEAgLTIwOTMsNiArMjEwMCw4IEBAIHZvaWQgSGVhcDo6c3VzcGVuZENvbXBpbGVyVGhyZWFk
cygpCiAgICAgLy8gV2UgZW5zdXJlIHRoZSB3b3JrbGlzdHMgc28gdGhhdCBpdCdzIG5vdCBwb3Nz
aWJsZSBmb3IgdGhlIG11dGF0b3IgdG8gc3RhcnQgYSBuZXcgd29ya2xpc3QKICAgICAvLyBhZnRl
ciB3ZSBoYXZlIHN1c3BlbmRlZCB0aGUgb25lcyB0aGF0IGhlIGhhZCBzdGFydGVkIGJlZm9yZS4g
VGhhdCdzIG5vdCB2ZXJ5IGV4cGVuc2l2ZSBzaW5jZQogICAgIC8vIHRoZSB3b3JrbGlzdHMgdXNl
IEF1dG9tYXRpY1RocmVhZHMgYW55d2F5LgorICAgIGlmICghVk06OmNhblVzZUpJVCgpKQorICAg
ICAgICByZXR1cm47CiAgICAgZm9yICh1bnNpZ25lZCBpID0gREZHOjpudW1iZXJPZldvcmtsaXN0
cygpOyBpLS07KQogICAgICAgICBERkc6OmVuc3VyZVdvcmtsaXN0Rm9ySW5kZXgoaSkuc3VzcGVu
ZEFsbFRocmVhZHMoKTsKICNlbmRpZgpAQCAtMjMxMCw2ICsyMzE5LDggQEAgdm9pZCBIZWFwOjpk
aWRGaW5pc2hDb2xsZWN0aW9uKCkKIHZvaWQgSGVhcDo6cmVzdW1lQ29tcGlsZXJUaHJlYWRzKCkK
IHsKICNpZiBFTkFCTEUoREZHX0pJVCkKKyAgICBpZiAoIVZNOjpjYW5Vc2VKSVQoKSkKKyAgICAg
ICAgcmV0dXJuOwogICAgIGZvciAodW5zaWduZWQgaSA9IERGRzo6bnVtYmVyT2ZXb3JrbGlzdHMo
KTsgaS0tOykKICAgICAgICAgREZHOjpleGlzdGluZ1dvcmtsaXN0Rm9ySW5kZXgoaSkucmVzdW1l
QWxsVGhyZWFkcygpOwogI2VuZGlmCkBAIC0yNjQwLDcgKzI2NTEsNyBAQCB2b2lkIEhlYXA6OmFk
ZENvcmVDb25zdHJhaW50cygpCiAgICAgICAgICAgICAgICAgU2V0Um9vdE1hcmtSZWFzb25TY29w
ZSByb290U2NvcGUoc2xvdFZpc2l0b3IsIFNsb3RWaXNpdG9yOjpSb290TWFya1JlYXNvbjo6Q29u
c2VydmF0aXZlU2Nhbik7CiAgICAgICAgICAgICAgICAgc2xvdFZpc2l0b3IuYXBwZW5kKGNvbnNl
cnZhdGl2ZVJvb3RzKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHsKKyAgICAgICAgICAg
IGlmIChWTTo6Y2FuVXNlSklUKCkpIHsKICAgICAgICAgICAgICAgICAvLyBKSVRTdHViUm91dGlu
ZXMgbXVzdCBiZSB2aXNpdGVkIGFmdGVyIHNjYW5uaW5nIENvbnNlcnZhdGl2ZVJvb3RzIHNpbmNl
IEpJVFN0dWJSb3V0aW5lcyBkZXBlbmQgb24gdGhlIGhvb2sgZXhlY3V0ZWQgZHVyaW5nIGdhdGhl
cmluZyBDb25zZXJ2YXRpdmVSb290cy4KICAgICAgICAgICAgICAgICBTZXRSb290TWFya1JlYXNv
blNjb3BlIHJvb3RTY29wZShzbG90VmlzaXRvciwgU2xvdFZpc2l0b3I6OlJvb3RNYXJrUmVhc29u
OjpKSVRTdHViUm91dGluZXMpOwogICAgICAgICAgICAgICAgIG1faml0U3R1YlJvdXRpbmVzLT50
cmFjZU1hcmtlZFN0dWJSb3V0aW5lcyhzbG90VmlzaXRvcik7CkBAIC0yNzQ0LDI2ICsyNzU1LDI4
IEBAIHZvaWQgSGVhcDo6YWRkQ29yZUNvbnN0cmFpbnRzKCkKICAgICAgICAgQ29uc3RyYWludFBh
cmFsbGVsaXNtOjpQYXJhbGxlbCk7CiAgICAgCiAjaWYgRU5BQkxFKERGR19KSVQpCi0gICAgbV9j
b25zdHJhaW50U2V0LT5hZGQoCi0gICAgICAgICJEdyIsICJERkcgV29ya2xpc3RzIiwKLSAgICAg
ICAgW3RoaXNdIChTbG90VmlzaXRvciYgc2xvdFZpc2l0b3IpIHsKLSAgICAgICAgICAgIFNldFJv
b3RNYXJrUmVhc29uU2NvcGUgcm9vdFNjb3BlKHNsb3RWaXNpdG9yLCBTbG90VmlzaXRvcjo6Um9v
dE1hcmtSZWFzb246OkRGR1dvcmtMaXN0cyk7Ci0KLSAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IERGRzo6bnVtYmVyT2ZXb3JrbGlzdHMoKTsgaS0tOykKLSAgICAgICAgICAgICAgICBERkc6
OmV4aXN0aW5nV29ya2xpc3RGb3JJbmRleChpKS52aXNpdFdlYWtSZWZlcmVuY2VzKHNsb3RWaXNp
dG9yKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgYWxtb3N0
IGNlcnRhaW5seSB1bm5lY2Vzc2FyeS4KLSAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY4MjkKLSAgICAgICAgICAgIERGRzo6aXRlcmF0ZUNv
ZGVCbG9ja3NGb3JHQygKLSAgICAgICAgICAgICAgICAqbV92bSwKLSAgICAgICAgICAgICAgICBb
Jl0gKENvZGVCbG9jayogY29kZUJsb2NrKSB7Ci0gICAgICAgICAgICAgICAgICAgIHNsb3RWaXNp
dG9yLmFwcGVuZFVuYmFycmllcmVkKGNvZGVCbG9jayk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChPcHRpb25zOjpsb2dHQygpID09IEdDTG9nZ2lu
Zzo6VmVyYm9zZSkKLSAgICAgICAgICAgICAgICBkYXRhTG9nKCJERkcgV29ya2xpc3RzOlxuIiwg
c2xvdFZpc2l0b3IpOwotICAgICAgICB9LAotICAgICAgICBDb25zdHJhaW50Vm9sYXRpbGl0eTo6
R3JleWVkQnlNYXJraW5nKTsKKyAgICBpZiAoVk06OmNhblVzZUpJVCgpKSB7CisgICAgICAgIG1f
Y29uc3RyYWludFNldC0+YWRkKAorICAgICAgICAgICAgIkR3IiwgIkRGRyBXb3JrbGlzdHMiLAor
ICAgICAgICAgICAgW3RoaXNdIChTbG90VmlzaXRvciYgc2xvdFZpc2l0b3IpIHsKKyAgICAgICAg
ICAgICAgICBTZXRSb290TWFya1JlYXNvblNjb3BlIHJvb3RTY29wZShzbG90VmlzaXRvciwgU2xv
dFZpc2l0b3I6OlJvb3RNYXJrUmVhc29uOjpERkdXb3JrTGlzdHMpOworCisgICAgICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gREZHOjpudW1iZXJPZldvcmtsaXN0cygpOyBpLS07KQorICAg
ICAgICAgICAgICAgICAgICBERkc6OmV4aXN0aW5nV29ya2xpc3RGb3JJbmRleChpKS52aXNpdFdl
YWtSZWZlcmVuY2VzKHNsb3RWaXNpdG9yKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICAvLyBGSVhNRTogVGhpcyBpcyBhbG1vc3QgY2VydGFpbmx5IHVubmVjZXNzYXJ5LgorICAg
ICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjY4MjkKKyAgICAgICAgICAgICAgICBERkc6Oml0ZXJhdGVDb2RlQmxvY2tzRm9yR0MoCisgICAg
ICAgICAgICAgICAgICAgICptX3ZtLAorICAgICAgICAgICAgICAgICAgICBbJl0gKENvZGVCbG9j
ayogY29kZUJsb2NrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzbG90VmlzaXRvci5hcHBl
bmRVbmJhcnJpZXJlZChjb2RlQmxvY2spOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoT3B0aW9uczo6bG9nR0MoKSA9PSBHQ0xv
Z2dpbmc6OlZlcmJvc2UpCisgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIkRGRyBXb3JrbGlz
dHM6XG4iLCBzbG90VmlzaXRvcik7CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgQ29uc3Ry
YWludFZvbGF0aWxpdHk6OkdyZXllZEJ5TWFya2luZyk7CisgICAgfQogI2VuZGlmCiAgICAgCiAg
ICAgbV9jb25zdHJhaW50U2V0LT5hZGQoCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFdvcmtsaXN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUV29y
a2xpc3QuY3BwCmluZGV4IDRjNmVmNGZiNTc4MGE1YTA3MzhhMTgyMDg4MzlhNWNiYTA5MTM2NDIu
LjFmMzY5ZmNkNjYwODRlOWFjNDNjYmQ1ZGM5NDJhZTMxOWQ5NTMzYzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUV29ya2xpc3QuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUV29ya2xpc3QuY3BwCkBAIC0zMjIsMTYgKzMyMiwyNCBAQCB2b2lk
IEpJVFdvcmtsaXN0OjpmaW5hbGl6ZVBsYW5zKFBsYW5zJiBteVBsYW5zKQogICAgIH0KIH0KIAot
SklUV29ya2xpc3QqIEpJVFdvcmtsaXN0OjppbnN0YW5jZSgpCitzdGF0aWMgSklUV29ya2xpc3Qq
IHRoZUdsb2JhbEpJVFdvcmtsaXN0IHsgbnVsbHB0ciB9OworCitKSVRXb3JrbGlzdCogSklUV29y
a2xpc3Q6OmV4aXN0aW5nR2xvYmFsV29ya2xpc3RPck51bGwoKQoreworICAgIHJldHVybiB0aGVH
bG9iYWxKSVRXb3JrbGlzdDsKK30KKworSklUV29ya2xpc3QmIEpJVFdvcmtsaXN0OjplbnN1cmVH
bG9iYWxXb3JrbGlzdCgpCiB7Ci0gICAgc3RhdGljIEpJVFdvcmtsaXN0KiB3b3JrbGlzdDsKICAg
ICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZTsKICAgICBzdGQ6OmNhbGxfb25jZSgKICAgICAg
ICAgb25jZSwKICAgICAgICAgW10gewotICAgICAgICAgICAgd29ya2xpc3QgPSBuZXcgSklUV29y
a2xpc3QoKTsKKyAgICAgICAgICAgIGF1dG8qIHdvcmtsaXN0ID0gbmV3IEpJVFdvcmtsaXN0KCk7
CisgICAgICAgICAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOworICAgICAgICAgICAgdGhlR2xv
YmFsSklUV29ya2xpc3QgPSB3b3JrbGlzdDsKICAgICAgICAgfSk7Ci0gICAgcmV0dXJuIHdvcmts
aXN0OworICAgIHJldHVybiAqdGhlR2xvYmFsSklUV29ya2xpc3Q7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRXb3JrbGlz
dC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRXb3JrbGlzdC5oCmluZGV4IGFkZjlm
YjliYjNmZWM1M2Q2MWM3ZjhjMWM4Njk5ZTk4ZDcxNWUzYzMuLmViNmY1NTE1ZGY3MDM5N2U3MzBj
MWMyNzk5OWZmYjM4MmY2YjJiNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUV29ya2xpc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFdvcmts
aXN0LmgKQEAgLTU3LDcgKzU3LDggQEAgY2xhc3MgSklUV29ya2xpc3QgewogICAgIAogICAgIHZv
aWQgY29tcGlsZU5vdyhDb2RlQmxvY2sqLCB1bnNpZ25lZCBsb29wT1NSRW50cnlCeXRlY29kZU9m
ZnNldCA9IDApOwogICAgIAotICAgIHN0YXRpYyBKSVRXb3JrbGlzdCogaW5zdGFuY2UoKTsKKyAg
ICBzdGF0aWMgSklUV29ya2xpc3QmIGVuc3VyZUdsb2JhbFdvcmtsaXN0KCk7CisgICAgc3RhdGlj
IEpJVFdvcmtsaXN0KiBleGlzdGluZ0dsb2JhbFdvcmtsaXN0T3JOdWxsKCk7CiAgICAgCiBwcml2
YXRlOgogICAgIEpJVFdvcmtsaXN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCBhOWE4NTUwN2QyMWYzN2QyM2ZmODJjNTYwMTY1NjRh
OTEwZTJmYzM1Li4wNDA2YzkyYTc2M2JjOGFkNWEwN2YxM2U1ZjlhNzE5ZDdiNzU5ODE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTM2
OSw2ICszNjksNyBAQCBpbmxpbmUgYm9vbCBqaXRDb21waWxlQW5kU2V0SGV1cmlzdGljcyhDb2Rl
QmxvY2sqIGNvZGVCbG9jaywgRXhlY1N0YXRlKiBleGVjLCB1bgogewogICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CiAgICAgRGVmZXJHQ0ZvckFXaGlsZSBkZWZlckdDKHZtLmhlYXApOyAvLyBNeSBj
YWxsZXJzIGRvbid0IHNldCB0b3AgY2FsbGZyYW1lLCBzbyB3ZSBkb24ndCB3YW50IHRvIEdDIGhl
cmUgYXQgYWxsLgorICAgIEFTU0VSVChWTTo6Y2FuVXNlSklUKCkpOwogICAgIAogICAgIGNvZGVC
bG9jay0+dXBkYXRlQWxsVmFsdWVQcm9maWxlUHJlZGljdGlvbnMoKTsKIApAQCAtMzc5LDcgKzM4
MCw3IEBAIGlubGluZSBib29sIGppdENvbXBpbGVBbmRTZXRIZXVyaXN0aWNzKENvZGVCbG9jayog
Y29kZUJsb2NrLCBFeGVjU3RhdGUqIGV4ZWMsIHVuCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICB9CiAgICAgCi0gICAgSklUV29ya2xpc3Q6Omluc3RhbmNlKCktPnBvbGwodm0pOworICAgIEpJ
VFdvcmtsaXN0OjplbnN1cmVHbG9iYWxXb3JrbGlzdCgpLnBvbGwodm0pOwogICAgIAogICAgIHN3
aXRjaCAoY29kZUJsb2NrLT5qaXRUeXBlKCkpIHsKICAgICBjYXNlIEpJVENvZGU6OkJhc2VsaW5l
SklUOiB7CkBAIC0zODksNyArMzkwLDcgQEAgaW5saW5lIGJvb2wgaml0Q29tcGlsZUFuZFNldEhl
dXJpc3RpY3MoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEV4ZWNTdGF0ZSogZXhlYywgdW4KICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIGNhc2UgSklUQ29kZTo6SW50ZXJwcmV0ZXJUaHVu
azogewotICAgICAgICBKSVRXb3JrbGlzdDo6aW5zdGFuY2UoKS0+Y29tcGlsZUxhdGVyKGNvZGVC
bG9jaywgbG9vcE9TUkVudHJ5Qnl0ZWNvZGVPZmZzZXQpOworICAgICAgICBKSVRXb3JrbGlzdDo6
ZW5zdXJlR2xvYmFsV29ya2xpc3QoKS5jb21waWxlTGF0ZXIoY29kZUJsb2NrLCBsb29wT1NSRW50
cnlCeXRlY29kZU9mZnNldCk7CiAgICAgICAgIHJldHVybiBjb2RlQmxvY2stPmppdFR5cGUoKSA9
PSBKSVRDb2RlOjpCYXNlbGluZUpJVDsKICAgICB9CiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1ZNLmNwcAppbmRleCAzZDFmNzI0YzRmZDIzYWE2NWIzM2FhNzFlMzVlYjRk
NzViNDBkMjZjLi43OTAyMmQ2MjE4MTE2ODI3M2UwZTY4OGI5YjE5YTY0NWI0YmFlYzY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCkBAIC00OTcsOCArNDk3LDggQEAgVk06On5W
TSgpCiAgICAgR2lnYWNhZ2U6OnJlbW92ZVByaW1pdGl2ZURpc2FibGVDYWxsYmFjayhwcmltaXRp
dmVHaWdhY2FnZURpc2FibGVkQ2FsbGJhY2ssIHRoaXMpOwogICAgIHByb21pc2VEZWZlcnJlZFRp
bWVyLT5zdG9wUnVubmluZ1Rhc2tzKCk7CiAjaWYgRU5BQkxFKFdFQkFTU0VNQkxZKQotICAgIGlm
IChXYXNtOjpleGlzdGluZ1dvcmtsaXN0T3JOdWxsKCkpCi0gICAgICAgIFdhc206OmVuc3VyZVdv
cmtsaXN0KCkuc3RvcEFsbFBsYW5zRm9yQ29udGV4dCh3YXNtQ29udGV4dCk7CisgICAgaWYgKFdh
c206OldvcmtsaXN0KiB3b3JrbGlzdCA9IFdhc206OmV4aXN0aW5nV29ya2xpc3RPck51bGwoKSkK
KyAgICAgICAgd29ya2xpc3QtPnN0b3BBbGxQbGFuc0ZvckNvbnRleHQod2FzbUNvbnRleHQpOwog
I2VuZGlmCiAgICAgaWYgKFVOTElLRUxZKG1fd2F0Y2hkb2cpKQogICAgICAgICBtX3dhdGNoZG9n
LT53aWxsRGVzdHJveVZNKHRoaXMpOwpAQCAtNTE2LDcgKzUxNiw4IEBAIFZNOjp+Vk0oKQogI2Vu
ZGlmIC8vIEVOQUJMRShTQU1QTElOR19QUk9GSUxFUikKICAgICAKICNpZiBFTkFCTEUoSklUKQot
ICAgIEpJVFdvcmtsaXN0OjppbnN0YW5jZSgpLT5jb21wbGV0ZUFsbEZvclZNKCp0aGlzKTsKKyAg
ICBpZiAoSklUV29ya2xpc3QqIHdvcmtsaXN0ID0gSklUV29ya2xpc3Q6OmV4aXN0aW5nR2xvYmFs
V29ya2xpc3RPck51bGwoKSkKKyAgICAgICAgd29ya2xpc3QtPmNvbXBsZXRlQWxsRm9yVk0oKnRo
aXMpOwogI2VuZGlmIC8vIEVOQUJMRShKSVQpCiAKICNpZiBFTkFCTEUoREZHX0pJVCkKQEAgLTky
MSw3ICs5MjIsNyBAQCBpbmxpbmUgdm9pZCBWTTo6dXBkYXRlU3RhY2tMaW1pdHMoKQogfQogCiAj
aWYgRU5BQkxFKERGR19KSVQpCi12b2lkIFZNOjpnYXRoZXJDb25zZXJ2YXRpdmVSb290cyhDb25z
ZXJ2YXRpdmVSb290cyYgY29uc2VydmF0aXZlUm9vdHMpCit2b2lkIFZNOjpnYXRoZXJTY3JhdGNo
QnVmZmVyUm9vdHMoQ29uc2VydmF0aXZlUm9vdHMmIGNvbnNlcnZhdGl2ZVJvb3RzKQogewogICAg
IGF1dG8gbG9jayA9IGhvbGRMb2NrKG1fc2NyYXRjaEJ1ZmZlckxvY2spOwogICAgIGZvciAoYXV0
byogc2NyYXRjaEJ1ZmZlciA6IG1fc2NyYXRjaEJ1ZmZlcnMpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9WTS5oCmluZGV4IGJiOTM2NmFhNjZmNjVjZDM1Y2VmN2I4NmY4OTc2NDNlNWQzM2I3Nzku
LjVhYjM1MmZmNjFjNTcyZjg3NDM2NjE0ZmZkMjA1NTViMzM5NzZlMGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uaApAQCAtNzQwLDcgKzc0MCw3IEBAIGNsYXNzIFZNIDogcHVibGljIFRo
cmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZNPiB7
CiAgICAgICAgIHJldHVybiBtX2V4Y2VwdGlvbkZ1enpCdWZmZXIuZ2V0KCk7CiAgICAgfQogCi0g
ICAgdm9pZCBnYXRoZXJDb25zZXJ2YXRpdmVSb290cyhDb25zZXJ2YXRpdmVSb290cyYpOworICAg
IHZvaWQgZ2F0aGVyU2NyYXRjaEJ1ZmZlclJvb3RzKENvbnNlcnZhdGl2ZVJvb3RzJik7CiAKICAg
ICBWTUVudHJ5U2NvcGUqIGVudHJ5U2NvcGU7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>