<?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>184630</bug_id>
          
          <creation_ts>2018-04-14 13:07:39 -0700</creation_ts>
          <short_desc>Function.prototype.caller shouldn&apos;t return generator bodies</short_desc>
          <delta_ts>2021-01-02 10:43:00 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=220216</see_also>
          <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="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1414650</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-14 13:07:39 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414651</commentid>
    <comment_count>1</comment_count>
      <attachid>337961</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-14 13:08:54 -0700</bug_when>
    <thetext>Created attachment 337961
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414652</commentid>
    <comment_count>2</comment_count>
      <attachid>337961</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-04-14 13:12:03 -0700</bug_when>
    <thetext>Comment on attachment 337961
the patch

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

r=me, nice.

&gt; JSTests/stress/function-caller-generator-body.js:24
&gt; +})();

Can you add a test for,

1. Async functions, which uses generators internally
2. generator method functions like

class A {
    *gen() {
        ...
    }
}

var a = new A();
var gen = a.gen();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414653</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-14 13:12:43 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #2)
&gt; Comment on attachment 337961 [details]
&gt; the patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=337961&amp;action=review
&gt; 
&gt; r=me, nice.
&gt; 
&gt; &gt; JSTests/stress/function-caller-generator-body.js:24
&gt; &gt; +})();
&gt; 
&gt; Can you add a test for,
&gt; 
&gt; 1. Async functions, which uses generators internally
&gt; 2. generator method functions like
&gt; 
&gt; class A {
&gt;     *gen() {
&gt;         ...
&gt;     }
&gt; }
&gt; 
&gt; var a = new A();
&gt; var gen = a.gen();

Good idea, will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414654</commentid>
    <comment_count>4</comment_count>
      <attachid>337962</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-14 13:23:25 -0700</bug_when>
    <thetext>Created attachment 337962
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414656</commentid>
    <comment_count>5</comment_count>
      <attachid>337962</attachid>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-04-14 14:38:39 -0700</bug_when>
    <thetext>Comment on attachment 337962
patch for landing

Attachment 337962 did not pass jsc-ews (mac):
Output: http://webkit-queues.webkit.org/results/7317590

New failing tests:
stress/function-caller-async-function-body.js.default</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414683</commentid>
    <comment_count>6</comment_count>
      <attachid>337972</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-15 09:12:43 -0700</bug_when>
    <thetext>Created attachment 337972
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414686</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-15 10:38:20 -0700</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/230662/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414687</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-15 10:39:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/39443234&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337961</attachid>
            <date>2018-04-14 13:08:54 -0700</date>
            <delta_ts>2018-04-14 13:23:25 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>9122</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzA2NTkpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDE4LTA0LTE0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CisKKyAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGxlciBzaG91bGRuJ3QgcmV0dXJu
IGdlbmVyYXRvciBib2RpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4NDYzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogc3RyZXNzL2Z1bmN0aW9uLWNhbGxlci1nZW5lcmF0b3ItYm9keS5qczogQWRk
ZWQuCisgICAgICAgICh0aGluZ3kuYmFyKToKKyAgICAgICAgKHRoaW5neS5mb28pOgorICAgICAg
ICAodGhpbmd5KToKKwogMjAxOC0wNC0xMiAgVG9tYXMgUG9wZWxhICA8dHBvcGVsYUByZWRoYXQu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHNraXAgSklUIHRlc3RzIGlmIGl0IGlzbid0IGVu
YWJsZWQKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL2Z1bmN0aW9uLWNhbGxlci1nZW5lcmF0b3ItYm9k
eS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9mdW5jdGlvbi1jYWxsZXItZ2VuZXJh
dG9yLWJvZHkuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvZnVuY3Rpb24tY2Fs
bGVyLWdlbmVyYXRvci1ib2R5LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQgQEAKKy8v
QCBydW5EZWZhdWx0CisKKyhmdW5jdGlvbiB0aGluZ3koKSB7CisgICAgZnVuY3Rpb24gYmFyKCkK
KyAgICB7CisgICAgICAgIHJldHVybiBiYXIuY2FsbGVyOworICAgIH0KKyAgICAKKyAgICBmdW5j
dGlvbiogZm9vKCkKKyAgICB7CisgICAgICAgIGJhcigpOworICAgIH0KKyAgICAKKyAgICB2YXIg
b2sgPSBmYWxzZTsKKyAgICB0cnkgeworICAgICAgICBmb28oKS5uZXh0KCk7CisgICAgICAgIG9r
ID0gdHJ1ZTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGlmIChlLnRvU3RyaW5nKCkgIT0g
IlR5cGVFcnJvcjogRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0cmlldmUgZ2VuZXJhdG9yIGJv
ZHkgY2FsbGVyIikKKyAgICAgICAgICAgIHRocm93ICJFcnJvcjogYmFkIGVycm9yOiAiICsgZTsK
KyAgICB9CisgICAgaWYgKG9rKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGRpZCBub3QgdGhyb3cg
ZXJyb3IiOworfSkoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjMw
NjU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDI1IEBACisyMDE4LTA0LTE0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CisKKyAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGxlciBzaG91bGRuJ3QgcmV0dXJu
IGdlbmVyYXRvciBib2RpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4NDYzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
ICAgICAgICAKKyAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGxlciBubyBsb25nZXIgcmV0
dXJucyBnZW5lcmF0b3IgYm9kaWVzLiBUaG9zZSBhcmUgbWVhbnQgdG8gYmUKKyAgICAgICAgcHJp
dmF0ZS4KKyAgICAgICAgCisgICAgICAgIEFsc28gYWRkZWQgc29tZSBidWlsdGluIGRlYnVnZ2lu
ZyB0b29scyBzbyB0aGF0IGl0J3MgZWFzaWVyIHRvIGRvIHRoZSBpbnZlc3RpZ2F0aW9uIHRoYXQg
SQorICAgICAgICBkaWQuCisKKyAgICAgICAgKiBidWlsdGlucy9CdWlsdGluTmFtZXMuaDoKKyAg
ICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9u
OjpjYWxsZXJHZXR0ZXIpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgICogcnVudGltZS9K
U0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChKU0M6Omdsb2JhbEZ1bmNCdWls
dGluRGVzY3JpYmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMu
aDoKKwogMjAxOC0wNC0xMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4K
IAogICAgICAgICBbREZHXSBSZW1vdmUgZHVwbGljYXRlIDMyYml0IFByb2ZpbGVUeXBlIGltcGxl
bWVudGF0aW9uCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5h
bWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0
aW5OYW1lcy5oCShyZXZpc2lvbiAyMzA2NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTgzLDYgKzgzLDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgbWFjcm8odHlwZWRBcnJheUdldE9yaWdpbmFsQ29uc3RydWN0b3Ip
IFwKICAgICBtYWNybyh0eXBlZEFycmF5U3ViYXJyYXlDcmVhdGUpIFwKICAgICBtYWNybyhCdWls
dGluTG9nKSBcCisgICAgbWFjcm8oQnVpbHRpbkRlc2NyaWJlKSBcCiAgICAgbWFjcm8oaG9tZU9i
amVjdCkgXAogICAgIG1hY3JvKHRlbXBsYXRlUmVnaXN0cnlLZXkpIFwKICAgICBtYWNybyhlbnF1
ZXVlSm9iKSBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uLmNwcAkocmV2aXNpb24gMjMwNjU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2Niw5ICszNjYsMzMgQEAgRW5j
b2RlZEpTVmFsdWUgSlNGdW5jdGlvbjo6Y2FsbGVyR2V0dGVyKAogICAgIC8vIEZpcmVmb3ggcmV0
dXJucyBudWxsIGZvciBuYXRpdmUgY29kZSBjYWxsZXJzLCBzbyB3ZSBtYXRjaCB0aGF0IGJlaGF2
aW9yLgogICAgIGlmIChmdW5jdGlvbi0+aXNIb3N0T3JCdWlsdGluRnVuY3Rpb24oKSkKICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bGwoKSk7Ci0gICAgaWYgKCFmdW5jdGlvbi0+
anNFeGVjdXRhYmxlKCktPmlzU3RyaWN0TW9kZSgpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGNhbGxlcik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJv
cihleGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRy
aWV2ZSBzdHJpY3QgY2FsbGVyIikpKTsKKyAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0g
ZnVuY3Rpb24tPmpzRXhlY3V0YWJsZSgpLT5wYXJzZU1vZGUoKTsKKyAgICBzd2l0Y2ggKHBhcnNl
TW9kZSkgeworICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZToKKyAg
ICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNHZW5lcmF0b3JCb2R5TW9kZToKKyAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBzY29wZSwgQVNDSUlM
aXRlcmFsKCJGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBnZW5lcmF0b3IgYm9keSBj
YWxsZXIiKSkpOworICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGU6
CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6
CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGU6CisgICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6OlNldHRlck1vZGU6CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1v
ZGU6CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgorICAgIGNh
c2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU6CisgICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlOgorICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
QXN5bmNNZXRob2RNb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVu
Y3Rpb25Nb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKKyAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGU6CisgICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
QXN5bmNHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpBc3luY0dlbmVyYXRvcldyYXBwZXJNZXRob2RNb2RlOgorICAgIGNhc2UgU291cmNlUGFy
c2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyTWV0aG9kTW9kZToKKyAgICAgICAgaWYgKCFmdW5jdGlv
bi0+anNFeGVjdXRhYmxlKCktPmlzU3RyaWN0TW9kZSgpKQorICAgICAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShjYWxsZXIpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRo
cm93VHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBBU0NJSUxpdGVyYWwoIkZ1bmN0aW9uLmNhbGxlciB1
c2VkIHRvIHJldHJpZXZlIHN0cmljdCBjYWxsZXIiKSkpOworICAgIH0KKyAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiBib29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5
U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDIzMDY1OCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzg1LDYgKzc4NSw3IEBAIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXIKICAgICAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPkxvYWRlciwgbV9tb2R1bGVMb2FkZXIuZ2V0KCksIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKIAogICAgIEpTRnVuY3Rpb24q
IGJ1aWx0aW5Mb2cgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDEsIHZtLnByb3BlcnR5
TmFtZXMtPmVtcHR5SWRlbnRpZmllci5zdHJpbmcoKSwgZ2xvYmFsRnVuY0J1aWx0aW5Mb2cpOwor
ICAgIEpTRnVuY3Rpb24qIGJ1aWx0aW5EZXNjcmliZSA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwg
dGhpcywgMSwgdm0ucHJvcGVydHlOYW1lcy0+ZW1wdHlJZGVudGlmaWVyLnN0cmluZygpLCBnbG9i
YWxGdW5jQnVpbHRpbkRlc2NyaWJlKTsKIAogICAgIEpTRnVuY3Rpb24qIHByaXZhdGVGdW5jQWJz
ID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAwLCBTdHJpbmcoKSwgbWF0aFByb3RvRnVu
Y0FicywgQWJzSW50cmluc2ljKTsKICAgICBKU0Z1bmN0aW9uKiBwcml2YXRlRnVuY0Zsb29yID0g
SlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAwLCBTdHJpbmcoKSwgbWF0aFByb3RvRnVuY0Zs
b29yLCBGbG9vckludHJpbnNpYyk7CkBAIC04NzUsNiArODc2LDcgQEAgcHV0RGlyZWN0V2l0aG91
dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcgogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0u
cHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuaGFzSW5zdGFuY2VCb3VuZEZ1bmN0aW9uUHJp
dmF0ZU5hbWUoKSwgcHJpdmF0ZUZ1bmNIYXNJbnN0YW5jZUJvdW5kRnVuY3Rpb24sIFByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmluc3RhbmNlT2ZQcml2YXRlTmFtZSgpLCBw
cml2YXRlRnVuY0luc3RhbmNlT2YsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwK
ICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1l
cygpLkJ1aWx0aW5Mb2dQcml2YXRlTmFtZSgpLCBidWlsdGluTG9nLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0
eU5hbWVzLT5idWlsdGluTmFtZXMoKS5CdWlsdGluRGVzY3JpYmVQcml2YXRlTmFtZSgpLCBidWls
dGluRGVzY3JpYmUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmli
dXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwKICAgICAgICAg
R2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLk51bWJl
clByaXZhdGVOYW1lKCksIG51bWJlckNvbnN0cnVjdG9yLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVz
LT5idWlsdGluTmFtZXMoKS5SZWdFeHBQcml2YXRlTmFtZSgpLCBtX3JlZ0V4cENvbnN0cnVjdG9y
LmdldCgpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSksCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5TdHJpbmdQcml2
YXRlTmFtZSgpLCBzdHJpbmdDb25zdHJ1Y3RvciwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkpLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3RGdW5jdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcAkocmV2aXNpb24gMjMwNjU4KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03NzQsNiArNzc0LDExIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZ2xvYmFsRnVuY0IKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGdsb2JhbEZ1bmNCdWlsdGlu
RGVzY3JpYmUoRXhlY1N0YXRlKiBleGVjKQoreworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNTdHJpbmcoZXhlYywgdG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkpKSk7Cit9CisKIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY0ltcG9ydE1vZHVsZShFeGVjU3RhdGUq
IGV4ZWMpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaAko
cmV2aXNpb24gMjMwNjU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3RGdW5jdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGdsb2JhbEZ1bmNQCiBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGdsb2JhbEZ1bmNQcm90b1NldHRlcihFeGVjU3RhdGUqKTsKIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY0hvc3RQcm9taXNlUmVqZWN0aW9uVHJhY2tlcihF
eGVjU3RhdGUqKTsKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY0J1aWx0
aW5Mb2coRXhlY1N0YXRlKik7CitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGdsb2JhbEZ1
bmNCdWlsdGluRGVzY3JpYmUoRXhlY1N0YXRlKik7CiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGdsb2JhbEZ1bmNJbXBvcnRNb2R1bGUoRXhlY1N0YXRlKik7CiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGdsb2JhbEZ1bmNQcm9wZXJ0eUlzRW51bWVyYWJsZShFeGVjU3RhdGUqKTsK
IAo=
</data>
<flag name="review"
          id="356285"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337962</attachid>
            <date>2018-04-14 13:23:25 -0700</date>
            <delta_ts>2018-04-15 09:12:43 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10763</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzA2NTkpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE0IEBACisyMDE4LTA0LTE0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CisKKyAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGxlciBzaG91bGRuJ3QgcmV0dXJu
IGdlbmVyYXRvciBib2RpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4NDYzMAorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3VrZSBTdXp1a2kuCisK
KyAgICAgICAgKiBzdHJlc3MvZnVuY3Rpb24tY2FsbGVyLWFzeW5jLWZ1bmN0aW9uLWJvZHkuanM6
IEFkZGVkLgorICAgICAgICAqIHN0cmVzcy9mdW5jdGlvbi1jYWxsZXItZ2VuZXJhdG9yLWJvZHku
anM6IEFkZGVkLgorICAgICAgICAqIHN0cmVzcy9mdW5jdGlvbi1jYWxsZXItZ2VuZXJhdG9yLW1l
dGhvZC1ib2R5LmpzOiBBZGRlZC4KKwogMjAxOC0wNC0xMiAgVG9tYXMgUG9wZWxhICA8dHBvcGVs
YUByZWRoYXQuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHNraXAgSklUIHRlc3RzIGlmIGl0
IGlzbid0IGVuYWJsZWQKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL2Z1bmN0aW9uLWNhbGxlci1hc3lu
Yy1mdW5jdGlvbi1ib2R5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2Z1bmN0aW9u
LWNhbGxlci1hc3luYy1mdW5jdGlvbi1ib2R5LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
c3RyZXNzL2Z1bmN0aW9uLWNhbGxlci1hc3luYy1mdW5jdGlvbi1ib2R5LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjQgQEAKKy8vQCBydW5EZWZhdWx0CisKKyhmdW5jdGlvbiB0aGluZ3ko
KSB7CisgICAgZnVuY3Rpb24gYmFyKCkKKyAgICB7CisgICAgICAgIHJldHVybiBiYXIuY2FsbGVy
OworICAgIH0KKyAgICAKKyAgICBhc3luYyBmdW5jdGlvbiBmb28oKQorICAgIHsKKyAgICAgICAg
YmFyKCk7CisgICAgfQorICAgIAorICAgIHZhciBvayA9IGZhbHNlOworICAgIHRyeSB7CisgICAg
ICAgIGZvbygpOworICAgICAgICBvayA9IHRydWU7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAg
ICBpZiAoZS50b1N0cmluZygpICE9ICJUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRv
IHJldHJpZXZlIGdlbmVyYXRvciBib2R5IGNhbGxlciIpCisgICAgICAgICAgICB0aHJvdyAiRXJy
b3I6IGJhZCBlcnJvcjogIiArIGU7CisgICAgfQorICAgIGlmIChvaykKKyAgICAgICAgdGhyb3cg
IkVycm9yOiBkaWQgbm90IHRocm93IGVycm9yIjsKK30pKCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVz
cy9mdW5jdGlvbi1jYWxsZXItZ2VuZXJhdG9yLWJvZHkuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0
cy9zdHJlc3MvZnVuY3Rpb24tY2FsbGVyLWdlbmVyYXRvci1ib2R5LmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvc3RyZXNzL2Z1bmN0aW9uLWNhbGxlci1nZW5lcmF0b3ItYm9keS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI0IEBACisvL0AgcnVuRGVmYXVsdAorCisoZnVuY3Rpb24g
dGhpbmd5KCkgeworICAgIGZ1bmN0aW9uIGJhcigpCisgICAgeworICAgICAgICByZXR1cm4gYmFy
LmNhbGxlcjsKKyAgICB9CisgICAgCisgICAgZnVuY3Rpb24qIGZvbygpCisgICAgeworICAgICAg
ICBiYXIoKTsKKyAgICB9CisgICAgCisgICAgdmFyIG9rID0gZmFsc2U7CisgICAgdHJ5IHsKKyAg
ICAgICAgZm9vKCkubmV4dCgpOworICAgICAgICBvayA9IHRydWU7CisgICAgfSBjYXRjaCAoZSkg
eworICAgICAgICBpZiAoZS50b1N0cmluZygpICE9ICJUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxl
ciB1c2VkIHRvIHJldHJpZXZlIGdlbmVyYXRvciBib2R5IGNhbGxlciIpCisgICAgICAgICAgICB0
aHJvdyAiRXJyb3I6IGJhZCBlcnJvcjogIiArIGU7CisgICAgfQorICAgIGlmIChvaykKKyAgICAg
ICAgdGhyb3cgIkVycm9yOiBkaWQgbm90IHRocm93IGVycm9yIjsKK30pKCk7CkluZGV4OiBKU1Rl
c3RzL3N0cmVzcy9mdW5jdGlvbi1jYWxsZXItZ2VuZXJhdG9yLW1ldGhvZC1ib2R5LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2Z1bmN0aW9uLWNhbGxlci1nZW5lcmF0b3ItbWV0aG9k
LWJvZHkuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvZnVuY3Rpb24tY2FsbGVy
LWdlbmVyYXRvci1tZXRob2QtYm9keS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI2IEBA
CisvL0AgcnVuRGVmYXVsdAorCisoZnVuY3Rpb24gdGhpbmd5KCkgeworICAgIGZ1bmN0aW9uIGJh
cigpCisgICAgeworICAgICAgICByZXR1cm4gYmFyLmNhbGxlcjsKKyAgICB9CisgICAgCisgICAg
Y2xhc3MgQyB7CisgICAgICAgICpmb28oKQorICAgICAgICB7CisgICAgICAgICAgICBiYXIoKTsK
KyAgICAgICAgfQorICAgIH0KKyAgICAgICAgCisgICAgdmFyIG9rID0gZmFsc2U7CisgICAgdHJ5
IHsKKyAgICAgICAgbmV3IEMoKS5mb28oKS5uZXh0KCk7CisgICAgICAgIG9rID0gdHJ1ZTsKKyAg
ICB9IGNhdGNoIChlKSB7CisgICAgICAgIGlmIChlLnRvU3RyaW5nKCkgIT0gIlR5cGVFcnJvcjog
RnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0cmlldmUgZ2VuZXJhdG9yIGJvZHkgY2FsbGVyIikK
KyAgICAgICAgICAgIHRocm93ICJFcnJvcjogYmFkIGVycm9yOiAiICsgZTsKKyAgICB9CisgICAg
aWYgKG9rKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGRpZCBub3QgdGhyb3cgZXJyb3IiOworfSko
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjMwNjU4KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1
IEBACisyMDE4LTA0LTE0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAg
ICAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGxlciBzaG91bGRuJ3QgcmV0dXJuIGdlbmVyYXRvciBi
b2RpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
NDYzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAg
ICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGxlciBubyBsb25nZXIgcmV0dXJucyBnZW5lcmF0
b3IgYm9kaWVzLiBUaG9zZSBhcmUgbWVhbnQgdG8gYmUKKyAgICAgICAgcHJpdmF0ZS4KKyAgICAg
ICAgCisgICAgICAgIEFsc28gYWRkZWQgc29tZSBidWlsdGluIGRlYnVnZ2luZyB0b29scyBzbyB0
aGF0IGl0J3MgZWFzaWVyIHRvIGRvIHRoZSBpbnZlc3RpZ2F0aW9uIHRoYXQgSQorICAgICAgICBk
aWQuCisKKyAgICAgICAgKiBidWlsdGlucy9CdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBydW50
aW1lL0pTRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpjYWxsZXJHZXR0
ZXIpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlND
OjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVj
dEZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChKU0M6Omdsb2JhbEZ1bmNCdWlsdGluRGVzY3JpYmUp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaDoKKwogMjAxOC0w
NC0xMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBb
REZHXSBSZW1vdmUgZHVwbGljYXRlIDMyYml0IFByb2ZpbGVUeXBlIGltcGxlbWVudGF0aW9uCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShy
ZXZpc2lvbiAyMzA2NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRp
bk5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTgzLDYgKzgzLDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgbWFjcm8odHlwZWRBcnJheUdldE9yaWdpbmFsQ29uc3RydWN0b3IpIFwKICAgICBtYWNy
byh0eXBlZEFycmF5U3ViYXJyYXlDcmVhdGUpIFwKICAgICBtYWNybyhCdWlsdGluTG9nKSBcCisg
ICAgbWFjcm8oQnVpbHRpbkRlc2NyaWJlKSBcCiAgICAgbWFjcm8oaG9tZU9iamVjdCkgXAogICAg
IG1hY3JvKHRlbXBsYXRlUmVnaXN0cnlLZXkpIFwKICAgICBtYWNybyhlbnF1ZXVlSm9iKSBcCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2
aXNpb24gMjMwNjU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2Niw5ICszNjYsMzMgQEAgRW5jb2RlZEpTVmFsdWUg
SlNGdW5jdGlvbjo6Y2FsbGVyR2V0dGVyKAogICAgIC8vIEZpcmVmb3ggcmV0dXJucyBudWxsIGZv
ciBuYXRpdmUgY29kZSBjYWxsZXJzLCBzbyB3ZSBtYXRjaCB0aGF0IGJlaGF2aW9yLgogICAgIGlm
IChmdW5jdGlvbi0+aXNIb3N0T3JCdWlsdGluRnVuY3Rpb24oKSkKICAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc051bGwoKSk7Ci0gICAgaWYgKCFmdW5jdGlvbi0+anNFeGVjdXRhYmxl
KCktPmlzU3RyaWN0TW9kZSgpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhbGxl
cik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBzY29w
ZSwgQVNDSUlMaXRlcmFsKCJGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBzdHJpY3Qg
Y2FsbGVyIikpKTsKKyAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gZnVuY3Rpb24tPmpz
RXhlY3V0YWJsZSgpLT5wYXJzZU1vZGUoKTsKKyAgICBzd2l0Y2ggKHBhcnNlTW9kZSkgeworICAg
IGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZToKKyAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNHZW5lcmF0b3JCb2R5TW9kZToKKyAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJGdW5j
dGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBnZW5lcmF0b3IgYm9keSBjYWxsZXIiKSkpOwor
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGU6CisgICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6CisgICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGU6CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNl
dHRlck1vZGU6CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6CisgICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgorICAgIGNhc2UgU291cmNlUGFy
c2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU6CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpB
c3luY0Z1bmN0aW9uTW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RN
b2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlOgor
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKKyAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGU6CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1v
ZHVsZUV2YWx1YXRlTW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNHZW5lcmF0
b3JXcmFwcGVyRnVuY3Rpb25Nb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0dl
bmVyYXRvcldyYXBwZXJNZXRob2RNb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5l
cmF0b3JXcmFwcGVyTWV0aG9kTW9kZToKKyAgICAgICAgaWYgKCFmdW5jdGlvbi0+anNFeGVjdXRh
YmxlKCktPmlzU3RyaWN0TW9kZSgpKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShjYWxsZXIpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93VHlwZUVycm9y
KGV4ZWMsIHNjb3BlLCBBU0NJSUxpdGVyYWwoIkZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJp
ZXZlIHN0cmljdCBjYWxsZXIiKSkpOworICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogfQogCiBib29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5U2xvdChKU09iamVj
dCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFBy
b3BlcnR5U2xvdCYgc2xvdCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDIzMDY1OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
Nzg1LDYgKzc4NSw3IEBAIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXIK
ICAgICAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
PkxvYWRlciwgbV9tb2R1bGVMb2FkZXIuZ2V0KCksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKIAogICAgIEpTRnVuY3Rpb24qIGJ1aWx0aW5Mb2cg
PSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDEsIHZtLnByb3BlcnR5TmFtZXMtPmVtcHR5
SWRlbnRpZmllci5zdHJpbmcoKSwgZ2xvYmFsRnVuY0J1aWx0aW5Mb2cpOworICAgIEpTRnVuY3Rp
b24qIGJ1aWx0aW5EZXNjcmliZSA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMSwgdm0u
cHJvcGVydHlOYW1lcy0+ZW1wdHlJZGVudGlmaWVyLnN0cmluZygpLCBnbG9iYWxGdW5jQnVpbHRp
bkRlc2NyaWJlKTsKIAogICAgIEpTRnVuY3Rpb24qIHByaXZhdGVGdW5jQWJzID0gSlNGdW5jdGlv
bjo6Y3JlYXRlKHZtLCB0aGlzLCAwLCBTdHJpbmcoKSwgbWF0aFByb3RvRnVuY0FicywgQWJzSW50
cmluc2ljKTsKICAgICBKU0Z1bmN0aW9uKiBwcml2YXRlRnVuY0Zsb29yID0gSlNGdW5jdGlvbjo6
Y3JlYXRlKHZtLCB0aGlzLCAwLCBTdHJpbmcoKSwgbWF0aFByb3RvRnVuY0Zsb29yLCBGbG9vcklu
dHJpbnNpYyk7CkBAIC04NzUsNiArODc2LDcgQEAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24o
dm0sIHZtLnByb3BlcgogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1l
cy0+YnVpbHRpbk5hbWVzKCkuaGFzSW5zdGFuY2VCb3VuZEZ1bmN0aW9uUHJpdmF0ZU5hbWUoKSwg
cHJpdmF0ZUZ1bmNIYXNJbnN0YW5jZUJvdW5kRnVuY3Rpb24sIFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFt
ZXMtPmJ1aWx0aW5OYW1lcygpLmluc3RhbmNlT2ZQcml2YXRlTmFtZSgpLCBwcml2YXRlRnVuY0lu
c3RhbmNlT2YsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRl
OjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwKICAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLkJ1aWx0aW5M
b2dQcml2YXRlTmFtZSgpLCBidWlsdGluTG9nLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0g
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWls
dGluTmFtZXMoKS5CdWlsdGluRGVzY3JpYmVQcml2YXRlTmFtZSgpLCBidWlsdGluRGVzY3JpYmUs
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVs
ZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVy
dHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLk51bWJlclByaXZhdGVOYW1l
KCksIG51bWJlckNvbnN0cnVjdG9yLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSks
CiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFt
ZXMoKS5SZWdFeHBQcml2YXRlTmFtZSgpLCBtX3JlZ0V4cENvbnN0cnVjdG9yLmdldCgpLCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8
IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5m
byh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5TdHJpbmdQcml2YXRlTmFtZSgpLCBz
dHJpbmdDb25zdHJ1Y3RvciwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpLApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0RnVuY3Rpb25zLmNwcAkocmV2aXNpb24gMjMwNjU4KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03NzQsNiArNzc0LDExIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFs
RnVuY0IKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCitF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGdsb2JhbEZ1bmNCdWlsdGluRGVzY3JpYmUoRXhl
Y1N0YXRlKiBleGVjKQoreworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNTdHJpbmcoZXhl
YywgdG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkpKSk7Cit9CisKIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZ2xvYmFsRnVuY0ltcG9ydE1vZHVsZShFeGVjU3RhdGUqIGV4ZWMpCiB7CiAg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaAkocmV2aXNpb24gMjMw
NjU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5j
dGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGdsb2JhbEZ1bmNQCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGds
b2JhbEZ1bmNQcm90b1NldHRlcihFeGVjU3RhdGUqKTsKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZ2xvYmFsRnVuY0hvc3RQcm9taXNlUmVqZWN0aW9uVHJhY2tlcihFeGVjU3RhdGUqKTsK
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY0J1aWx0aW5Mb2coRXhlY1N0
YXRlKik7CitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGdsb2JhbEZ1bmNCdWlsdGluRGVz
Y3JpYmUoRXhlY1N0YXRlKik7CiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGdsb2JhbEZ1
bmNJbXBvcnRNb2R1bGUoRXhlY1N0YXRlKik7CiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGdsb2JhbEZ1bmNQcm9wZXJ0eUlzRW51bWVyYWJsZShFeGVjU3RhdGUqKTsKIAo=
</data>
<flag name="commit-queue"
          id="356286"
          type_id="3"
          status="-"
          setter="ews-watchlist"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337972</attachid>
            <date>2018-04-15 09:12:43 -0700</date>
            <delta_ts>2018-04-15 09:12:43 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>12628</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzA2NTkpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDE4LTA0LTE0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CisKKyAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGxlciBzaG91bGRuJ3QgcmV0dXJu
IGdlbmVyYXRvciBib2RpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4NDYzMAorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3VrZSBTdXp1a2kuCisK
KyAgICAgICAgKiBzdHJlc3MvZnVuY3Rpb24tY2FsbGVyLWFzeW5jLWFycm93LWZ1bmN0aW9uLWJv
ZHkuanM6IEFkZGVkLgorICAgICAgICAqIHN0cmVzcy9mdW5jdGlvbi1jYWxsZXItYXN5bmMtZnVu
Y3Rpb24tYm9keS5qczogQWRkZWQuCisgICAgICAgICogc3RyZXNzL2Z1bmN0aW9uLWNhbGxlci1h
c3luYy1nZW5lcmF0b3ItYm9keS5qczogQWRkZWQuCisgICAgICAgICogc3RyZXNzL2Z1bmN0aW9u
LWNhbGxlci1nZW5lcmF0b3ItYm9keS5qczogQWRkZWQuCisgICAgICAgICogc3RyZXNzL2Z1bmN0
aW9uLWNhbGxlci1nZW5lcmF0b3ItbWV0aG9kLWJvZHkuanM6IEFkZGVkLgorCiAyMDE4LTA0LTEy
ICBUb21hcyBQb3BlbGEgIDx0cG9wZWxhQHJlZGhhdC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgc2tpcCBKSVQgdGVzdHMgaWYgaXQgaXNuJ3QgZW5hYmxlZApJbmRleDogSlNUZXN0cy9zdHJl
c3MvZnVuY3Rpb24tY2FsbGVyLWFzeW5jLWFycm93LWZ1bmN0aW9uLWJvZHkuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy9zdHJlc3MvZnVuY3Rpb24tY2FsbGVyLWFzeW5jLWFycm93LWZ1bmN0aW9u
LWJvZHkuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvZnVuY3Rpb24tY2FsbGVy
LWFzeW5jLWFycm93LWZ1bmN0aW9uLWJvZHkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
MyBAQAorLy9AIHJ1bkRlZmF1bHQKKworKGZ1bmN0aW9uIHRoaW5neSgpIHsKKyAgICBmdW5jdGlv
biBiYXIoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGJhci5jYWxsZXI7CisgICAgfQorICAgIAor
ICAgIHZhciBvayA9IGZhbHNlOworICAgIHZhciBmb28gPSBhc3luYyAoKSA9PiB7CisgICAgICAg
IHRyeSB7CisgICAgICAgICAgICBiYXIoKTsKKyAgICAgICAgICAgIG9rID0gdHJ1ZTsKKyAgICAg
ICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgaWYgKGUudG9TdHJpbmcoKSAhPSAiVHlwZUVy
cm9yOiBGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBhc3luYyBmdW5jdGlvbiBib2R5
IikKKyAgICAgICAgICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCBlcnJvcjogIiArIGU7CisgICAg
ICAgIH0KKyAgICB9CisgICAgCisgICAgZm9vKCk7CisgICAgaWYgKG9rKQorICAgICAgICB0aHJv
dyAiRXJyb3I6IGRpZCBub3QgdGhyb3cgZXJyb3IiOworfSkoKTsKSW5kZXg6IEpTVGVzdHMvc3Ry
ZXNzL2Z1bmN0aW9uLWNhbGxlci1hc3luYy1mdW5jdGlvbi1ib2R5LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvc3RyZXNzL2Z1bmN0aW9uLWNhbGxlci1hc3luYy1mdW5jdGlvbi1ib2R5LmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL2Z1bmN0aW9uLWNhbGxlci1hc3luYy1mdW5j
dGlvbi1ib2R5LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQgQEAKKy8vQCBydW5EZWZh
dWx0CisKKyhmdW5jdGlvbiB0aGluZ3koKSB7CisgICAgZnVuY3Rpb24gYmFyKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBiYXIuY2FsbGVyOworICAgIH0KKyAgICAKKyAgICB2YXIgb2sgPSBmYWxz
ZTsKKyAgICBhc3luYyBmdW5jdGlvbiBmb28oKQorICAgIHsKKyAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgIGJhcigpOworICAgICAgICAgICAgb2sgPSB0cnVlOworICAgICAgICB9IGNhdGNoIChl
KSB7CisgICAgICAgICAgICBpZiAoZS50b1N0cmluZygpICE9ICJUeXBlRXJyb3I6IEZ1bmN0aW9u
LmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIGFzeW5jIGZ1bmN0aW9uIGJvZHkiKQorICAgICAgICAg
ICAgICAgIHRocm93ICJFcnJvcjogYmFkIGVycm9yOiAiICsgZTsKKyAgICAgICAgfQorICAgIH0K
KyAgICAKKyAgICBmb28oKTsKKyAgICBpZiAob2spCisgICAgICAgIHRocm93ICJFcnJvcjogZGlk
IG5vdCB0aHJvdyBlcnJvciI7Cit9KSgpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvZnVuY3Rpb24t
Y2FsbGVyLWFzeW5jLWdlbmVyYXRvci1ib2R5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3Ry
ZXNzL2Z1bmN0aW9uLWNhbGxlci1hc3luYy1nZW5lcmF0b3ItYm9keS5qcwkobm9uZXhpc3RlbnQp
CisrKyBKU1Rlc3RzL3N0cmVzcy9mdW5jdGlvbi1jYWxsZXItYXN5bmMtZ2VuZXJhdG9yLWJvZHku
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNCBAQAorLy9AIHJ1bkRlZmF1bHQKKworKGZ1
bmN0aW9uIHRoaW5neSgpIHsKKyAgICBmdW5jdGlvbiBiYXIoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGJhci5jYWxsZXI7CisgICAgfQorICAgIAorICAgIHZhciBvayA9IGZhbHNlOworICAgIGFz
eW5jIGZ1bmN0aW9uKiBmb28oKQorICAgIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGJh
cigpOworICAgICAgICAgICAgb2sgPSB0cnVlOworICAgICAgICB9IGNhdGNoIChlKSB7CisgICAg
ICAgICAgICBpZiAoZS50b1N0cmluZygpICE9ICJUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1
c2VkIHRvIHJldHJpZXZlIGFzeW5jIGZ1bmN0aW9uIGJvZHkiKQorICAgICAgICAgICAgICAgIHRo
cm93ICJFcnJvcjogYmFkIGVycm9yOiAiICsgZTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAg
ICBmb28oKS5uZXh0KCk7CisgICAgaWYgKG9rKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGRpZCBu
b3QgdGhyb3cgZXJyb3IiOworfSkoKTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL2Z1bmN0aW9uLWNh
bGxlci1nZW5lcmF0b3ItYm9keS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9mdW5j
dGlvbi1jYWxsZXItZ2VuZXJhdG9yLWJvZHkuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvZnVuY3Rpb24tY2FsbGVyLWdlbmVyYXRvci1ib2R5LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjQgQEAKKy8vQCBydW5EZWZhdWx0CisKKyhmdW5jdGlvbiB0aGluZ3koKSB7Cisg
ICAgZnVuY3Rpb24gYmFyKCkKKyAgICB7CisgICAgICAgIHJldHVybiBiYXIuY2FsbGVyOworICAg
IH0KKyAgICAKKyAgICBmdW5jdGlvbiogZm9vKCkKKyAgICB7CisgICAgICAgIGJhcigpOworICAg
IH0KKyAgICAKKyAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICB0cnkgeworICAgICAgICBmb28oKS5u
ZXh0KCk7CisgICAgICAgIG9rID0gdHJ1ZTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGlm
IChlLnRvU3RyaW5nKCkgIT0gIlR5cGVFcnJvcjogRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0
cmlldmUgZ2VuZXJhdG9yIGJvZHkiKQorICAgICAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgZXJy
b3I6ICIgKyBlOworICAgIH0KKyAgICBpZiAob2spCisgICAgICAgIHRocm93ICJFcnJvcjogZGlk
IG5vdCB0aHJvdyBlcnJvciI7Cit9KSgpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvZnVuY3Rpb24t
Y2FsbGVyLWdlbmVyYXRvci1tZXRob2QtYm9keS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0
cmVzcy9mdW5jdGlvbi1jYWxsZXItZ2VuZXJhdG9yLW1ldGhvZC1ib2R5LmpzCShub25leGlzdGVu
dCkKKysrIEpTVGVzdHMvc3RyZXNzL2Z1bmN0aW9uLWNhbGxlci1nZW5lcmF0b3ItbWV0aG9kLWJv
ZHkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBAQAorLy9AIHJ1bkRlZmF1bHQKKwor
KGZ1bmN0aW9uIHRoaW5neSgpIHsKKyAgICBmdW5jdGlvbiBiYXIoKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGJhci5jYWxsZXI7CisgICAgfQorICAgIAorICAgIGNsYXNzIEMgeworICAgICAgICAq
Zm9vKCkKKyAgICAgICAgeworICAgICAgICAgICAgYmFyKCk7CisgICAgICAgIH0KKyAgICB9Cisg
ICAgICAgIAorICAgIHZhciBvayA9IGZhbHNlOworICAgIHRyeSB7CisgICAgICAgIG5ldyBDKCku
Zm9vKCkubmV4dCgpOworICAgICAgICBvayA9IHRydWU7CisgICAgfSBjYXRjaCAoZSkgeworICAg
ICAgICBpZiAoZS50b1N0cmluZygpICE9ICJUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2Vk
IHRvIHJldHJpZXZlIGdlbmVyYXRvciBib2R5IikKKyAgICAgICAgICAgIHRocm93ICJFcnJvcjog
YmFkIGVycm9yOiAiICsgZTsKKyAgICB9CisgICAgaWYgKG9rKQorICAgICAgICB0aHJvdyAiRXJy
b3I6IGRpZCBub3QgdGhyb3cgZXJyb3IiOworfSkoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjMwNjU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE4LTA0LTE0ICBGaWxpcCBQaXps
byAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGxl
ciBzaG91bGRuJ3QgcmV0dXJuIGdlbmVyYXRvciBib2RpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDYzMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmNh
bGxlciBubyBsb25nZXIgcmV0dXJucyBnZW5lcmF0b3IgYm9kaWVzLiBUaG9zZSBhcmUgbWVhbnQg
dG8gYmUKKyAgICAgICAgcHJpdmF0ZS4KKyAgICAgICAgCisgICAgICAgIEFsc28gYWRkZWQgc29t
ZSBidWlsdGluIGRlYnVnZ2luZyB0b29scyBzbyB0aGF0IGl0J3MgZWFzaWVyIHRvIGRvIHRoZSBp
bnZlc3RpZ2F0aW9uIHRoYXQgSQorICAgICAgICBkaWQuCisKKyAgICAgICAgKiBidWlsdGlucy9C
dWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uY3BwOgorICAgICAg
ICAoSlNDOjpKU0Z1bmN0aW9uOjpjYWxsZXJHZXR0ZXIpOgorICAgICAgICAqIHJ1bnRpbWUvSlNH
bG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6Cisg
ICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChK
U0M6Omdsb2JhbEZ1bmNCdWlsdGluRGVzY3JpYmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9i
YWxPYmplY3RGdW5jdGlvbnMuaDoKKwogMjAxOC0wNC0xMyAgWXVzdWtlIFN1enVraSAgPHV0YXRh
bmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbREZHXSBSZW1vdmUgZHVwbGljYXRlIDMyYml0
IFByb2ZpbGVUeXBlIGltcGxlbWVudGF0aW9uCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAyMzA2NTgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTgzLDYgKzgzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgbWFjcm8odHlwZWRBcnJheUdldE9y
aWdpbmFsQ29uc3RydWN0b3IpIFwKICAgICBtYWNybyh0eXBlZEFycmF5U3ViYXJyYXlDcmVhdGUp
IFwKICAgICBtYWNybyhCdWlsdGluTG9nKSBcCisgICAgbWFjcm8oQnVpbHRpbkRlc2NyaWJlKSBc
CiAgICAgbWFjcm8oaG9tZU9iamVjdCkgXAogICAgIG1hY3JvKHRlbXBsYXRlUmVnaXN0cnlLZXkp
IFwKICAgICBtYWNybyhlbnF1ZXVlSm9iKSBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2aXNpb24gMjMwNjU4KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2
Niw5ICszNjYsMzQgQEAgRW5jb2RlZEpTVmFsdWUgSlNGdW5jdGlvbjo6Y2FsbGVyR2V0dGVyKAog
ICAgIC8vIEZpcmVmb3ggcmV0dXJucyBudWxsIGZvciBuYXRpdmUgY29kZSBjYWxsZXJzLCBzbyB3
ZSBtYXRjaCB0aGF0IGJlaGF2aW9yLgogICAgIGlmIChmdW5jdGlvbi0+aXNIb3N0T3JCdWlsdGlu
RnVuY3Rpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bGwoKSk7Ci0g
ICAgaWYgKCFmdW5jdGlvbi0+anNFeGVjdXRhYmxlKCktPmlzU3RyaWN0TW9kZSgpKQotICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhbGxlcik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJGdW5jdGlvbi5j
YWxsZXIgdXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyIikpKTsKKyAgICBTb3VyY2VQYXJz
ZU1vZGUgcGFyc2VNb2RlID0gZnVuY3Rpb24tPmpzRXhlY3V0YWJsZSgpLT5wYXJzZU1vZGUoKTsK
KyAgICBzd2l0Y2ggKHBhcnNlTW9kZSkgeworICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5l
cmF0b3JCb2R5TW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNHZW5lcmF0b3JC
b2R5TW9kZToKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihl
eGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2
ZSBnZW5lcmF0b3IgYm9keSIpKSk7CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVu
Y3Rpb25Cb2R5TW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0
aW9uQm9keU1vZGU6CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJy
b3IoZXhlYywgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgiRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0
cmlldmUgYXN5bmMgZnVuY3Rpb24gYm9keSIpKSk7CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
Ok5vcm1hbEZ1bmN0aW9uTW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9y
V3JhcHBlckZ1bmN0aW9uTW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9k
ZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKKyAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6TWV0aG9kTW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dG
dW5jdGlvbk1vZGU6CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2Rl
OgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGU6CisgICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGU6CisgICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6OlByb2dyYW1Nb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVB
bmFseXplTW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2Rl
OgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0dlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGU6CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jR2VuZXJhdG9yV3JhcHBlck1l
dGhvZE1vZGU6CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJNZXRo
b2RNb2RlOgorICAgICAgICBpZiAoIWZ1bmN0aW9uLT5qc0V4ZWN1dGFibGUoKS0+aXNTdHJpY3RN
b2RlKCkpCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhbGxlcik7CisgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhlYywgc2NvcGUsIEFT
Q0lJTGl0ZXJhbCgiRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0cmlldmUgc3RyaWN0IGNhbGxl
ciIpKSk7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIGJv
b2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNT
dGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90
KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmNwcAkocmV2aXNpb24gMjMwNjU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03ODUsNiArNzg1LDcgQEAg
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcgogICAgICAgICBwdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+TG9hZGVyLCBtX21vZHVs
ZUxvYWRlci5nZXQoKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSkpOwogCiAgICAgSlNGdW5jdGlvbiogYnVpbHRpbkxvZyA9IEpTRnVuY3Rpb246OmNy
ZWF0ZSh2bSwgdGhpcywgMSwgdm0ucHJvcGVydHlOYW1lcy0+ZW1wdHlJZGVudGlmaWVyLnN0cmlu
ZygpLCBnbG9iYWxGdW5jQnVpbHRpbkxvZyk7CisgICAgSlNGdW5jdGlvbiogYnVpbHRpbkRlc2Ny
aWJlID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAxLCB2bS5wcm9wZXJ0eU5hbWVzLT5l
bXB0eUlkZW50aWZpZXIuc3RyaW5nKCksIGdsb2JhbEZ1bmNCdWlsdGluRGVzY3JpYmUpOwogCiAg
ICAgSlNGdW5jdGlvbiogcHJpdmF0ZUZ1bmNBYnMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRo
aXMsIDAsIFN0cmluZygpLCBtYXRoUHJvdG9GdW5jQWJzLCBBYnNJbnRyaW5zaWMpOwogICAgIEpT
RnVuY3Rpb24qIHByaXZhdGVGdW5jRmxvb3IgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMs
IDAsIFN0cmluZygpLCBtYXRoUHJvdG9GdW5jRmxvb3IsIEZsb29ySW50cmluc2ljKTsKQEAgLTg3
NSw2ICs4NzYsNyBAQCBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVyCiAg
ICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMo
KS5oYXNJbnN0YW5jZUJvdW5kRnVuY3Rpb25Qcml2YXRlTmFtZSgpLCBwcml2YXRlRnVuY0hhc0lu
c3RhbmNlQm91bmRGdW5jdGlvbiwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpLAog
ICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVz
KCkuaW5zdGFuY2VPZlByaXZhdGVOYW1lKCksIHByaXZhdGVGdW5jSW5zdGFuY2VPZiwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
dm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuQnVpbHRpbkxvZ1ByaXZhdGVOYW1lKCks
IGJ1aWx0aW5Mb2csIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmli
dXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwKKyAgICAgICAg
R2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLkJ1aWx0
aW5EZXNjcmliZVByaXZhdGVOYW1lKCksIGJ1aWx0aW5EZXNjcmliZSwgUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6UmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVy
dHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuTnVtYmVyUHJpdmF0ZU5hbWUoKSwgbnVtYmVyQ29uc3Ry
dWN0b3IsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpE
b250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLlJlZ0V4cFByaXZh
dGVOYW1lKCksIG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCksIFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFt
ZXMtPmJ1aWx0aW5OYW1lcygpLlN0cmluZ1ByaXZhdGVOYW1lKCksIHN0cmluZ0NvbnN0cnVjdG9y
LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERl
bGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSksCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMu
Y3BwCShyZXZpc2lvbiAyMzA2NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3NCw2ICs3NzQs
MTEgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBnbG9iYWxGdW5jQgogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZ2xvYmFsRnVuY0J1aWx0aW5EZXNjcmliZShFeGVjU3RhdGUqIGV4ZWMpCit7
CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1N0cmluZyhleGVjLCB0b1N0cmluZyhleGVj
LT5hcmd1bWVudCgwKSkpKTsKK30KKwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBnbG9i
YWxGdW5jSW1wb3J0TW9kdWxlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBWTSYgdm0gPSBleGVj
LT52bSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3RGdW5jdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oCShyZXZpc2lvbiAyMzA2NTgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oCSh3b3JraW5n
IGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xv
YmFsRnVuY1AKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY1Byb3RvU2V0
dGVyKEV4ZWNTdGF0ZSopOwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBnbG9iYWxGdW5j
SG9zdFByb21pc2VSZWplY3Rpb25UcmFja2VyKEV4ZWNTdGF0ZSopOwogRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBnbG9iYWxGdW5jQnVpbHRpbkxvZyhFeGVjU3RhdGUqKTsKK0VuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY0J1aWx0aW5EZXNjcmliZShFeGVjU3RhdGUq
KTsKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY0ltcG9ydE1vZHVsZShF
eGVjU3RhdGUqKTsKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY1Byb3Bl
cnR5SXNFbnVtZXJhYmxlKEV4ZWNTdGF0ZSopOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>