<?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>131834</bug_id>
          
          <creation_ts>2014-04-17 18:06:14 -0700</creation_ts>
          <short_desc>Make the CSS JIT Compiler for ARM64</short_desc>
          <delta_ts>2014-04-19 18:22:43 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>barraclough</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1001788</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-04-17 18:06:14 -0700</bug_when>
    <thetext>Make the CSS JIT Compiler for ARM64</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001794</commentid>
    <comment_count>1</comment_count>
      <attachid>229606</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-04-17 18:14:38 -0700</bug_when>
    <thetext>Created attachment 229606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002062</commentid>
    <comment_count>2</comment_count>
      <attachid>229606</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-04-18 16:14:21 -0700</bug_when>
    <thetext>Comment on attachment 229606
Patch

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

r=me

&gt; Source/WebCore/ChangeLog:15
&gt; +        What am I supposed to do with all those registers? There are so many of them :)

lol

&gt; Source/WebCore/cssjit/SelectorCompiler.cpp:999
&gt; +        m_assembler.test32(condition, remainder);

:-o</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002315</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-04-19 18:22:43 -0700</bug_when>
    <thetext>Committed r167557: &lt;http://trac.webkit.org/changeset/167557&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229606</attachid>
            <date>2014-04-17 18:14:38 -0700</date>
            <delta_ts>2014-04-18 16:14:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131834-20140417181416.patch</filename>
            <type>text/plain</type>
            <size>17382</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3NDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
MDE2YTE5YzFmMThkYjc2YTQ0MjVkYWU4ZTAyNGExZmUxYmY3MGFlLi42Njc2OGE1ZDMzMzMzZmMy
Zjk2YjA1MWRhZDRhMTIyMmNlNWY1NTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNC0wNC0xNyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBNYWtlIHRoZSBDU1MgSklUIENvbXBpbGVyIGZvciBBUk02NAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxODM0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5kIHRoZSBB
Uk02NCBNYWNyb0Fzc2VtYmxlciB0byBzdXBwb3J0IHRoZSBjb2RlIGdlbmVyYXRpb24gcmVxdWly
ZWQgYnkKKyAgICAgICAgdGhlIENTUyBKSVQuCisKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXIuaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oOgor
ICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0OjphZGRQdHJOb0ZsYWdzKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6b3IzMik6CisgICAgICAgIChKU0M6Ok1hY3Jv
QXNzZW1ibGVyQVJNNjQ6OmJyYW5jaFB0cik6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVy
QVJNNjQ6OnRlc3QzMik6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNNjQ6OmJyYW5j
aCk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmg6CisgICAg
ICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjp0ZXN0MzIpOgorCiAyMDE0LTA0LTE2
ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIFVu
cmV2aWV3ZWQgV2luZG93cyBnYXJkZW5pbmcuIFJlc3RyaWN0IG91ciBuZXcgJ2lzaW5mJyBjaGVj
awpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGFhNTdmOWY3YjVjZDRhZTZjZDliNDllYmJkY2NiOGE1YWY5MDNlOGYu
LmZlM2U0YzFkYWVhYWFlMmI2Mjk3NWQwYzE1YWFiZGZjODE4ZDhmYWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzOCBAQAorMjAxNC0wNC0xNyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFw
cGxlLmNvbT4KKworICAgICAgICBNYWtlIHRoZSBDU1MgSklUIENvbXBpbGVyIGZvciBBUk02NAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxODM0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRoZSBD
UFUgc3BlY2lmaWMgY29kZSByZXF1aXJlZCB0byBjb21waWxlIFNlbGVjdG9yQ29tcGlsZXIgb24g
QVJNNjQuCisgICAgICAgIFRoZSBjb2RlIGlzIGFic29sdXRlbHkgbm9uLWZ1bmN0aW9uYWwsIGl0
IHdvdWxkIGNyYXNoIGltbWVkaWF0ZWx5LCBidXQgaXQgY29tcGlsZXMuCisKKyAgICAgICAgKiBj
c3NqaXQvRnVuY3Rpb25DYWxsLmg6CisgICAgICAgIChXZWJDb3JlOjpGdW5jdGlvbkNhbGw6OkZ1
bmN0aW9uQ2FsbCk6CisgICAgICAgIChXZWJDb3JlOjpGdW5jdGlvbkNhbGw6OmNhbGxBbmRCcmFu
Y2hPbkNvbmRpdGlvbik6CisgICAgICAgICogY3Nzaml0L1JlZ2lzdGVyQWxsb2NhdG9yLmg6Cisg
ICAgICAgIFdoYXQgYW0gSSBzdXBwb3NlZCB0byBkbyB3aXRoIGFsbCB0aG9zZSByZWdpc3RlcnM/
IFRoZXJlIGFyZSBzbyBtYW55IG9mIHRoZW0gOikKKyAgICAgICAgVGhlIGFycmF5IGNhbGxlZVNh
dmVkUmVnaXN0ZXJzIGlzIGRlZmluZWQgZm9yIGNvbXBhdGliaWxpdHkgYnV0IGl0IGNhbm5vdCBi
ZSByZWFjaGVkIGF0IHRoZSBtb21lbnQuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdGVyQWxs
b2NhdG9yOjppc1ZhbGlkUmVnaXN0ZXIpOgorICAgICAgICAqIGNzc2ppdC9TZWxlY3RvckNvbXBp
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNlbGVjdG9yQ29k
ZUdlbmVyYXRvcjo6bW9kdWxvKToKKyAgICAgICAgSW1wbGVtZW50IG1vZHVsbyBieSBkb2luZyBk
aXZpZGVuZCAtIChkaXZpc29yICogaW50KGRpdmlkZW5kL2Rpdmlzb3IpKS4KKworICAgICAgICAq
IGNzc2ppdC9TdGFja0FsbG9jYXRvci5oOgorICAgICAgICBTdGFja0FsbG9jYXRvciB3aWxsIG5l
ZWQgYSBzbWFsbCByZWRlc2lnbiB0byBoYW5kbGUgdGhlIDE2IGJ5dGVzIGFsbGlnbmVkIHN0YWNr
IG9mCisgICAgICAgIEFSTTY0LgorICAgICAgICBUaGUgY29kZSBoYXMgYmVlbiBtb2RpZmllZCB0
byBidWlsZCBidXQgaXQgaXMgcHJldHR5IHVzZWxlc3MuCisKKyAgICAgICAgKFdlYkNvcmU6OlN0
YWNrQWxsb2NhdG9yOjphbGxvY2F0ZVVuaW5pdGlhbGl6ZWQpOgorICAgICAgICAoV2ViQ29yZTo6
U3RhY2tBbGxvY2F0b3I6OnB1c2gpOgorICAgICAgICAoV2ViQ29yZTo6U3RhY2tBbGxvY2F0b3I6
OnBvcCk6CisgICAgICAgIChXZWJDb3JlOjpTdGFja0FsbG9jYXRvcjo6cG9wQW5kRGlzY2FyZCk6
CisgICAgICAgIChXZWJDb3JlOjpTdGFja0FsbG9jYXRvcjo6cG9wQW5kRGlzY2FyZFVwVG8pOgor
ICAgICAgICAoV2ViQ29yZTo6U3RhY2tBbGxvY2F0b3I6OmFsaWduU3RhY2tQcmVGdW5jdGlvbkNh
bGwpOgorICAgICAgICAoV2ViQ29yZTo6U3RhY2tBbGxvY2F0b3I6OnVuYWxpZ25TdGFja1Bvc3RG
dW5jdGlvbkNhbGwpOgorCiAyMDE0LTA0LTE2ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5A
YXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVpbGQgYWZ0ZXIgcjE2NzQxMgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oCmluZGV4IGEx
YTYxMGU3ZmMzMGFmOGU1MDM5Nzc1YTBjNjY0YmZjMmMzNjhhNTkuLjhkZTdkYmUwYWJlZDc5ZGJj
YmI3ZDI3NWNhMGIwZjJlZWJiY2RkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgKQEAgLTExNyw3ICsxMTcsNyBAQCBwdWJsaWM6CiAg
ICAgdXNpbmcgTWFjcm9Bc3NlbWJsZXJCYXNlOjphbmQzMjsKICAgICB1c2luZyBNYWNyb0Fzc2Vt
YmxlckJhc2U6OmJyYW5jaEFkZDMyOwogICAgIHVzaW5nIE1hY3JvQXNzZW1ibGVyQmFzZTo6YnJh
bmNoTXVsMzI7Ci0jaWYgQ1BVKFg4Nl82NCkKKyNpZiBDUFUoQVJNNjQpIHx8IENQVShYODZfNjQp
CiAgICAgdXNpbmcgTWFjcm9Bc3NlbWJsZXJCYXNlOjpicmFuY2hQdHI7CiAjZW5kaWYgLy8gQ1BV
KFg4Nl82NCkKICAgICB1c2luZyBNYWNyb0Fzc2VtYmxlckJhc2U6OmJyYW5jaFN1YjMyOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFS
TTY0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJN
NjQuaAppbmRleCBlNjZmNGM0MjViNTNmMjkwNGM0M2YwYTNmNjMzNmI3MWEwNDA1ODQ5Li4wNjg5
YmM2ZGNhODc1MGQ3NTA0YjgwOWJmYWMwMGFmNDhjOWZlMDA3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaApAQCAtMjg5
LDYgKzI4OSwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHN0b3JlNjQoZGF0YVRlbXBSZWdpc3Rlciwg
YWRkcmVzcy5tX3B0cik7CiAgICAgfQogCisgICAgdm9pZCBhZGRQdHJOb0ZsYWdzKFRydXN0ZWRJ
bW0zMiBpbW0sIFJlZ2lzdGVySUQgc3JjRGVzdCkKKyAgICB7CisgICAgICAgIGFkZDY0KGltbSwg
c3JjRGVzdCk7CisgICAgfQorCiAgICAgdm9pZCBhZGQ2NChBZGRyZXNzIHNyYywgUmVnaXN0ZXJJ
RCBkZXN0KQogICAgIHsKICAgICAgICAgbG9hZDY0KHNyYywgZ2V0Q2FjaGVkRGF0YVRlbXBSZWdp
c3RlcklEQW5kSW52YWxpZGF0ZSgpKTsKQEAgLTQ3Miw2ICs0NzcsMTMgQEAgcHVibGljOgogICAg
ICAgICBzdG9yZTMyKGRhdGFUZW1wUmVnaXN0ZXIsIGFkZHJlc3MubV9wdHIpOwogICAgIH0KIAor
ICAgIHZvaWQgb3IzMihUcnVzdGVkSW1tMzIgaW1tLCBBZGRyZXNzIGFkZHJlc3MpCisgICAgewor
ICAgICAgICBsb2FkMzIoYWRkcmVzcywgZ2V0Q2FjaGVkRGF0YVRlbXBSZWdpc3RlcklEQW5kSW52
YWxpZGF0ZSgpKTsKKyAgICAgICAgb3IzMihpbW0sIGRhdGFUZW1wUmVnaXN0ZXIsIGRhdGFUZW1w
UmVnaXN0ZXIpOworICAgICAgICBzdG9yZTMyKGRhdGFUZW1wUmVnaXN0ZXIsIGFkZHJlc3MpOwor
ICAgIH0KKwogICAgIHZvaWQgb3I2NChSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQog
ICAgIHsKICAgICAgICAgb3I2NChkZXN0LCBzcmMsIGRlc3QpOwpAQCAtMTY1MSw2ICsxNjYzLDEy
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGJyYW5jaDY0KGNvbmQsIG1lbW9yeVRlbXBSZWdp
c3RlciwgcmlnaHQpOwogICAgIH0KIAorICAgIEp1bXAgYnJhbmNoUHRyKFJlbGF0aW9uYWxDb25k
aXRpb24gY29uZCwgQmFzZUluZGV4IGxlZnQsIFJlZ2lzdGVySUQgcmlnaHQpCisgICAgeworICAg
ICAgICBsb2FkNjQobGVmdCwgZ2V0Q2FjaGVkTWVtb3J5VGVtcFJlZ2lzdGVySURBbmRJbnZhbGlk
YXRlKCkpOworICAgICAgICByZXR1cm4gYnJhbmNoNjQoY29uZCwgbWVtb3J5VGVtcFJlZ2lzdGVy
LCByaWdodCk7CisgICAgfQorCiAgICAgSnVtcCBicmFuY2g4KFJlbGF0aW9uYWxDb25kaXRpb24g
Y29uZCwgQWRkcmVzcyBsZWZ0LCBUcnVzdGVkSW1tMzIgcmlnaHQpCiAgICAgewogICAgICAgICBB
U1NFUlQoISgweGZmZmZmZjAwICYgcmlnaHQubV92YWx1ZSkpOwpAQCAtMTY3OCw2ICsxNjk2LDMy
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEp1bXAobWFrZUJyYW5jaChjb25kKSk7CiAgICAg
fQogCisgICAgdm9pZCB0ZXN0MzIoUmVzdWx0Q29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgcmVn
LCBUcnVzdGVkSW1tMzIgbWFzayA9IFRydXN0ZWRJbW0zMigtMSkpCisgICAgeworICAgICAgICBp
ZiAobWFzay5tX3ZhbHVlID09IC0xKQorICAgICAgICAgICAgbV9hc3NlbWJsZXIudHN0PDMyPihy
ZWcsIHJlZyk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgYm9vbCB0ZXN0ZWRXaXRoSW1t
ZWRpYXRlID0gZmFsc2U7CisgICAgICAgICAgICBpZiAoKGNvbmQgPT0gWmVybykgfHwgKGNvbmQg
PT0gTm9uWmVybykpIHsKKyAgICAgICAgICAgICAgICBMb2dpY2FsSW1tZWRpYXRlIGxvZ2ljYWxJ
bW0gPSBMb2dpY2FsSW1tZWRpYXRlOjpjcmVhdGUzMihtYXNrLm1fdmFsdWUpOworCisgICAgICAg
ICAgICAgICAgaWYgKGxvZ2ljYWxJbW0uaXNWYWxpZCgpKSB7CisgICAgICAgICAgICAgICAgICAg
IG1fYXNzZW1ibGVyLnRzdDwzMj4ocmVnLCBsb2dpY2FsSW1tKTsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdGVkV2l0aEltbWVkaWF0ZSA9IHRydWU7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfQorICAgICAgICAgICAgaWYgKCF0ZXN0ZWRXaXRoSW1tZWRpYXRlKSB7CisgICAgICAg
ICAgICAgICAgbW92ZShtYXNrLCBnZXRDYWNoZWREYXRhVGVtcFJlZ2lzdGVySURBbmRJbnZhbGlk
YXRlKCkpOworICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnRzdDwzMj4ocmVnLCBkYXRhVGVt
cFJlZ2lzdGVyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIEp1bXAg
YnJhbmNoKFJlc3VsdENvbmRpdGlvbiBjb25kKQorICAgIHsKKyAgICAgICAgcmV0dXJuIEp1bXAo
bWFrZUJyYW5jaChjb25kKSk7CisgICAgfQorCiAgICAgSnVtcCBicmFuY2hUZXN0MzIoUmVzdWx0
Q29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgcmVnLCBUcnVzdGVkSW1tMzIgbWFzayA9IFRydXN0
ZWRJbW0zMigtMSkpCiAgICAgewogICAgICAgICBpZiAobWFzay5tX3ZhbHVlID09IC0xKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVy
WDg2Q29tbW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uLmgKaW5kZXggMzc4ZmY1MDI0NzQ5YjUxODI3MGMzOTE3MTI5MTJlMzg5MTg4
MGNlOS4uMTNiYTdmNWViOWZkMWVlMDU0NWU0MDBmYWQyZjNlNzE5OTQ0MzRiMCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJY
ODZDb21tb24uaApAQCAtMTE0NSw3ICsxMTQ1LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4g
SnVtcChtX2Fzc2VtYmxlci5qQ0MoeDg2Q29uZGl0aW9uKGNvbmQpKSk7CiAgICAgfQogCi0gICAg
dm9pZCB0ZXN0MzIoUmVnaXN0ZXJJRCByZWcsIFRydXN0ZWRJbW0zMiBtYXNrID0gVHJ1c3RlZElt
bTMyKC0xKSkKKyAgICB2b2lkIHRlc3QzMihSZXN1bHRDb25kaXRpb24sIFJlZ2lzdGVySUQgcmVn
LCBUcnVzdGVkSW1tMzIgbWFzayA9IFRydXN0ZWRJbW0zMigtMSkpCiAgICAgewogICAgICAgICBp
ZiAobWFzay5tX3ZhbHVlID09IC0xKQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudGVzdGxfcnIo
cmVnLCByZWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nzaml0L0Z1bmN0aW9uQ2Fs
bC5oIGIvU291cmNlL1dlYkNvcmUvY3Nzaml0L0Z1bmN0aW9uQ2FsbC5oCmluZGV4IGIwYzE1ZDM5
OTI5ODNlYjU4MTE0OTY5Mzk5MDA3M2EzNWY1M2I3NmEuLmI3Y2Y0MjRhMWZhOWY0YzkzN2FjZjRl
YjJjZDdkNGEwMDAzMWRmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9GdW5j
dGlvbkNhbGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvRnVuY3Rpb25DYWxsLmgKQEAg
LTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGdW5jdGlvbkNhbGwg
ewogcHVibGljOgotICAgIEZ1bmN0aW9uQ2FsbChKU0M6Ok1hY3JvQXNzZW1ibGVyJiBhc3NlbWJs
ZXIsIGNvbnN0IFJlZ2lzdGVyQWxsb2NhdG9yJiByZWdpc3RlckFsbG9jYXRvciwgU3RhY2tBbGxv
Y2F0b3ImIHN0YWNrQWxsb2NhdG9yLCBWZWN0b3I8c3RkOjpwYWlyPEpTQzo6TWFjcm9Bc3NlbWJs
ZXI6OkNhbGwsIEpTQzo6RnVuY3Rpb25QdHI+PiYgY2FsbFJlZ2lzdHJ5KQorICAgIEZ1bmN0aW9u
Q2FsbChKU0M6Ok1hY3JvQXNzZW1ibGVyJiBhc3NlbWJsZXIsIFJlZ2lzdGVyQWxsb2NhdG9yJiBy
ZWdpc3RlckFsbG9jYXRvciwgU3RhY2tBbGxvY2F0b3ImIHN0YWNrQWxsb2NhdG9yLCBWZWN0b3I8
c3RkOjpwYWlyPEpTQzo6TWFjcm9Bc3NlbWJsZXI6OkNhbGwsIEpTQzo6RnVuY3Rpb25QdHI+PiYg
Y2FsbFJlZ2lzdHJ5KQogICAgICAgICA6IG1fYXNzZW1ibGVyKGFzc2VtYmxlcikKICAgICAgICAg
LCBtX3JlZ2lzdGVyQWxsb2NhdG9yKHJlZ2lzdGVyQWxsb2NhdG9yKQogICAgICAgICAsIG1fc3Rh
Y2tBbGxvY2F0b3Ioc3RhY2tBbGxvY2F0b3IpCkBAIC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKICAg
ICBKU0M6Ok1hY3JvQXNzZW1ibGVyOjpKdW1wIGNhbGxBbmRCcmFuY2hPbkNvbmRpdGlvbihKU0M6
Ok1hY3JvQXNzZW1ibGVyOjpSZXN1bHRDb25kaXRpb24gY29uZGl0aW9uKQogICAgIHsKICAgICAg
ICAgcHJlcGFyZUFuZENhbGwoKTsKLSAgICAgICAgbV9hc3NlbWJsZXIudGVzdDMyKEpTQzo6R1BS
SW5mbzo6cmV0dXJuVmFsdWVHUFIsIEpTQzo6TWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMigw
eGZmKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLnRlc3QzMihjb25kaXRpb24sIEpTQzo6R1BSSW5m
bzo6cmV0dXJuVmFsdWVHUFIsIEpTQzo6TWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMigweGZm
KSk7CiAgICAgICAgIGNsZWFudXBQb3N0Q2FsbCgpOwogICAgICAgICByZXR1cm4gbV9hc3NlbWJs
ZXIuYnJhbmNoKGNvbmRpdGlvbik7CiAgICAgfQpAQCAtMTgzLDcgKzE4Myw3IEBAIHByaXZhdGU6
CiAgICAgfQogCiAgICAgSlNDOjpNYWNyb0Fzc2VtYmxlciYgbV9hc3NlbWJsZXI7Ci0gICAgY29u
c3QgUmVnaXN0ZXJBbGxvY2F0b3ImIG1fcmVnaXN0ZXJBbGxvY2F0b3I7CisgICAgUmVnaXN0ZXJB
bGxvY2F0b3ImIG1fcmVnaXN0ZXJBbGxvY2F0b3I7CiAgICAgU3RhY2tBbGxvY2F0b3ImIG1fc3Rh
Y2tBbGxvY2F0b3I7CiAgICAgVmVjdG9yPHN0ZDo6cGFpcjxKU0M6Ok1hY3JvQXNzZW1ibGVyOjpD
YWxsLCBKU0M6OkZ1bmN0aW9uUHRyPj4mIG1fY2FsbFJlZ2lzdHJ5OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3NqaXQvUmVnaXN0ZXJBbGxvY2F0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzc2ppdC9SZWdpc3RlckFsbG9jYXRvci5oCmluZGV4IDJmMDBkM2U1NGQyZGVjMjEyM2EyODI5
ZmVhNGU5ZTFhNjFjZDFmYzAuLjBlY2ZiOTFmZDY1OTc1ODE2YmU0Yjk3MjVjZDRmM2IzMDMyN2Uw
NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9SZWdpc3RlckFsbG9jYXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9SZWdpc3RlckFsbG9jYXRvci5oCkBAIC0zNSw3
ICszNSwyOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBDUFUoWDg2XzY0KQorI2lm
IENQVShBUk02NCkKK3N0YXRpYyBjb25zdCBKU0M6Ok1hY3JvQXNzZW1ibGVyOjpSZWdpc3RlcklE
IGNhbGxlclNhdmVkUmVnaXN0ZXJzW10gPSB7CisgICAgSlNDOjpBUk02NFJlZ2lzdGVyczo6eDAs
CisgICAgSlNDOjpBUk02NFJlZ2lzdGVyczo6eDEsCisgICAgSlNDOjpBUk02NFJlZ2lzdGVyczo6
eDIsCisgICAgSlNDOjpBUk02NFJlZ2lzdGVyczo6eDMsCisgICAgSlNDOjpBUk02NFJlZ2lzdGVy
czo6eDQsCisgICAgSlNDOjpBUk02NFJlZ2lzdGVyczo6eDUsCisgICAgSlNDOjpBUk02NFJlZ2lz
dGVyczo6eDYsCisgICAgSlNDOjpBUk02NFJlZ2lzdGVyczo6eDcsCisgICAgSlNDOjpBUk02NFJl
Z2lzdGVyczo6eDgsCisgICAgSlNDOjpBUk02NFJlZ2lzdGVyczo6eDksCisgICAgSlNDOjpBUk02
NFJlZ2lzdGVyczo6eDEwLAorICAgIEpTQzo6QVJNNjRSZWdpc3RlcnM6OngxMSwKKyAgICBKU0M6
OkFSTTY0UmVnaXN0ZXJzOjp4MTIsCisgICAgSlNDOjpBUk02NFJlZ2lzdGVyczo6eDEzLAorICAg
IEpTQzo6QVJNNjRSZWdpc3RlcnM6OngxNCwKKyAgICBKU0M6OkFSTTY0UmVnaXN0ZXJzOjp4MTUs
Cit9Oworc3RhdGljIGNvbnN0IEpTQzo6TWFjcm9Bc3NlbWJsZXI6OlJlZ2lzdGVySUQgY2FsbGVl
U2F2ZWRSZWdpc3RlcnNbXSA9IHsKKyAgICBKU0M6OkFSTTY0UmVnaXN0ZXJzOjp4MTkKK307Cisj
ZWxpZiBDUFUoWDg2XzY0KQogc3RhdGljIGNvbnN0IEpTQzo6TWFjcm9Bc3NlbWJsZXI6OlJlZ2lz
dGVySUQgY2FsbGVyU2F2ZWRSZWdpc3RlcnNbXSA9IHsKICAgICBKU0M6Olg4NlJlZ2lzdGVyczo6
ZWF4LAogICAgIEpTQzo6WDg2UmVnaXN0ZXJzOjplY3gsCkBAIC01MywxMCArNzUsMTAgQEAgc3Rh
dGljIGNvbnN0IEpTQzo6TWFjcm9Bc3NlbWJsZXI6OlJlZ2lzdGVySUQgY2FsbGVlU2F2ZWRSZWdp
c3RlcnNbXSA9IHsKICAgICBKU0M6Olg4NlJlZ2lzdGVyczo6cjE0LAogICAgIEpTQzo6WDg2UmVn
aXN0ZXJzOjpyMTUKIH07Ci1zdGF0aWMgY29uc3QgdW5zaWduZWQgcmVnaXN0ZXJDb3VudCA9IFdU
Rl9BUlJBWV9MRU5HVEgoY2FsbGVyU2F2ZWRSZWdpc3RlcnMpICsgV1RGX0FSUkFZX0xFTkdUSChj
YWxsZWVTYXZlZFJlZ2lzdGVycyk7CiAjZWxzZQogI2Vycm9yIFJlZ2lzdGVyQWxsb2NhdG9yIGhh
cyBubyBkZWZpbmVkIHJlZ2lzdGVycyBmb3IgdGhlIGFyY2hpdGVjdHVyZS4KICNlbmRpZgorc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIHJlZ2lzdGVyQ291bnQgPSBXVEZfQVJSQVlfTEVOR1RIKGNhbGxl
clNhdmVkUmVnaXN0ZXJzKSArIFdURl9BUlJBWV9MRU5HVEgoY2FsbGVlU2F2ZWRSZWdpc3RlcnMp
OwogCiBjbGFzcyBSZWdpc3RlckFsbG9jYXRvciB7CiBwdWJsaWM6CkBAIC0xMTYsNyArMTM4LDkg
QEAgcHVibGljOgogCiAgICAgc3RhdGljIGJvb2wgaXNWYWxpZFJlZ2lzdGVyKEpTQzo6TWFjcm9B
c3NlbWJsZXI6OlJlZ2lzdGVySUQgcmVnaXN0ZXJJRCkKICAgICB7Ci0jaWYgQ1BVKFg4Nl82NCkK
KyNpZiBDUFUoQVJNNjQpCisgICAgICAgIHJldHVybiByZWdpc3RlcklEID49IEpTQzo6QVJNNjRS
ZWdpc3RlcnM6OngwICYmIHJlZ2lzdGVySUQgPD0gSlNDOjpBUk02NFJlZ2lzdGVyczo6eDE1Owor
I2VsaWYgQ1BVKFg4Nl82NCkKICAgICAgICAgcmV0dXJuIHJlZ2lzdGVySUQgPj0gSlNDOjpYODZS
ZWdpc3RlcnM6OmVheCAmJiByZWdpc3RlcklEIDw9IEpTQzo6WDg2UmVnaXN0ZXJzOjpyMTU7CiAj
ZWxzZQogI2Vycm9yIFJlZ2lzdGVyQWxsb2NhdG9yIGRvZXMgbm90IGRlZmluZSB0aGUgdmFsaWQg
cmVnaXN0ZXIgcmFuZ2UgZm9yIHRoZSBjdXJyZW50IGFyY2hpdGVjdHVyZS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAppbmRleCBkYWNhOTZlMGYxOTA1OTAzODM0
ZDllODFlMDY4Mjg5MjY0YTI0NGY0Li5iZDg3NzdmNGI5M2QzOWEwZGY3YzIyNzJlNmU3MzMyZTBl
Y2NlODliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCkBA
IC0xNDQsMTEgKzE0NCw5IEBAIHB1YmxpYzoKICAgICBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVz
IGNvbXBpbGUoSlNDOjpWTSosIEpTQzo6TWFjcm9Bc3NlbWJsZXJDb2RlUmVmJik7CiAKIHByaXZh
dGU6Ci0jaWYgQ1BVKFg4Nl82NCkKLSAgICBzdGF0aWMgY29uc3QgQXNzZW1ibGVyOjpSZWdpc3Rl
cklEIHJldHVyblJlZ2lzdGVyID0gSlNDOjpYODZSZWdpc3RlcnM6OmVheDsKLSAgICBzdGF0aWMg
Y29uc3QgQXNzZW1ibGVyOjpSZWdpc3RlcklEIGVsZW1lbnRBZGRyZXNzUmVnaXN0ZXIgPSBKU0M6
Olg4NlJlZ2lzdGVyczo6ZWRpOwotICAgIHN0YXRpYyBjb25zdCBBc3NlbWJsZXI6OlJlZ2lzdGVy
SUQgY2hlY2tpbmdDb250ZXh0UmVnaXN0ZXIgPSBKU0M6Olg4NlJlZ2lzdGVyczo6ZXNpOwotI2Vu
ZGlmCisgICAgc3RhdGljIGNvbnN0IEFzc2VtYmxlcjo6UmVnaXN0ZXJJRCByZXR1cm5SZWdpc3Rl
ciA9IEpTQzo6R1BSSW5mbzo6cmV0dXJuVmFsdWVHUFI7CisgICAgc3RhdGljIGNvbnN0IEFzc2Vt
Ymxlcjo6UmVnaXN0ZXJJRCBlbGVtZW50QWRkcmVzc1JlZ2lzdGVyID0gSlNDOjpHUFJJbmZvOjph
cmd1bWVudEdQUjA7CisgICAgc3RhdGljIGNvbnN0IEFzc2VtYmxlcjo6UmVnaXN0ZXJJRCBjaGVj
a2luZ0NvbnRleHRSZWdpc3RlciA9IEpTQzo6R1BSSW5mbzo6YXJndW1lbnRHUFIxOwogCiAgICAg
dm9pZCBjb21wdXRlQmFja3RyYWNraW5nSW5mb3JtYXRpb24oKTsKICAgICB2b2lkIGdlbmVyYXRl
U2VsZWN0b3JDaGVja2VyKCk7CkBAIC05MjgsNyArOTI2LDE1IEBAIEFzc2VtYmxlcjo6SnVtcCBT
ZWxlY3RvckNvZGVHZW5lcmF0b3I6Omp1bXBJZk5vdFJlc29sdmluZ1N0eWxlKEFzc2VtYmxlcjo6
UmVnaXN0CiBBc3NlbWJsZXI6Okp1bXAgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjptb2R1bG8oQXNz
ZW1ibGVyOjpSZXN1bHRDb25kaXRpb24gY29uZGl0aW9uLCBBc3NlbWJsZXI6OlJlZ2lzdGVySUQg
aW5wdXREaXZpZGVuZCwgaW50IGRpdmlzb3IpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoZGl2aXNv
cik7Ci0jaWYgQ1BVKFg4Nl82NCkKKyNpZiBDUFUoQVJNNjQpCisgICAgTG9jYWxSZWdpc3RlciBk
aXZpc29yUmVnaXN0ZXIobV9yZWdpc3RlckFsbG9jYXRvcik7CisgICAgbV9hc3NlbWJsZXIubW92
ZShBc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihkaXZpc29yKSwgZGl2aXNvclJlZ2lzdGVyKTsKKwor
ICAgIExvY2FsUmVnaXN0ZXIgcmVzdWx0UmVnaXN0ZXIobV9yZWdpc3RlckFsbG9jYXRvcik7Cisg
ICAgbV9hc3NlbWJsZXIubV9hc3NlbWJsZXIuc2RpdjwzMj4ocmVzdWx0UmVnaXN0ZXIsIGlucHV0
RGl2aWRlbmQsIGRpdmlzb3JSZWdpc3Rlcik7CisgICAgbV9hc3NlbWJsZXIubXVsMzIoZGl2aXNv
clJlZ2lzdGVyLCByZXN1bHRSZWdpc3Rlcik7CisgICAgcmV0dXJuIG1fYXNzZW1ibGVyLmJyYW5j
aFN1YjMyKGNvbmRpdGlvbiwgaW5wdXREaXZpZGVuZCwgcmVzdWx0UmVnaXN0ZXIsIHJlc3VsdFJl
Z2lzdGVyKTsKKyNlbGlmIENQVShYODZfNjQpCiAgICAgLy8gaWRpdiB0YWtlcyBSQVggKyBhbiBh
cmJpdHJhcnkgcmVnaXN0ZXIsIGFuZCByZXR1cm4gUkFYICsgUkRYLiBNb3N0IG9mIHRoaXMgY29k
ZSBpcyBhYm91dCBkb2luZwogICAgIC8vIGFuIGVmZmljaWVudCBhbGxvY2F0aW9uIG9mIHRob3Nl
IHJlZ2lzdGVycy4gSWYgYSByZWdpc3RlciBpcyBhbHJlYWR5IGluIHVzZSBhbmQgaXMgbm90IHRo
ZSBpbnB1dERpdmlkZW5kLAogICAgIC8vIHdlIGZpcnN0IHRyeSB0byBjb3B5IGl0IHRvIGEgdGVt
cG9yYXJ5IHJlZ2lzdGVyLCBpdCB0aGF0IGlzIG5vdCBwb3NzaWJsZSB3ZSBmYWxsIGJhY2sgdG8g
dGhlIHN0YWNrLgpAQCAtOTkwLDcgKzk5Niw3IEBAIEFzc2VtYmxlcjo6SnVtcCBTZWxlY3RvckNv
ZGVHZW5lcmF0b3I6Om1vZHVsbyhBc3NlbWJsZXI6OlJlc3VsdENvbmRpdGlvbiBjb25kaXRpCiAg
ICAgICAgIExvY2FsUmVnaXN0ZXIgZGl2aXNvclJlZ2lzdGVyKG1fcmVnaXN0ZXJBbGxvY2F0b3Ip
OwogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZlKEFzc2VtYmxlcjo6VHJ1c3RlZEltbTY0KGRpdmlz
b3IpLCBkaXZpc29yUmVnaXN0ZXIpOwogICAgICAgICBtX2Fzc2VtYmxlci5tX2Fzc2VtYmxlci5p
ZGl2bF9yKGRpdmlzb3JSZWdpc3Rlcik7Ci0gICAgICAgIG1fYXNzZW1ibGVyLnRlc3QzMihyZW1h
aW5kZXIpOworICAgICAgICBtX2Fzc2VtYmxlci50ZXN0MzIoY29uZGl0aW9uLCByZW1haW5kZXIp
OwogICAgIH0KIAogICAgIC8vIDMpIFJldHVybiBSQVggYW5kIFJEWC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzc2ppdC9TdGFja0FsbG9jYXRvci5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
aml0L1N0YWNrQWxsb2NhdG9yLmgKaW5kZXggODY4N2M2NGQwMmJiMTNlOTAxYjM0OTM0ZWRlMzlh
MGM1OGNhZWRjMC4uYmFmZjlmMGI0MzAzYzI3YmI4ZTZkZmJjY2E1ZDJlMjExODUwZDY2YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nzaml0L1N0YWNrQWxsb2NhdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3Nzaml0L1N0YWNrQWxsb2NhdG9yLmgKQEAgLTYzLDE2ICs2MywyMSBAQCBw
dWJsaWM6CiAgICAgU3RhY2tSZWZlcmVuY2UgYWxsb2NhdGVVbmluaXRpYWxpemVkKCkKICAgICB7
CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX2hhc0Z1bmN0aW9uQ2FsbFBhZGRpbmcpOwotICAg
ICAgICBtX2Fzc2VtYmxlci5hZGRQdHJOb0ZsYWdzKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OlRydXN0
ZWRJbW0zMigtOCksIEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsK
LSAgICAgICAgbV9vZmZzZXRGcm9tVG9wICs9IDg7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZFB0
ck5vRmxhZ3MoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKC1zdGFja1VuaXRJbkJ5
dGVzKSwgSlNDOjpNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgICAg
ICBtX29mZnNldEZyb21Ub3AgKz0gc3RhY2tVbml0SW5CeXRlczsKICAgICAgICAgcmV0dXJuIFN0
YWNrUmVmZXJlbmNlKG1fb2Zmc2V0RnJvbVRvcCk7CiAgICAgfQogCisgICAgLy8gRklYTUU6IEFS
TTY0IG5lZWRzIGFuIEFQSSB0YWtlIGEgbGlzdCBvZiByZWdpc3RlciB0byBwdXNoIGFuZCBwb3Ag
dG8gdXNlIHN0cnAgYW5kIGxkcnAgd2hlbiBwb3NzaWJsZS4KICAgICBTdGFja1JlZmVyZW5jZSBw
dXNoKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OlJlZ2lzdGVySUQgcmVnaXN0ZXJJRCkKICAgICB7CiAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX2hhc0Z1bmN0aW9uQ2FsbFBhZGRpbmcpOworI2lmIENQ
VShBUk02NCkKKyAgICAgICAgbV9hc3NlbWJsZXIubV9hc3NlbWJsZXIuc3RyPDY0PihyZWdpc3Rl
cklELCBKU0M6OkFSTTY0UmVnaXN0ZXJzOjpzcCwgSlNDOjpQcmVJbmRleCgtMTYpKTsKKyNlbHNl
CiAgICAgICAgIG1fYXNzZW1ibGVyLnB1c2gocmVnaXN0ZXJJRCk7Ci0gICAgICAgIG1fb2Zmc2V0
RnJvbVRvcCArPSA4OworI2VuZGlmCisgICAgICAgIG1fb2Zmc2V0RnJvbVRvcCArPSBzdGFja1Vu
aXRJbkJ5dGVzOwogICAgICAgICByZXR1cm4gU3RhY2tSZWZlcmVuY2UobV9vZmZzZXRGcm9tVG9w
KTsKICAgICB9CiAKQEAgLTgxLDIwICs4NiwyNCBAQCBwdWJsaWM6CiAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKHN0YWNrUmVmZXJlbmNlID09IG1fb2Zmc2V0RnJvbVRvcCk7CiAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKCFtX2hhc0Z1bmN0aW9uQ2FsbFBhZGRpbmcpOwogICAgICAgICBBU1NFUlQobV9v
ZmZzZXRGcm9tVG9wID4gMCk7Ci0gICAgICAgIG1fb2Zmc2V0RnJvbVRvcCAtPSA4OworICAgICAg
ICBtX29mZnNldEZyb21Ub3AgLT0gc3RhY2tVbml0SW5CeXRlczsKKyNpZiBDUFUoQVJNNjQpCisg
ICAgICAgIG1fYXNzZW1ibGVyLm1fYXNzZW1ibGVyLmxkcjw2ND4ocmVnaXN0ZXJJRCwgSlNDOjpB
Uk02NFJlZ2lzdGVyczo6c3AsIEpTQzo6UG9zdEluZGV4KDE2KSk7CisjZWxzZQogICAgICAgICBt
X2Fzc2VtYmxlci5wb3AocmVnaXN0ZXJJRCk7CisjZW5kaWYKICAgICB9CiAKICAgICB2b2lkIHBv
cEFuZERpc2NhcmQoU3RhY2tSZWZlcmVuY2Ugc3RhY2tSZWZlcmVuY2UpCiAgICAgewogICAgICAg
ICBSRUxFQVNFX0FTU0VSVChzdGFja1JlZmVyZW5jZSA9PSBtX29mZnNldEZyb21Ub3ApOwotICAg
ICAgICBtX2Fzc2VtYmxlci5hZGRQdHIoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMy
KDgpLCBKU0M6Ok1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7Ci0gICAgICAg
IG1fb2Zmc2V0RnJvbVRvcCAtPSA4OworICAgICAgICBtX2Fzc2VtYmxlci5hZGRQdHIoSlNDOjpN
YWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKHN0YWNrVW5pdEluQnl0ZXMpLCBKU0M6Ok1hY3Jv
QXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgICAgIG1fb2Zmc2V0RnJvbVRv
cCAtPSBzdGFja1VuaXRJbkJ5dGVzOwogICAgIH0KIAogICAgIHZvaWQgcG9wQW5kRGlzY2FyZFVw
VG8oU3RhY2tSZWZlcmVuY2Ugc3RhY2tSZWZlcmVuY2UpCiAgICAgewotICAgICAgICB1bnNpZ25l
ZCBwb3NpdGlvbkJlZm9yZVN0YWNrUmVmZXJlbmNlID0gc3RhY2tSZWZlcmVuY2UgLSA4OworICAg
ICAgICB1bnNpZ25lZCBwb3NpdGlvbkJlZm9yZVN0YWNrUmVmZXJlbmNlID0gc3RhY2tSZWZlcmVu
Y2UgLSBzdGFja1VuaXRJbkJ5dGVzOwogICAgICAgICBSRUxFQVNFX0FTU0VSVChwb3NpdGlvbkJl
Zm9yZVN0YWNrUmVmZXJlbmNlIDwgbV9vZmZzZXRGcm9tVG9wKTsKIAogICAgICAgICB1bnNpZ25l
ZCBzdGFja0RlbHRhID0gbV9vZmZzZXRGcm9tVG9wIC0gcG9zaXRpb25CZWZvcmVTdGFja1JlZmVy
ZW5jZTsKQEAgLTEwNCwyMCArMTEzLDI0IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWxpZ25TdGFj
a1ByZUZ1bmN0aW9uQ2FsbCgpCiAgICAgeworI2lmIENQVShYODZfNjQpCiAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKCFtX2hhc0Z1bmN0aW9uQ2FsbFBhZGRpbmcpOwotICAgICAgICB1bnNpZ25lZCB0
b3BBbGlnbm1lbnQgPSA4OworICAgICAgICB1bnNpZ25lZCB0b3BBbGlnbm1lbnQgPSBzdGFja1Vu
aXRJbkJ5dGVzOwogICAgICAgICBpZiAoKHRvcEFsaWdubWVudCArIG1fb2Zmc2V0RnJvbVRvcCkg
JSAxNikgewogICAgICAgICAgICAgbV9oYXNGdW5jdGlvbkNhbGxQYWRkaW5nID0gdHJ1ZTsKLSAg
ICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZFB0ck5vRmxhZ3MoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6
VHJ1c3RlZEltbTMyKC04KSwgSlNDOjpNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0
ZXIpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkUHRyTm9GbGFncyhKU0M6Ok1hY3JvQXNz
ZW1ibGVyOjpUcnVzdGVkSW1tMzIoLXN0YWNrVW5pdEluQnl0ZXMpLCBKU0M6Ok1hY3JvQXNzZW1i
bGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAgICAgIH0KKyNlbmRpZgogICAgIH0KIAog
ICAgIHZvaWQgdW5hbGlnblN0YWNrUG9zdEZ1bmN0aW9uQ2FsbCgpCiAgICAgeworI2lmIENQVShY
ODZfNjQpCiAgICAgICAgIGlmIChtX2hhc0Z1bmN0aW9uQ2FsbFBhZGRpbmcpIHsKLSAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLmFkZFB0ck5vRmxhZ3MoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6VHJ1c3Rl
ZEltbTMyKDgpLCBKU0M6Ok1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7Cisg
ICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRQdHJOb0ZsYWdzKEpTQzo6TWFjcm9Bc3NlbWJsZXI6
OlRydXN0ZWRJbW0zMihzdGFja1VuaXRJbkJ5dGVzKSwgSlNDOjpNYWNyb0Fzc2VtYmxlcjo6c3Rh
Y2tQb2ludGVyUmVnaXN0ZXIpOwogICAgICAgICAgICAgbV9oYXNGdW5jdGlvbkNhbGxQYWRkaW5n
ID0gZmFsc2U7CiAgICAgICAgIH0KKyNlbmRpZgogICAgIH0KIAogICAgIHZvaWQgbWVyZ2UoU3Rh
Y2tBbGxvY2F0b3ImJiBzdGFja0EsIFN0YWNrQWxsb2NhdG9yJiYgc3RhY2tCKQpAQCAtMTU5LDYg
KzE3MiwxNCBAQCBwdWJsaWM6CiAgICAgfQogCiBwcml2YXRlOgorI2lmIENQVShBUk02NCkKKyAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgc3RhY2tVbml0SW5CeXRlcyA9IDE2OworI2VsaWYgQ1BV
KFg4Nl82NCkKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgc3RhY2tVbml0SW5CeXRlcyA9IDg7
CisjZWxzZQorI2Vycm9yIFN0YWNrIFVuaXQgU2l6ZSBpcyB1bmRlZmluZWQuCisjZW5kaWYKKwog
ICAgIHZvaWQgcmVzZXQoKQogICAgIHsKICAgICAgICAgbV9vZmZzZXRGcm9tVG9wID0gMDsK
</data>
<flag name="review"
          id="253985"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>