<?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>172290</bug_id>
          
          <creation_ts>2017-05-18 10:09:59 -0700</creation_ts>
          <short_desc>DFG inlining should be hardened for the no-result case</short_desc>
          <delta_ts>2017-05-18 10:46:58 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1310122</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-05-18 10:09:59 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310124</commentid>
    <comment_count>1</comment_count>
      <attachid>310514</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-05-18 10:13:45 -0700</bug_when>
    <thetext>Created attachment 310514
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310139</commentid>
    <comment_count>2</comment_count>
      <attachid>310514</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-18 10:41:19 -0700</bug_when>
    <thetext>Comment on attachment 310514
the patch

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

r=me

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:76
&gt; +    if (!(assertion)) { \

UNLIKELY here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310145</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-05-18 10:43:57 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #2)
&gt; Comment on attachment 310514 [details]
&gt; the patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=310514&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:76
&gt; &gt; +    if (!(assertion)) { \
&gt; 
&gt; UNLIKELY here?

OK!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310147</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-05-18 10:46:58 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/217050/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310514</attachid>
            <date>2017-05-18 10:13:45 -0700</date>
            <delta_ts>2017-05-18 10:41:19 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>25452</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTcwNDcpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDE3LTA1LTE4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CisKKyAgICAgICAgREZHIGlubGluaW5nIHNob3VsZCBiZSBoYXJkZW5lZCBmb3IgdGhlIG5v
LXJlc3VsdCBjYXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzIyOTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHN0cmVzcy9hcnJheS1jb25zdHJ1Y3Rvci1uby1yZXN1bHQuanM6IEFkZGVkLgorICAg
ICAgICAoZm9vKToKKyAgICAgICAgKiBzdHJlc3MvcG93LW5vLXJlc3VsdC5qczogQWRkZWQuCisg
ICAgICAgIChmb28pOgorCiAyMDE3LTA1LTE2ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFA
Z21haWwuY29tPgogCiAgICAgICAgIFtKU0NdW0RGR11bRE9NSklUXSBFeHRlbmQgQ2hlY2tET00g
dG8gQ2hlY2tTdWJDbGFzcwpJbmRleDogSlNUZXN0cy9zdHJlc3MvYXJyYXktY29uc3RydWN0b3It
bm8tcmVzdWx0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2FycmF5LWNvbnN0cnVj
dG9yLW5vLXJlc3VsdC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9hcnJheS1j
b25zdHJ1Y3Rvci1uby1yZXN1bHQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAor
dmFyIG8gPSB7fTsKK28uX19kZWZpbmVTZXR0ZXJfXygiZm9vIiwgQXJyYXkpOworCitmdW5jdGlv
biBmb28oKQoreworICAgIG8uZm9vID0gNDI7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2ZvciAo
dmFyIGkgPSAwOyBpIDwgMTAwMDA7ICsraSkKKyAgICBmb28oKTsKKwpJbmRleDogSlNUZXN0cy9z
dHJlc3MvcG93LW5vLXJlc3VsdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb3ct
bm8tcmVzdWx0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3Bvdy1uby1yZXN1
bHQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAordmFyIG8gPSB7fTsKK28uX19k
ZWZpbmVTZXR0ZXJfXygiZm9vIiwgTWF0aC5wb3cpOworCitmdW5jdGlvbiBmb28oKQoreworICAg
IG8uZm9vID0gNDI7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDA7ICsraSkKKyAgICBmb28oKTsKKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyMTcwNDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTctMDUtMTggIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KKworICAgICAgICBERkcgaW5saW5pbmcgc2hvdWxkIGJlIGhhcmRlbmVk
IGZvciB0aGUgbm8tcmVzdWx0IGNhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MjI5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorICAgICAgICAKKyAgICAgICAgUHJldmlvdXNseSwgaWYgd2Ugd2VyZSBpbmxpbmluZyBh
IHNldHRlciBjYWxsLCB3ZSBtaWdodCBoYXZlIGEgYmFkIHRpbWUgYmVjYXVzZSB0aGUgc2V0dGVy
J3MKKyAgICAgICAgcmVzdWx0IHJlZ2lzdGVyIGlzIHRoZSBpbnZhbGlkIFZpcnR1YWxSZWdpc3Rl
cigpLCBhbmQgbXVjaCBvZiB0aGUgaW50cmluc2ljIGhhbmRsaW5nIGNvZGUKKyAgICAgICAgYXNz
dW1lcyB0aGF0IHRoZSByZXN1bHQgcmVnaXN0ZXIgaXMgdmFsaWQuCisgICAgICAgIAorICAgICAg
ICBUaGlzIGRvZXNuJ3QgdXN1YWxseSBjYXVzZSBwcm9ibGVtcyBiZWNhdXNlIHBlb3BsZSBkb24n
dCB1c3VhbGx5IHBvaW50IGEgc2V0dGVyIGF0IHNvbWV0aGluZworICAgICAgICB0aGF0IHdlIHJl
Y29nbml6ZSBhcyBhbiBpbnRyaW5zaWMuCisgICAgICAgIAorICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQW5kU3RhY2tCeUxpbmVhclNj
YW4uY3BwOiBGaXggYSBjb21tZW50LgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHA6IE1ha2UgUkVMRUFTRV9BU1NFUlQgZ2l2ZSBhY2N1cmF0ZSBzdGFja3MuIEkgd2FzIGdldHRp
bmcgYW4gYWJzdXJkIHN0YWNrIGZyb20gdGhlIGFzc2VydCBJIGFkZGVkIGluIERlbGF5ZWRTZXRM
b2NhbC4KKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6RGVsYXllZFNldExvY2Fs
OjpEZWxheWVkU2V0TG9jYWwpOiBBc3NlcnQgc28gd2UgY2F0Y2ggdGhlIHByb2JsZW0gc29vbmVy
LgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJbnRyaW5zaWNDYWxs
KTogRml4IHRoZSBidWcuCisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRs
ZUNvbnN0YW50SW50ZXJuYWxGdW5jdGlvbik6IEZpeCB0aGUgYnVnIGlmIGNvbnN0YW50IGludGVy
bmFsIGZ1bmN0aW9ucyB3ZXJlIHNldHRlci1pbmxpbmVhYmxlICh0aGV5IGFpbid0LCBiZWNhdXNl
IHRoZSBieXRlY29kZSBwYXJzZXIgZG9lc24ndCBmb2xkIEdldFNldHRlcikuCisgICAgICAgICog
cnVudGltZS9JbnRyaW5zaWMuY3BwOiBBZGRlZC4gSSBuZWVkZWQgdGhpcyB0byBkZWJ1Zy4KKyAg
ICAgICAgKEpTQzo6aW50cmluc2ljTmFtZSk6CisgICAgICAgIChXVEY6OnByaW50SW50ZXJuYWwp
OgorICAgICAgICAqIHJ1bnRpbWUvSW50cmluc2ljLmg6CisKIDIwMTctMDUtMTcgIFl1c3VrZSBT
dXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZml4
IGRlYnVnIGFuZCBub24tSklUIGJ1aWxkCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01h
a2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlz
dHMudHh0CShyZXZpc2lvbiAyMTcwNDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VM
aXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTc1NCw2ICs3NTQsNyBAQCBzZXQoSmF2YVNjcmlw
dENvcmVfU09VUkNFUwogICAgIHJ1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAKICAgICBy
dW50aW1lL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbk9iamVjdC5jcHAKICAgICBydW50aW1lL0lu
dGVybmFsRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9JbnRyaW5zaWMuY3BwCiAgICAgcnVudGlt
ZS9JbnRsQ29sbGF0b3IuY3BwCiAgICAgcnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5j
cHAKICAgICBydW50aW1lL0ludGxDb2xsYXRvclByb3RvdHlwZS5jcHAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMTcwNDYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtMTkyLDYgKzE5Miw3IEBACiAJCTBGMjVGMUIyMTgxNjM1RjMwMDUyMkYzOSAvKiBG
VExTbG93UGF0aENhbGwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMjVGMUFCMTgxNjM1RjMwMDUyMkYzOSAvKiBGVExTbG93UGF0aENhbGwuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjI1RjFCMzE4
MTYzNUYzMDA1MjJGMzkgLyogRlRMU2xvd1BhdGhDYWxsS2V5LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjVGMUFDMTgxNjM1RjMwMDUyMkYzOSAv
KiBGVExTbG93UGF0aENhbGxLZXkuY3BwICovOyB9OwogCQkwRjI1RjFCNDE4MTYzNUYzMDA1MjJG
MzkgLyogRlRMU2xvd1BhdGhDYWxsS2V5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjI1RjFBRDE4MTYzNUYzMDA1MjJGMzkgLyogRlRMU2xvd1BhdGhD
YWxsS2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJMEYyNzVGMkQxRUNFMDc5ODAwNjIwRDQ3IC8qIEludHJpbnNpYy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI3NUYyQzFFQ0UwNzk2MDA2MjBE
NDcgLyogSW50cmluc2ljLmNwcCAqLzsgfTsKIAkJMEYyQUM1NjYxRThBMEI3NzAwMDFFRTNGIC8q
IEFpckZpeFNwaWxsc0FmdGVyVGVybWluYWxzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkFDNTY0MUU4QTBCNzYwMDAxRUUzRiAvKiBBaXJGaXhT
cGlsbHNBZnRlclRlcm1pbmFscy5jcHAgKi87IH07CiAJCTBGMkFDNTY3MUU4QTBCNzkwMDAxRUUz
RiAvKiBBaXJGaXhTcGlsbHNBZnRlclRlcm1pbmFscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyQUM1NjUxRThBMEI3NjAwMDFFRTNGIC8qIEFpckZp
eFNwaWxsc0FmdGVyVGVybWluYWxzLmggKi87IH07CiAJCTBGMkFDNTZBMUU4QTBCRDMwMDAxRUUz
RiAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNrQnlMaW5lYXJTY2FuLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMkFDNTY4MUU4QTBCRDEw
MDAxRUUzRiAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNrQnlMaW5lYXJTY2FuLmNwcCAq
LzsgfTsKQEAgLTI3NzMsNiArMjc3NCw3IEBACiAJCTBGMjVGMUFCMTgxNjM1RjMwMDUyMkYzOSAv
KiBGVExTbG93UGF0aENhbGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRM
U2xvd1BhdGhDYWxsLmg7IHBhdGggPSBmdGwvRlRMU2xvd1BhdGhDYWxsLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTBGMjVGMUFDMTgxNjM1RjMwMDUyMkYzOSAvKiBGVExTbG93UGF0
aENhbGxLZXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMU2xv
d1BhdGhDYWxsS2V5LmNwcDsgcGF0aCA9IGZ0bC9GVExTbG93UGF0aENhbGxLZXkuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjI1RjFBRDE4MTYzNUYzMDA1MjJGMzkgLyogRlRM
U2xvd1BhdGhDYWxsS2V5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTFNs
b3dQYXRoQ2FsbEtleS5oOyBwYXRoID0gZnRsL0ZUTFNsb3dQYXRoQ2FsbEtleS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwRjI3NUYyQzFFQ0UwNzk2MDA2MjBENDcgLyogSW50cmlu
c2ljLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEludHJpbnNpYy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGMkFDNTY0MUU4QTBCNzYwMDAxRUUz
RiAvKiBBaXJGaXhTcGlsbHNBZnRlclRlcm1pbmFscy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBBaXJGaXhTcGlsbHNBZnRlclRlcm1pbmFscy5jcHA7IHBhdGggPSBi
My9haXIvQWlyRml4U3BpbGxzQWZ0ZXJUZXJtaW5hbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwRjJBQzU2NTFFOEEwQjc2MDAwMUVFM0YgLyogQWlyRml4U3BpbGxzQWZ0ZXJU
ZXJtaW5hbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQWlyRml4U3BpbGxz
QWZ0ZXJUZXJtaW5hbHMuaDsgcGF0aCA9IGIzL2Fpci9BaXJGaXhTcGlsbHNBZnRlclRlcm1pbmFs
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjJBQzU2ODFFOEEwQkQxMDAwMUVF
M0YgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNBbmRTdGFja0J5TGluZWFyU2Nhbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0
YWNrQnlMaW5lYXJTY2FuLmNwcDsgcGF0aCA9IGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0Fu
ZFN0YWNrQnlMaW5lYXJTY2FuLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY2
MDIsOSArNjYwNCw5IEBACiAJCQkJQTdFNUEzQTYxNzk3NDMyRDAwRTg5M0MwIC8qIENvbXBpbGF0
aW9uUmVzdWx0LmggKi8sCiAJCQkJOTY5QTA5MjIwRUQxRTA5QzAwRjFGNjgxIC8qIENvbXBsZXRp
b24uY3BwICovLAogCQkJCUY1QkIyQkM1MDMwRjc3MjEwMUZDRkUxRCAvKiBDb21wbGV0aW9uLmgg
Ki8sCisJCQkJMEZEQjJDRTkxNzQ4OTZDNzAwN0IzQzFCIC8qIENvbmN1cnJlbnRKU0xvY2suaCAq
LywKIAkJCQk2NTg4MjRCMDFFNUNGREY0MDBGQjczNTkgLyogQ29uZmlnRmlsZS5jcHAgKi8sCiAJ
CQkJNjU4ODI0QUUxRTVDRkRCMDAwRkI3MzU5IC8qIENvbmZpZ0ZpbGUuaCAqLywKLQkJCQkwRkRC
MkNFOTE3NDg5NkM3MDA3QjNDMUIgLyogQ29uY3VycmVudEpTTG9jay5oICovLAogCQkJCUE1QjZB
NzRDMThDNkRCQTYwMEYxMUU5MSAvKiBDb25zb2xlQ2xpZW50LmNwcCAqLywKIAkJCQlBNTNDRTA4
OTE4QkMyMUMzMDBCRURGNzYgLyogQ29uc29sZUNsaWVudC5oICovLAogCQkJCUE1NTcxNEJDMUNE
ODA0OEUwMDA0RDJDNiAvKiBDb25zb2xlT2JqZWN0LmNwcCAqLywKQEAgLTY2MzAsOCArNjYzMiw2
IEBACiAJCQkJMTRBMTU2MzAxMDk2NjM2NTAwNkZBMjYwIC8qIERhdGVJbnN0YW5jZUNhY2hlLmgg
Ki8sCiAJCQkJQkNEMjAzNDcwRTE3MTM1RTAwMkM3RTgyIC8qIERhdGVQcm90b3R5cGUuY3BwICov
LAogCQkJCUJDRDIwMzQ4MEUxNzEzNUUwMDJDN0U4MiAvKiBEYXRlUHJvdG90eXBlLmggKi8sCi0J
CQkJNTM0NjM4NzYxRTcxRTA2RTAwRjEyQUMxIC8qIFByb21pc2VEZWZlcnJlZFRpbWVyLmNwcCAq
LywKLQkJCQk1MzQ2Mzg3NDFFNzBEREVDMDBGMTJBQzEgLyogUHJvbWlzZURlZmVycmVkVGltZXIu
aCAqLywKIAkJCQkxNjk5NDhFREU2OEQ0MDU0QjAxRUY3OTcgLyogRGVmaW5lUHJvcGVydHlBdHRy
aWJ1dGVzLmggKi8sCiAJCQkJMEZFMDUwMEYxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3Vt
ZW50cy5jcHAgKi8sCiAJCQkJMEZFMDUwMTAxQUE5MDkxMTAwRDMzQjMzIC8qIERpcmVjdEFyZ3Vt
ZW50cy5oICovLApAQCAtNjcyMSw5ICs2NzIxLDkgQEAKIAkJCQlFMTc4NjMzRjBEOUJFQzAwMDBE
NzRFNzUgLyogSW5pdGlhbGl6ZVRocmVhZGluZy5oICovLAogCQkJCUUzNUUwMzVEMUI3QUI0M0Uw
MDczQUQyQSAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3QuY3BwICovLAogCQkJCUUz
NUUwMzVFMUI3QUI0M0UwMDczQUQyQSAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25PYmplY3Qu
aCAqLywKKwkJCQlBN0E4QUYyQjE3QURCNUYzMDA1QUIxNzQgLyogSW50OEFycmF5LmggKi8sCiAJ
CQkJQTdBOEFGMkMxN0FEQjVGMzAwNUFCMTc0IC8qIEludDE2QXJyYXkuaCAqLywKIAkJCQlBN0E4
QUYyRDE3QURCNUYzMDA1QUIxNzQgLyogSW50MzJBcnJheS5oICovLAotCQkJCUE3QThBRjJCMTdB
REI1RjMwMDVBQjE3NCAvKiBJbnQ4QXJyYXkuaCAqLywKIAkJCQlCQzlCQjk1QjBFMTk2ODA2MDBE
Rjg4NTUgLyogSW50ZXJuYWxGdW5jdGlvbi5jcHAgKi8sCiAJCQkJQkMxMTY2N0EwRTE5OUMwNTAw
ODA2NkREIC8qIEludGVybmFsRnVuY3Rpb24uaCAqLywKIAkJCQlBMUI5RTIzMzFCNEUwRDY3MDBC
QzdGRUQgLyogSW50bENvbGxhdG9yLmNwcCAqLywKQEAgLTY3NDcsNiArNjc0Nyw3IEBACiAJCQkJ
QTEyQkJGRjMxQjA0NEE5ODAwNjY0QjY5IC8qIEludGxPYmplY3QuY3BwICovLAogCQkJCUExMkJC
RkYxMUIwNDRBOEIwMDY2NEI2OSAvKiBJbnRsT2JqZWN0LmggKi8sCiAJCQkJNzA4RUJFMjMxQ0U4
RjM1MDAwNDUzMTQ2IC8qIEludGxPYmplY3RJbmxpbmVzLmggKi8sCisJCQkJMEYyNzVGMkMxRUNF
MDc5NjAwNjIwRDQ3IC8qIEludHJpbnNpYy5jcHAgKi8sCiAJCQkJODZCRjY0MkExNDhEQjJCNTAw
NERFMzZBIC8qIEludHJpbnNpYy5oICovLAogCQkJCThCOUY2RDU1MUQ1OTEyRkEwMDFDNzM5RiAv
KiBJdGVyYXRpb25LaW5kLmggKi8sCiAJCQkJRkU0RDU1QjcxQUU3MTZDQTAwNTJFNDU5IC8qIEl0
ZXJhdGlvblN0YXR1cy5oICovLApAQCAtNjgxOCw5ICs2ODE5LDkgQEAKIAkJCQlCQzc1NkZDNjBF
MjAzMUIyMDBERTdEMTIgLyogSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwICovLAogCQkJCUJD
NzU2RkM3MEUyMDMxQjIwMERFN0QxMiAvKiBKU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oICovLAog
CQkJCTc5QjgxOTkyMUREMjVDRjUwMEREQzcxNCAvKiBKU0dsb2JhbE9iamVjdElubGluZXMuaCAq
LywKKwkJCQkwRjJCNjZDOTE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQ4QXJyYXkuaCAqLywKIAkJ
CQkwRjJCNjZDQTE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQxNkFycmF5LmggKi8sCiAJCQkJMEYy
QjY2Q0IxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50MzJBcnJheS5oICovLAotCQkJCTBGMkI2NkM5
MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0ludDhBcnJheS5oICovLAogCQkJCUUzM0Y1MDdFMUI4NDI5
QTQwMDQxMzg1NiAvKiBKU0ludGVybmFsUHJvbWlzZS5jcHAgKi8sCiAJCQkJRTMzRjUwN0YxQjg0
MjlBNDAwNDEzODU2IC8qIEpTSW50ZXJuYWxQcm9taXNlLmggKi8sCiAJCQkJRTMzRjUwNzYxQjg0
MjI1NzAwNDEzODU2IC8qIEpTSW50ZXJuYWxQcm9taXNlQ29uc3RydWN0b3IuY3BwICovLApAQCAt
Njg2OCw2ICs2ODY5LDggQEAKIAkJCQlFM0VGODg3MzFCNjZERjIzMDAzRjI2Q0IgLyogSlNQcm9w
ZXJ0eU5hbWVJdGVyYXRvci5oICovLAogCQkJCTg2MjU1M0NFMTYxMzZBQTUwMDlGMTdEMCAvKiBK
U1Byb3h5LmNwcCAqLywKIAkJCQk4NjI1NTNDRjE2MTM2QUE1MDA5RjE3RDAgLyogSlNQcm94eS5o
ICovLAorCQkJCTUzNDYzODcyMUU3MEQwMTUwMEYxMkFDMSAvKiBKU1J1bkxvb3BUaW1lci5jcHAg
Ki8sCisJCQkJNTM0NjM4NzAxRTcwQ0YzRDAwRjEyQUMxIC8qIEpTUnVuTG9vcFRpbWVyLmggKi8s
CiAJCQkJMTQ4NzRBRTExNUVCREU0QTAwMkUzNTg3IC8qIEpTU2NvcGUuY3BwICovLAogCQkJCTE0
ODc0QUUyMTVFQkRFNEEwMDJFMzU4NyAvKiBKU1Njb3BlLmggKi8sCiAJCQkJMTFDMTk3QzI2MjQ4
NDhFREE4NENFRDdGIC8qIEpTU2NyaXB0RmV0Y2hlci5jcHAgKi8sCkBAIC02OTA4LDEwICs2OTEx
LDEwIEBACiAJCQkJNTNGMjU2RTExQjg3RTI4MDAwQjRCNzY4IC8qIEpTVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuY3BwICovLAogCQkJCTUzOTE3RTdDMUI3OTExMDYwMDBFQkQzMyAvKiBKU1R5cGVk
QXJyYXlWaWV3UHJvdG90eXBlLmggKi8sCiAJCQkJNjUwN0QyOTcwRTg3MUU0QTAwRDdEODk2IC8q
IEpTVHlwZUluZm8uaCAqLywKLQkJCQkwRjJCNjZENDE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50
MTZBcnJheS5oICovLAotCQkJCTBGMkI2NkQ1MTdCNkI1QUIwMEE3QUUzRiAvKiBKU1VpbnQzMkFy
cmF5LmggKi8sCiAJCQkJMEYyQjY2RDIxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVWludDhBcnJheS5o
ICovLAogCQkJCTBGMkI2NkQzMTdCNkI1QUIwMEE3QUUzRiAvKiBKU1VpbnQ4Q2xhbXBlZEFycmF5
LmggKi8sCisJCQkJMEYyQjY2RDQxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVWludDE2QXJyYXkuaCAq
LywKKwkJCQkwRjJCNjZENTE3QjZCNUFCMDBBN0FFM0YgLyogSlNVaW50MzJBcnJheS5oICovLAog
CQkJCUE3Q0EzQUUxMTdEQTQxQUUwMDY1MzhBRiAvKiBKU1dlYWtNYXAuY3BwICovLAogCQkJCUE3
Q0EzQUUyMTdEQTQxQUUwMDY1MzhBRiAvKiBKU1dlYWtNYXAuaCAqLywKIAkJCQk3MDlGQjg2MTFB
RTMzNUM2MDAzOUQwNjkgLyogSlNXZWFrU2V0LmNwcCAqLywKQEAgLTY5MjksNiArNjkzMiw3IEBA
CiAJCQkJQTdFMkVBNjkwRkI0NjBDRjAwNjAxRjA2IC8qIExpdGVyYWxQYXJzZXIuaCAqLywKIAkJ
CQlGNjkyQTg2ODAyNTU1OTdEMDFGRjYwRjcgLyogTG9va3VwLmNwcCAqLywKIAkJCQlGNjkyQTg2
OTAyNTU1OTdEMDFGRjYwRjcgLyogTG9va3VwLmggKi8sCisJCQkJMjg4MDZFMjExNTVFNDc4QTkz
RkE3QjAyIC8qIE1hY2hpbmVDb250ZXh0LmggKi8sCiAJCQkJNzk1QjE5OTUxRDc4QkUzNTAwMjYy
RkEwIC8qIE1hcEJhc2UuY3BwICovLAogCQkJCTc5NUIxOTk2MUQ3OEJFMzUwMDI2MkZBMCAvKiBN
YXBCYXNlLmggKi8sCiAJCQkJQTcwMDg3MzcxN0NCRTg1MzAwQzNFNjQzIC8qIE1hcENvbnN0cnVj
dG9yLmNwcCAqLywKQEAgLTY5ODIsNiArNjk4Niw4IEBACiAJCQkJODY4OTE2QTkxNTVGMjg1NDAw
Q0IyQjlBIC8qIFByaXZhdGVOYW1lLmggKi8sCiAJCQkJMTQ3MzQxREYxREMyQ0U5NjAwQUEyOUJB
IC8qIFByb2dyYW1FeGVjdXRhYmxlLmNwcCAqLywKIAkJCQkxNDczNDFEMzFEQzAyRTZEMDBBQTI5
QkEgLyogUHJvZ3JhbUV4ZWN1dGFibGUuaCAqLywKKwkJCQk1MzQ2Mzg3NjFFNzFFMDZFMDBGMTJB
QzEgLyogUHJvbWlzZURlZmVycmVkVGltZXIuY3BwICovLAorCQkJCTUzNDYzODc0MUU3MERERUMw
MEYxMkFDMSAvKiBQcm9taXNlRGVmZXJyZWRUaW1lci5oICovLAogCQkJCUE3RkI2MEEzMTAzRjdE
QzIwMDE3QTI4NiAvKiBQcm9wZXJ0eURlc2NyaXB0b3IuY3BwICovLAogCQkJCUE3RkI2MDRCMTAz
RjVFQUIwMDE3QTI4NiAvKiBQcm9wZXJ0eURlc2NyaXB0b3IuaCAqLywKIAkJCQlCQzk1NDM3QzBF
QkE3MEZEMDA3MkI2RDMgLyogUHJvcGVydHlNYXBIYXNoVGFibGUuaCAqLywKQEAgLTcwMjQsOCAr
NzAzMCw2IEBACiAJCQkJMEY3QzM5RkMxQzhGNjU5NTAwNDgwMTUxIC8qIFJlZ0V4cE9iamVjdElu
bGluZXMuaCAqLywKIAkJCQlCQ0QyMDJCRjBFMTcwNkE3MDAyQzdFODIgLyogUmVnRXhwUHJvdG90
eXBlLmNwcCAqLywKIAkJCQlCQ0QyMDJDMDBFMTcwNkE3MDAyQzdFODIgLyogUmVnRXhwUHJvdG90
eXBlLmggKi8sCi0JCQkJNTM0NjM4NzIxRTcwRDAxNTAwRjEyQUMxIC8qIEpTUnVuTG9vcFRpbWVy
LmNwcCAqLywKLQkJCQk1MzQ2Mzg3MDFFNzBDRjNEMDBGMTJBQzEgLyogSlNSdW5Mb29wVGltZXIu
aCAqLywKIAkJCQk3MEIwQTlEMDFBOUI2NjIwMDAwMTMwNkEgLyogUnVudGltZUZsYWdzLmggKi8s
CiAJCQkJNTI3NzczREQxQUFGODNBQzAwQkRFN0U4IC8qIFJ1bnRpbWVUeXBlLmNwcCAqLywKIAkJ
CQk1MkMwNjExRDFBQTUxRTFCMDBCNEFEQkEgLyogUnVudGltZVR5cGUuaCAqLywKQEAgLTcxMjIs
MTEgKzcxMjYsMTEgQEAKIAkJCQkwRjJENERFMDE5ODMyRDkxMDA3RDRCMTkgLyogVHlwZVByb2Zp
bGVyTG9nLmggKi8sCiAJCQkJMEYyRDRERTMxOTgzMkQ5MTAwN0Q0QjE5IC8qIFR5cGVTZXQuY3Bw
ICovLAogCQkJCTBGMkQ0REU0MTk4MzJEOTEwMDdENEIxOSAvKiBUeXBlU2V0LmggKi8sCisJCQkJ
QTdBOEFGMzAxN0FEQjVGMzAwNUFCMTc0IC8qIFVpbnQ4QXJyYXkuaCAqLywKKwkJCQlBN0E4QUYz
MTE3QURCNUYzMDA1QUIxNzQgLyogVWludDhDbGFtcGVkQXJyYXkuaCAqLywKIAkJCQlBN0E4QUYz
MjE3QURCNUYzMDA1QUIxNzQgLyogVWludDE2QXJyYXkuaCAqLywKIAkJCQk4NjY3MzlEMTEzQkZE
RTcxMDAyM0Q4N0MgLyogVWludDE2V2l0aEZyYWN0aW9uLmggKi8sCiAJCQkJQTdBOEFGMzMxN0FE
QjVGMzAwNUFCMTc0IC8qIFVpbnQzMkFycmF5LmggKi8sCi0JCQkJQTdBOEFGMzAxN0FEQjVGMzAw
NUFCMTc0IC8qIFVpbnQ4QXJyYXkuaCAqLywKLQkJCQlBN0E4QUYzMTE3QURCNUYzMDA1QUIxNzQg
LyogVWludDhDbGFtcGVkQXJyYXkuaCAqLywKIAkJCQkwRkUwNTAyMzFBQTkwOTU2MDBEMzNCMzMg
LyogVmFyT2Zmc2V0LmNwcCAqLywKIAkJCQkwRkUwNTAyNDFBQTkwOTU2MDBEMzNCMzMgLyogVmFy
T2Zmc2V0LmggKi8sCiAJCQkJRTE4RTNBNTcwREY5Mjc4QzAwRDkwQjM0IC8qIFZNLmNwcCAqLywK
QEAgLTcxNTIsNyArNzE1Niw2IEBACiAJCQkJNzA5RkI4NjYxQUUzMzVDNjAwMzlEMDY5IC8qIFdl
YWtTZXRQcm90b3R5cGUuaCAqLywKIAkJCQlBN0RDQjc3OTEyRTNEOTA1MDA5MTE5NDAgLyogV3Jp
dGVCYXJyaWVyLmggKi8sCiAJCQkJQzJCNkQ3NTIxOEEzMzc5MzAwNEE5MzAxIC8qIFdyaXRlQmFy
cmllcklubGluZXMuaCAqLywKLQkJCQkyODgwNkUyMTE1NUU0NzhBOTNGQTdCMDIgLyogTWFjaGlu
ZUNvbnRleHQuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gcnVudGltZTsKIAkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CkBAIC0xMTA3MSw2ICsxMTA3NCw3IEBACiAJCQkJODYzQzZEOUMxNTIxMTEx
QTAwNTg1RTRFIC8qIFlhcnJDYW5vbmljYWxpemVVQ1MyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTY1RkI2M0E0MUM4RUEwOUMwMDIwNzE5QiAvKiBZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk4NjcwNEI4NDEyREJBMzM3MDBBOUZFN0IgLyogWWFyckludGVy
cHJldGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGMjc1RjJEMUVDRTA3OTgwMDYyMEQ0NyAv
KiBJbnRyaW5zaWMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODY3MDRCODYxMkRCQTMzNzAwQTlG
RTdCIC8qIFlhcnJKSVQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODY3MDRCODkxMkRCQTMzNzAw
QTlGRTdCIC8qIFlhcnJQYXR0ZXJuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2NzA0QjQyMTJE
QjhBODEwMEE5RkU3QiAvKiBZYXJyU3ludGF4Q2hlY2tlci5jcHAgaW4gU291cmNlcyAqLywKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNBbmRT
dGFja0J5TGluZWFyU2Nhbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNrQnlMaW5lYXJTY2FuLmNwcAkocmV2
aXNpb24gMjE3MDQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0
ZVJlZ2lzdGVyc0FuZFN0YWNrQnlMaW5lYXJTY2FuLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM3
LDkgKzIzNyw4IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGF1dG8gcmVj
b3JkID0gWyZdICh1bnNpZ25lZCBpbnN0SW5kZXgpIHsKICAgICAgICAgICAgICAgICAvLyBGSVhN
RTogVGhpcyBjb3VsZCBnZXQgdGhlIHJlZ2lzdGVyIHNldHMgZnJvbSBzb21ld2hlcmUgZWxzZSwg
bGlrZSB0aGUKLSAgICAgICAgICAgICAgICAvLyBsaXZlbmVzcyBjb25zdHJhaW50cy4gRXhjZXB0
IHdlIHdhbnQgdGhvc2UgY29uc3RyYWludHMgdG8gYmUgbGFpZCBvdXQgbGlrZQotICAgICAgICAg
ICAgICAgIC8vIGhvdyB0aGV5IHdvdWxkIGhhdmUgYmVlbiBieSBSZWdMaXZlbmVzcywgc2luY2Ug
d2Ugd2FudCB0byBzZXBhcmF0ZSB0aGUgbGF0ZXMKLSAgICAgICAgICAgICAgICAvLyBvZiBvbmUg
aW5zdCBmcm9tIHRoZSBlYXJsaWVzIG9mIHRoZSBuZXh0LgorICAgICAgICAgICAgICAgIC8vIGxp
dmVuZXNzIGNvbnN0cmFpbnRzLiBFeGNlcHQgd2Ugd2FudCB0aG9zZSBjb25zdHJhaW50cyB0byBz
ZXBhcmF0ZSB0aGUgbGF0ZQorICAgICAgICAgICAgICAgIC8vIGFjdGlvbnMgb2Ygb25lIGluc3Ry
dWN0aW9uIGZyb20gdGhlIGVhcmx5IGFjdGlvbnMgb2YgdGhlIG5leHQuCiAgICAgICAgICAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDg1MAogICAg
ICAgICAgICAgICAgIGNvbnN0IFJlZ2lzdGVyU2V0JiByZWdzID0gbG9jYWxDYWxjLmxpdmUoKTsK
ICAgICAgICAgICAgICAgICBpZiAoSW5zdCogcHJldiA9IGJsb2NrLT5nZXQoaW5zdEluZGV4IC0g
MSkpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQ
YXJzZXIuY3BwCShyZXZpc2lvbiAyMTcwNDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsMjMgQEAK
IAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogCituYW1lc3BhY2UgeworCitOT19S
RVRVUk5fRFVFX1RPX0NSQVNIIE5FVkVSX0lOTElORSB2b2lkIGNyYXNoKCkKK3sKKyAgICBDUkFT
SCgpOworfQorCisjdW5kZWYgUkVMRUFTRV9BU1NFUlQKKyNkZWZpbmUgUkVMRUFTRV9BU1NFUlQo
YXNzZXJ0aW9uKSBkbyB7IFwKKyAgICBpZiAoIShhc3NlcnRpb24pKSB7IFwKKyAgICAgICAgV1RG
UmVwb3J0QXNzZXJ0aW9uRmFpbHVyZShfX0ZJTEVfXywgX19MSU5FX18sIFdURl9QUkVUVFlfRlVO
Q1RJT04sICNhc3NlcnRpb24pOyBcCisgICAgICAgIGNyYXNoKCk7IFwKKyAgICB9IFwKK30gd2hp
bGUgKDApCisKK30gLy8gYW5vbnltb3VzIG5hbWVzcGFjZQorCiBzdGF0aWMgY29uc3QgYm9vbCB2
ZXJib3NlID0gZmFsc2U7CiAKIGNsYXNzIENvbnN0YW50QnVmZmVyS2V5IHsKQEAgLTExODksNiAr
MTIwNiw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAsIG1fb3BlcmFuZChvcGVyYW5kKQogICAg
ICAgICAgICAgLCBtX3ZhbHVlKHZhbHVlKQogICAgICAgICB7CisgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVChvcGVyYW5kLmlzVmFsaWQoKSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAg
IE5vZGUqIGV4ZWN1dGUoQnl0ZUNvZGVQYXJzZXIqIHBhcnNlciwgU2V0TW9kZSBzZXRNb2RlID0g
Tm9ybWFsU2V0KQpAQCAtMjE0Niw2ICsyMTY0LDE4IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6Omhh
bmRsZU1pbk1heChpbnQgcmUKIHRlbXBsYXRlPHR5cGVuYW1lIENoZWNrc0Z1bmN0b3I+CiBib29s
IEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJbnRyaW5zaWNDYWxsKE5vZGUqIGNhbGxlZSwgaW50IHJl
c3VsdE9wZXJhbmQsIEludHJpbnNpYyBpbnRyaW5zaWMsIGludCByZWdpc3Rlck9mZnNldCwgaW50
IGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBTcGVjdWxhdGVkVHlwZSBwcmVkaWN0aW9uLCBj
b25zdCBDaGVja3NGdW5jdG9yJiBpbnNlcnRDaGVja3MpCiB7CisgICAgaWYgKE9wdGlvbnM6OnZl
cmJvc2VERkdCeXRlQ29kZVBhcnNpbmcoKSkKKyAgICAgICAgZGF0YUxvZygiICAgICAgIFRoZSBp
bnRyaW5zaWMgaXMgIiwgaW50cmluc2ljLCAiXG4iKTsKKyAgICAKKyAgICAvLyBJdCBzbyBoYXBw
ZW5zIHRoYXQgdGhlIGNvZGUgYmVsb3cgZG9lc24ndCBoYW5kbGUgdGhlIGludmFsaWQgcmVzdWx0
IGNhc2UuIFdlIGNvdWxkIGZpeCB0aGF0LCBidXQKKyAgICAvLyBpdCB3b3VsZCBvbmx5IGJlbmVm
aXQgaW50cmluc2ljcyBjYWxsZWQgYXMgc2V0dGVycywgbGlrZSBpZiB5b3UgZG86CisgICAgLy8K
KyAgICAvLyAgICAgby5fX2RlZmluZVNldHRlcl9fKCJmb28iLCBNYXRoLnBvdykKKyAgICAvLwor
ICAgIC8vIFdoaWNoIGlzIGV4dHJlbWVseSBhbXVzaW5nLCBidXQgcHJvYmFibHkgbm90IHdvcnRo
IG9wdGltaXppbmcuCisgICAgaWYgKCFWaXJ0dWFsUmVnaXN0ZXIocmVzdWx0T3BlcmFuZCkuaXNW
YWxpZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCiAgICAgc3dpdGNoIChpbnRyaW5z
aWMpIHsKIAogICAgIC8vIEludHJpbnNpYyBGdW5jdGlvbnM6CkBAIC0zMDc2LDggKzMxMDYsMTMg
QEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlQ29uc3RhbnRJbnRlcgogICAgIE5vZGUqIGNh
bGxUYXJnZXROb2RlLCBpbnQgcmVzdWx0T3BlcmFuZCwgSW50ZXJuYWxGdW5jdGlvbiogZnVuY3Rp
b24sIGludCByZWdpc3Rlck9mZnNldCwKICAgICBpbnQgYXJndW1lbnRDb3VudEluY2x1ZGluZ1Ro
aXMsIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCwgU3BlY3VsYXRlZFR5cGUgcHJlZGljdGlv
biwgY29uc3QgQ2hlY2tzRnVuY3RvciYgaW5zZXJ0Q2hlY2tzKQogewotICAgIGlmICh2ZXJib3Nl
KQorICAgIGlmIChPcHRpb25zOjp2ZXJib3NlREZHQnl0ZUNvZGVQYXJzaW5nKCkpCiAgICAgICAg
IGRhdGFMb2coIiAgICBIYW5kbGluZyBjb25zdGFudCBpbnRlcm5hbCBmdW5jdGlvbiAiLCBKU1Zh
bHVlKGZ1bmN0aW9uKSwgIlxuIik7CisgICAgCisgICAgLy8gSXQgc28gaGFwcGVucyB0aGF0IHRo
ZSBjb2RlIGJlbG93IGFzc3VtZXMgdGhhdCB0aGUgcmVzdWx0IG9wZXJhbmQgaXMgdmFsaWQuIEl0
J3MgZXh0cmVtZWx5CisgICAgLy8gdW5saWtlbHkgdGhhdCB0aGUgcmVzdWx0IG9wZXJhbmQgd291
bGQgYmUgaW52YWxpZCAtIHlvdSdkIGhhdmUgdG8gY2FsbCB0aGlzIHZpYSBhIHNldHRlciBjYWxs
LgorICAgIGlmICghVmlydHVhbFJlZ2lzdGVyKHJlc3VsdE9wZXJhbmQpLmlzVmFsaWQoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKGtpbmQgPT0gQ29kZUZvckNvbnN0cnVjdCkg
ewogICAgICAgICBOb2RlKiBuZXdUYXJnZXROb2RlID0gZ2V0KHZpcnR1YWxSZWdpc3RlckZvckFy
Z3VtZW50KDAsIHJlZ2lzdGVyT2Zmc2V0KSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRyaW5zaWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludHJpbnNpYy5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50cmluc2ljLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIw
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW50cmluc2ljLmgiCisKKyNpbmNsdWRlIDx3dGYv
UHJpbnRTdHJlYW0uaD4KKworbmFtZXNwYWNlIEpTQyB7CisKK2NvbnN0IGNoYXIqIGludHJpbnNp
Y05hbWUoSW50cmluc2ljIGludHJpbnNpYykKK3sKKyAgICBzd2l0Y2ggKGludHJpbnNpYykgewor
ICAgIGNhc2UgTm9JbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiTm9JbnRyaW5zaWMiOworICAg
IGNhc2UgQWJzSW50cmluc2ljOgorICAgICAgICByZXR1cm4gIkFic0ludHJpbnNpYyI7CisgICAg
Y2FzZSBBQ29zSW50cmluc2ljOgorICAgICAgICByZXR1cm4gIkFDb3NJbnRyaW5zaWMiOworICAg
IGNhc2UgQVNpbkludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJBU2luSW50cmluc2ljIjsKKyAg
ICBjYXNlIEFUYW5JbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiQVRhbkludHJpbnNpYyI7Cisg
ICAgY2FzZSBBQ29zaEludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJBQ29zaEludHJpbnNpYyI7
CisgICAgY2FzZSBBU2luaEludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJBU2luaEludHJpbnNp
YyI7CisgICAgY2FzZSBBVGFuaEludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJBVGFuaEludHJp
bnNpYyI7CisgICAgY2FzZSBNaW5JbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiTWluSW50cmlu
c2ljIjsKKyAgICBjYXNlIE1heEludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJNYXhJbnRyaW5z
aWMiOworICAgIGNhc2UgU3FydEludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJTcXJ0SW50cmlu
c2ljIjsKKyAgICBjYXNlIFNpbkludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJTaW5JbnRyaW5z
aWMiOworICAgIGNhc2UgQ2JydEludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJDYnJ0SW50cmlu
c2ljIjsKKyAgICBjYXNlIENsejMySW50cmluc2ljOgorICAgICAgICByZXR1cm4gIkNsejMySW50
cmluc2ljIjsKKyAgICBjYXNlIENvc0ludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJDb3NJbnRy
aW5zaWMiOworICAgIGNhc2UgVGFuSW50cmluc2ljOgorICAgICAgICByZXR1cm4gIlRhbkludHJp
bnNpYyI7CisgICAgY2FzZSBDb3NoSW50cmluc2ljOgorICAgICAgICByZXR1cm4gIkNvc2hJbnRy
aW5zaWMiOworICAgIGNhc2UgU2luaEludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJTaW5oSW50
cmluc2ljIjsKKyAgICBjYXNlIFRhbmhJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiVGFuaElu
dHJpbnNpYyI7CisgICAgY2FzZSBBcnJheVB1c2hJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAi
QXJyYXlQdXNoSW50cmluc2ljIjsKKyAgICBjYXNlIEFycmF5UG9wSW50cmluc2ljOgorICAgICAg
ICByZXR1cm4gIkFycmF5UG9wSW50cmluc2ljIjsKKyAgICBjYXNlIEFycmF5U2xpY2VJbnRyaW5z
aWM6CisgICAgICAgIHJldHVybiAiQXJyYXlTbGljZUludHJpbnNpYyI7CisgICAgY2FzZSBDaGFy
Q29kZUF0SW50cmluc2ljOgorICAgICAgICByZXR1cm4gIkNoYXJDb2RlQXRJbnRyaW5zaWMiOwor
ICAgIGNhc2UgQ2hhckF0SW50cmluc2ljOgorICAgICAgICByZXR1cm4gIkNoYXJBdEludHJpbnNp
YyI7CisgICAgY2FzZSBGcm9tQ2hhckNvZGVJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiRnJv
bUNoYXJDb2RlSW50cmluc2ljIjsKKyAgICBjYXNlIFBvd0ludHJpbnNpYzoKKyAgICAgICAgcmV0
dXJuICJQb3dJbnRyaW5zaWMiOworICAgIGNhc2UgRmxvb3JJbnRyaW5zaWM6CisgICAgICAgIHJl
dHVybiAiRmxvb3JJbnRyaW5zaWMiOworICAgIGNhc2UgQ2VpbEludHJpbnNpYzoKKyAgICAgICAg
cmV0dXJuICJDZWlsSW50cmluc2ljIjsKKyAgICBjYXNlIFJvdW5kSW50cmluc2ljOgorICAgICAg
ICByZXR1cm4gIlJvdW5kSW50cmluc2ljIjsKKyAgICBjYXNlIEV4cEludHJpbnNpYzoKKyAgICAg
ICAgcmV0dXJuICJFeHBJbnRyaW5zaWMiOworICAgIGNhc2UgRXhwbTFJbnRyaW5zaWM6CisgICAg
ICAgIHJldHVybiAiRXhwbTFJbnRyaW5zaWMiOworICAgIGNhc2UgTG9nSW50cmluc2ljOgorICAg
ICAgICByZXR1cm4gIkxvZ0ludHJpbnNpYyI7CisgICAgY2FzZSBMb2cxMEludHJpbnNpYzoKKyAg
ICAgICAgcmV0dXJuICJMb2cxMEludHJpbnNpYyI7CisgICAgY2FzZSBMb2cxcEludHJpbnNpYzoK
KyAgICAgICAgcmV0dXJuICJMb2cxcEludHJpbnNpYyI7CisgICAgY2FzZSBMb2cySW50cmluc2lj
OgorICAgICAgICByZXR1cm4gIkxvZzJJbnRyaW5zaWMiOworICAgIGNhc2UgUmVnRXhwRXhlY0lu
dHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJSZWdFeHBFeGVjSW50cmluc2ljIjsKKyAgICBjYXNl
IFJlZ0V4cFRlc3RJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiUmVnRXhwVGVzdEludHJpbnNp
YyI7CisgICAgY2FzZSBSZWdFeHBUZXN0RmFzdEludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJS
ZWdFeHBUZXN0RmFzdEludHJpbnNpYyI7CisgICAgY2FzZSBTdHJpbmdQcm90b3R5cGVWYWx1ZU9m
SW50cmluc2ljOgorICAgICAgICByZXR1cm4gIlN0cmluZ1Byb3RvdHlwZVZhbHVlT2ZJbnRyaW5z
aWMiOworICAgIGNhc2UgU3RyaW5nUHJvdG90eXBlUmVwbGFjZUludHJpbnNpYzoKKyAgICAgICAg
cmV0dXJuICJTdHJpbmdQcm90b3R5cGVSZXBsYWNlSW50cmluc2ljIjsKKyAgICBjYXNlIFN0cmlu
Z1Byb3RvdHlwZVJlcGxhY2VSZWdFeHBJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiU3RyaW5n
UHJvdG90eXBlUmVwbGFjZVJlZ0V4cEludHJpbnNpYyI7CisgICAgY2FzZSBTdHJpbmdQcm90b3R5
cGVUb0xvd2VyQ2FzZUludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJTdHJpbmdQcm90b3R5cGVU
b0xvd2VyQ2FzZUludHJpbnNpYyI7CisgICAgY2FzZSBOdW1iZXJQcm90b3R5cGVUb1N0cmluZ0lu
dHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJOdW1iZXJQcm90b3R5cGVUb1N0cmluZ0ludHJpbnNp
YyI7CisgICAgY2FzZSBJTXVsSW50cmluc2ljOgorICAgICAgICByZXR1cm4gIklNdWxJbnRyaW5z
aWMiOworICAgIGNhc2UgUmFuZG9tSW50cmluc2ljOgorICAgICAgICByZXR1cm4gIlJhbmRvbUlu
dHJpbnNpYyI7CisgICAgY2FzZSBGUm91bmRJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiRlJv
dW5kSW50cmluc2ljIjsKKyAgICBjYXNlIFRydW5jSW50cmluc2ljOgorICAgICAgICByZXR1cm4g
IlRydW5jSW50cmluc2ljIjsKKyAgICBjYXNlIElzVHlwZWRBcnJheVZpZXdJbnRyaW5zaWM6Cisg
ICAgICAgIHJldHVybiAiSXNUeXBlZEFycmF5Vmlld0ludHJpbnNpYyI7CisgICAgY2FzZSBCb3Vu
ZFRoaXNOb0FyZ3NGdW5jdGlvbkNhbGxJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiQm91bmRU
aGlzTm9BcmdzRnVuY3Rpb25DYWxsSW50cmluc2ljIjsKKyAgICBjYXNlIEpTTWFwR2V0SW50cmlu
c2ljOgorICAgICAgICByZXR1cm4gIkpTTWFwR2V0SW50cmluc2ljIjsKKyAgICBjYXNlIEpTTWFw
SGFzSW50cmluc2ljOgorICAgICAgICByZXR1cm4gIkpTTWFwSGFzSW50cmluc2ljIjsKKyAgICBj
YXNlIEpTU2V0SGFzSW50cmluc2ljOgorICAgICAgICByZXR1cm4gIkpTU2V0SGFzSW50cmluc2lj
IjsKKyAgICBjYXNlIEhhc093blByb3BlcnR5SW50cmluc2ljOgorICAgICAgICByZXR1cm4gIkhh
c093blByb3BlcnR5SW50cmluc2ljIjsKKyAgICBjYXNlIEF0b21pY3NBZGRJbnRyaW5zaWM6Cisg
ICAgICAgIHJldHVybiAiQXRvbWljc0FkZEludHJpbnNpYyI7CisgICAgY2FzZSBBdG9taWNzQW5k
SW50cmluc2ljOgorICAgICAgICByZXR1cm4gIkF0b21pY3NBbmRJbnRyaW5zaWMiOworICAgIGNh
c2UgQXRvbWljc0NvbXBhcmVFeGNoYW5nZUludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJBdG9t
aWNzQ29tcGFyZUV4Y2hhbmdlSW50cmluc2ljIjsKKyAgICBjYXNlIEF0b21pY3NFeGNoYW5nZUlu
dHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJBdG9taWNzRXhjaGFuZ2VJbnRyaW5zaWMiOworICAg
IGNhc2UgQXRvbWljc0lzTG9ja0ZyZWVJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiQXRvbWlj
c0lzTG9ja0ZyZWVJbnRyaW5zaWMiOworICAgIGNhc2UgQXRvbWljc0xvYWRJbnRyaW5zaWM6Cisg
ICAgICAgIHJldHVybiAiQXRvbWljc0xvYWRJbnRyaW5zaWMiOworICAgIGNhc2UgQXRvbWljc09y
SW50cmluc2ljOgorICAgICAgICByZXR1cm4gIkF0b21pY3NPckludHJpbnNpYyI7CisgICAgY2Fz
ZSBBdG9taWNzU3RvcmVJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiQXRvbWljc1N0b3JlSW50
cmluc2ljIjsKKyAgICBjYXNlIEF0b21pY3NTdWJJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAi
QXRvbWljc1N1YkludHJpbnNpYyI7CisgICAgY2FzZSBBdG9taWNzV2FpdEludHJpbnNpYzoKKyAg
ICAgICAgcmV0dXJuICJBdG9taWNzV2FpdEludHJpbnNpYyI7CisgICAgY2FzZSBBdG9taWNzV2Fr
ZUludHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJBdG9taWNzV2FrZUludHJpbnNpYyI7CisgICAg
Y2FzZSBBdG9taWNzWG9ySW50cmluc2ljOgorICAgICAgICByZXR1cm4gIkF0b21pY3NYb3JJbnRy
aW5zaWMiOworICAgIGNhc2UgUGFyc2VJbnRJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiUGFy
c2VJbnRJbnRyaW5zaWMiOworICAgIGNhc2UgVHlwZWRBcnJheUxlbmd0aEludHJpbnNpYzoKKyAg
ICAgICAgcmV0dXJuICJUeXBlZEFycmF5TGVuZ3RoSW50cmluc2ljIjsKKyAgICBjYXNlIFR5cGVk
QXJyYXlCeXRlTGVuZ3RoSW50cmluc2ljOgorICAgICAgICByZXR1cm4gIlR5cGVkQXJyYXlCeXRl
TGVuZ3RoSW50cmluc2ljIjsKKyAgICBjYXNlIFR5cGVkQXJyYXlCeXRlT2Zmc2V0SW50cmluc2lj
OgorICAgICAgICByZXR1cm4gIlR5cGVkQXJyYXlCeXRlT2Zmc2V0SW50cmluc2ljIjsKKyAgICBj
YXNlIERGR1RydWVJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiREZHVHJ1ZUludHJpbnNpYyI7
CisgICAgY2FzZSBPU1JFeGl0SW50cmluc2ljOgorICAgICAgICByZXR1cm4gIk9TUkV4aXRJbnRy
aW5zaWMiOworICAgIGNhc2UgSXNGaW5hbFRpZXJJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAi
SXNGaW5hbFRpZXJJbnRyaW5zaWMiOworICAgIGNhc2UgU2V0SW50MzJIZWFwUHJlZGljdGlvbklu
dHJpbnNpYzoKKyAgICAgICAgcmV0dXJuICJTZXRJbnQzMkhlYXBQcmVkaWN0aW9uSW50cmluc2lj
IjsKKyAgICBjYXNlIENoZWNrSW50MzJJbnRyaW5zaWM6CisgICAgICAgIHJldHVybiAiQ2hlY2tJ
bnQzMkludHJpbnNpYyI7CisgICAgY2FzZSBGaWF0SW50NTJJbnRyaW5zaWM6CisgICAgICAgIHJl
dHVybiAiRmlhdEludDUySW50cmluc2ljIjsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworfSAvLyBuYW1lc3BhY2UgSlND
CisKK25hbWVzcGFjZSBXVEYgeworCit2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91
dCwgSlNDOjpJbnRyaW5zaWMgaW50cmluc2ljKQoreworICAgIG91dC5wcmludChKU0M6OmludHJp
bnNpY05hbWUoaW50cmluc2ljKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdURgorCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRyaW5zaWMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRyaW5zaWMuaAkocmV2aXNpb24gMjE3MDQ2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50cmluc2ljLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDE2IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMS0yMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMTExLDQgKzExMSwxNiBAQCBlbnVtIEludHJpbnNpYyB7CiAgICAgRmlhdElu
dDUySW50cmluc2ljLAogfTsKIAorY29uc3QgY2hhciogaW50cmluc2ljTmFtZShJbnRyaW5zaWMp
OworCiB9IC8vIG5hbWVzcGFjZSBKU0MKKworbmFtZXNwYWNlIFdURiB7CisKK2NsYXNzIFByaW50
U3RyZWFtOworCit2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBKU0M6OkludHJpbnNp
Yyk7CisKK30gLy8gbmFtZXNwYWNlIFdURgorCisK
</data>
<flag name="review"
          id="331580"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>