<?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>207471</bug_id>
          
          <creation_ts>2020-02-10 09:31:58 -0800</creation_ts>
          <short_desc>[WPE] Use custom theme style to render buttons</short_desc>
          <delta_ts>2020-02-17 02:13:08 -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>WPE WebKit</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>207379</dependson>
          <blocked>207686</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1616907</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-02-10 09:31:58 -0800</bug_when>
    <thetext>Push, check and radio buttons.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616911</commentid>
    <comment_count>1</comment_count>
      <attachid>390256</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-02-10 09:38:40 -0800</bug_when>
    <thetext>Created attachment 390256
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619604</commentid>
    <comment_count>2</comment_count>
      <attachid>390256</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-02-17 01:43:48 -0800</bug_when>
    <thetext>Comment on attachment 390256
Patch

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

I left just a small comment, otherwise LGTM :)

&gt; Source/WebCore/platform/wpe/RenderThemeWPE.cpp:54
&gt; +static const int menuListButtonBorderSize = 1; // Keep in sync with buttonBorderSize in Theme.

I would also add a similar comment inside “ThemeWPE.cpp” warning
“Keep in sync with menuListButtonBorderSize in RenderTheme” so no
matter which file one is editing, there&apos;s always a note to ensure
that the other one is kept in sync =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619606</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-02-17 02:13:08 -0800</bug_when>
    <thetext>Committed r256726: &lt;https://trac.webkit.org/changeset/256726&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390256</attachid>
            <date>2020-02-10 09:38:40 -0800</date>
            <delta_ts>2020-02-17 01:43:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wpe-buttons.diff</filename>
            <type>text/plain</type>
            <size>17036</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkOGQzNWUwZDQxYy4uMWVjYjEzNzdkMWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAyMC0wMi0xMCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CisKKyAgICAgICAgW1dQRV0gVXNlIGN1c3RvbSB0aGVtZSBzdHlsZSB0byByZW5k
ZXIgYnV0dG9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA3NDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBpbmNsdWRlcyBwdXNoLCBjaGVjayBhbmQgcmFkaW8gYnV0dG9ucy4KKworICAgICAg
ICAqIHBsYXRmb3JtL3dwZS9SZW5kZXJUaGVtZVdQRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVdQRTo6c3VwcG9ydHNGb2N1c1JpbmcgY29uc3QpOiBSZXR1cm4gdHJ1ZSBmb3Ig
YnV0dG9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV1BFOjpwYWludE1lbnVMaXN0
KTogTW92ZSBtdGhlIGNvZGUgdG8gVGhlbWUgYW5kIHVzZSBUaGVtZVdQRTo6cGFpbnRCdXR0b24o
KSArCisgICAgICAgIFRoZW1lV1BFOjpwYWludEZvY3VzKCkuCisgICAgICAgICogcGxhdGZvcm0v
d3BlL1RoZW1lV1BFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lV1BFOjpwYWludEZvY3Vz
KTogTW92ZWQgZnJvbSBSZW5kZXJUaGVtZVdQRSwgYWRkaW5nIHRoZSBvZmZzZXQgYXMgYSBwYXJh
bWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpUaGVtZVdQRTo6cGFpbnQpOiBSZW1vdmUgcGFydCBw
YXJhbWV0ZXIgZnJvbSBjYWxsIHRvIHBhaW50QnV0dG9uKCkuCisgICAgICAgIChXZWJDb3JlOjpU
aGVtZVdQRTo6cGFpbnRDaGVja2JveCk6CisgICAgICAgIChXZWJDb3JlOjpUaGVtZVdQRTo6cGFp
bnRSYWRpbyk6CisgICAgICAgIChXZWJDb3JlOjpUaGVtZVdQRTo6cGFpbnRCdXR0b24pOgorICAg
ICAgICAqIHBsYXRmb3JtL3dwZS9UaGVtZVdQRS5oOgorCiAyMDIwLTAyLTA3ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXSBVc2UgY3Vz
dG9tIHRoZW1lIHN0eWxlIHRvIHJlbmRlciB0ZXh0IGZpZWxkcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd3BlL1JlbmRlclRoZW1lV1BFLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3dwZS9SZW5kZXJUaGVtZVdQRS5jcHAKaW5kZXggMDc3Mjg0ZDZjOGEuLjkzYTJl
Yzg3MGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUvUmVuZGVyVGhl
bWVXUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dwZS9SZW5kZXJUaGVtZVdQ
RS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJSZW5kZXJCb3guaCIKICNpbmNsdWRl
ICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUgIlRo
ZW1lV1BFLmgiCiAjaW5jbHVkZSAiVXNlckFnZW50U2NyaXB0cy5oIgogI2luY2x1ZGUgIlVzZXJB
Z2VudFN0eWxlU2hlZXRzLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgpA
QCAtNDYsMTcgKzQ3LDExIEBAIHN0YXRpYyBjb25zdCBDb2xvciB0ZXh0RmllbGRCb3JkZXJBY3Rp
dmVDb2xvciA9IG1ha2VSR0IoNTIsIDEzMiwgMjI4KTsKIHN0YXRpYyBjb25zdCBDb2xvciB0ZXh0
RmllbGRCb3JkZXJEaXNhYmxlZENvbG9yID0gbWFrZVJHQigyMTMsIDIwOCwgMjA0KTsKIHN0YXRp
YyBjb25zdCBDb2xvciB0ZXh0RmllbGRCYWNrZ3JvdW5kQ29sb3IgPSBtYWtlUkdCKDI1NSwgMjU1
LCAyNTUpOwogc3RhdGljIGNvbnN0IENvbG9yIHRleHRGaWVsZEJhY2tncm91bmREaXNhYmxlZENv
bG9yID0gbWFrZVJHQigyNTIsIDI1MiwgMjUyKTsKLXN0YXRpYyBjb25zdCBpbnQgZm9jdXNPZmZz
ZXQgPSAzOwotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGZvY3VzTGluZVdpZHRoID0gMTsKLXN0YXRp
YyBjb25zdCBDb2xvciBmb2N1c0NvbG9yID0gbWFrZVJHQkEoNDYsIDUyLCA1NCwgMTUwKTsKIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBhcnJvd1NpemUgPSAxNjsKIHN0YXRpYyBjb25zdCBDb2xvciBh
cnJvd0NvbG9yID0gbWFrZVJHQig0NiwgNTIsIDU0KTsKK3N0YXRpYyBjb25zdCBpbnQgbWVudUxp
c3RCdXR0b25Gb2N1c09mZnNldCA9IC0zOwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1lbnVMaXN0
QnV0dG9uUGFkZGluZyA9IDU7Ci1zdGF0aWMgY29uc3QgaW50IG1lbnVMaXN0QnV0dG9uQm9yZGVy
U2l6ZSA9IDE7Ci1zdGF0aWMgY29uc3QgQ29sb3IgbWVudUxpc3RCdXR0b25CYWNrZ3JvdW5kQm9y
ZGVyQ29sb3IgPSBtYWtlUkdCKDIwNSwgMTk5LCAxOTQpOwotc3RhdGljIGNvbnN0IENvbG9yIG1l
bnVMaXN0QnV0dG9uQmFja2dyb3VuZENvbG9yID0gbWFrZVJHQigyNDQsIDI0MiwgMjQxKTsKLXN0
YXRpYyBjb25zdCBDb2xvciBtZW51TGlzdEJ1dHRvbkJhY2tncm91bmRQcmVzc2VkQ29sb3IgPSBt
YWtlUkdCKDIxNCwgMjA5LCAyMDUpOwotc3RhdGljIGNvbnN0IENvbG9yIG1lbnVMaXN0QnV0dG9u
QmFja2dyb3VuZEhvdmVyZWRDb2xvciA9IG1ha2VSR0IoMjQ4LCAyNDgsIDI0Nyk7CitzdGF0aWMg
Y29uc3QgaW50IG1lbnVMaXN0QnV0dG9uQm9yZGVyU2l6ZSA9IDE7IC8vIEtlZXAgaW4gc3luYyB3
aXRoIGJ1dHRvbkJvcmRlclNpemUgaW4gVGhlbWUuCiAKIFJlbmRlclRoZW1lJiBSZW5kZXJUaGVt
ZTo6c2luZ2xldG9uKCkKIHsKQEAgLTY5LDE0ICs2NCwxMyBAQCBib29sIFJlbmRlclRoZW1lV1BF
OjpzdXBwb3J0c0ZvY3VzUmluZyhjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpIGNvbnN0CiAgICAg
c3dpdGNoIChzdHlsZS5hcHBlYXJhbmNlKCkpIHsKICAgICBjYXNlIFB1c2hCdXR0b25QYXJ0Ogog
ICAgIGNhc2UgQnV0dG9uUGFydDoKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNhc2UgVGV4
dEZpZWxkUGFydDoKICAgICBjYXNlIFRleHRBcmVhUGFydDoKICAgICBjYXNlIFNlYXJjaEZpZWxk
UGFydDoKICAgICBjYXNlIE1lbnVsaXN0UGFydDoKLSAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
Y2FzZSBSYWRpb1BhcnQ6CiAgICAgY2FzZSBDaGVja2JveFBhcnQ6CisgICAgICAgIHJldHVybiB0
cnVlOwogICAgIGNhc2UgU2xpZGVySG9yaXpvbnRhbFBhcnQ6CiAgICAgY2FzZSBTbGlkZXJWZXJ0
aWNhbFBhcnQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE1OCwyMSArMTUyLDYgQEAgYm9v
bCBSZW5kZXJUaGVtZVdQRTo6cGFpbnRTZWFyY2hGaWVsZChjb25zdCBSZW5kZXJPYmplY3QmIHJl
bmRlck9iamVjdCwgY29uc3QgUGEKICAgICByZXR1cm4gcGFpbnRUZXh0RmllbGQocmVuZGVyT2Jq
ZWN0LCBwYWludEluZm8sIHJlY3QpOwogfQogCi1zdGF0aWMgdm9pZCBwYWludEZvY3VzKEdyYXBo
aWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCi17Ci0g
ICAgRmxvYXRSZWN0IGZvY3VzUmVjdCA9IHJlY3Q7Ci0gICAgZm9jdXNSZWN0LmluZmxhdGUoLWZv
Y3VzT2Zmc2V0KTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0U3Ryb2tlVGhpY2tuZXNzKGZvY3Vz
TGluZVdpZHRoKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0TGluZURhc2goeyBmb2N1c0xpbmVX
aWR0aCwgMiAqIGZvY3VzTGluZVdpZHRoIH0sIDApOwotICAgIGdyYXBoaWNzQ29udGV4dC5zZXRM
aW5lQ2FwKFNxdWFyZUNhcCk7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnNldExpbmVKb2luKE1pdGVy
Sm9pbik7Ci0KLSAgICBQYXRoIHBhdGg7Ci0gICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmb2N1c1Jl
Y3QsIHsgNSwgNSB9KTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0U3Ryb2tlQ29sb3IoZm9jdXND
b2xvcik7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LnN0cm9rZVBhdGgocGF0aCk7Ci19Ci0KIHN0YXRp
YyB2b2lkIHBhaW50QXJyb3coR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQsIGNvbnN0
IEZsb2F0UmVjdCYgcmVjdCkKIHsKICAgICBQYXRoIHBhdGg7CkBAIC0yMDEsMjggKzE4MCwxOCBA
QCBib29sIFJlbmRlclRoZW1lV1BFOjpwYWludE1lbnVMaXN0KGNvbnN0IFJlbmRlck9iamVjdCYg
cmVuZGVyT2JqZWN0LCBjb25zdCBQYWludAogICAgIGF1dG8mIGdyYXBoaWNzQ29udGV4dCA9IHBh
aW50SW5mby5jb250ZXh0KCk7CiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNh
dmVyKGdyYXBoaWNzQ29udGV4dCk7CiAKLSAgICBGbG9hdFJlY3QgZmllbGRSZWN0ID0gcmVjdDsK
LSAgICBGbG9hdFNpemUgY29ybmVyKDUsIDUpOwotICAgIFBhdGggcGF0aDsKLSAgICBwYXRoLmFk
ZFJvdW5kZWRSZWN0KGZpZWxkUmVjdCwgY29ybmVyKTsKLSAgICBmaWVsZFJlY3QuaW5mbGF0ZSgt
bWVudUxpc3RCdXR0b25Cb3JkZXJTaXplKTsKLSAgICBwYXRoLmFkZFJvdW5kZWRSZWN0KGZpZWxk
UmVjdCwgY29ybmVyKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbFJ1bGUoV2luZFJ1bGU6
OkV2ZW5PZGQpOwotICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IobWVudUxpc3RCdXR0
b25CYWNrZ3JvdW5kQm9yZGVyQ29sb3IpOwotICAgIGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChw
YXRoKTsKLSAgICBwYXRoLmNsZWFyKCk7Ci0KLSAgICBwYXRoLmFkZFJvdW5kZWRSZWN0KGZpZWxk
UmVjdCwgY29ybmVyKTsKLSAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbFJ1bGUoV2luZFJ1bGU6
Ok5vblplcm8pOworICAgIENvbnRyb2xTdGF0ZXM6OlN0YXRlcyBzdGF0ZXMgPSAwOworICAgIGlm
IChpc0VuYWJsZWQocmVuZGVyT2JqZWN0KSkKKyAgICAgICAgc3RhdGVzIHw9IENvbnRyb2xTdGF0
ZXM6OkVuYWJsZWRTdGF0ZTsKICAgICBpZiAoaXNQcmVzc2VkKHJlbmRlck9iamVjdCkpCi0gICAg
ICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IobWVudUxpc3RCdXR0b25CYWNrZ3JvdW5k
UHJlc3NlZENvbG9yKTsKLSAgICBlbHNlIGlmIChpc0hvdmVyZWQocmVuZGVyT2JqZWN0KSkKLSAg
ICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihtZW51TGlzdEJ1dHRvbkJhY2tncm91
bmRIb3ZlcmVkQ29sb3IpOwotICAgIGVsc2UKLSAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZp
bGxDb2xvcihtZW51TGlzdEJ1dHRvbkJhY2tncm91bmRDb2xvcik7Ci0gICAgZ3JhcGhpY3NDb250
ZXh0LmZpbGxQYXRoKHBhdGgpOwotICAgIHBhdGguY2xlYXIoKTsKKyAgICAgICAgc3RhdGVzIHw9
IENvbnRyb2xTdGF0ZXM6OlByZXNzZWRTdGF0ZTsKKyAgICBpZiAoaXNIb3ZlcmVkKHJlbmRlck9i
amVjdCkpCisgICAgICAgIHN0YXRlcyB8PSBDb250cm9sU3RhdGVzOjpIb3ZlclN0YXRlOworICAg
IENvbnRyb2xTdGF0ZXMgY29udHJvbFN0YXRlcyhzdGF0ZXMpOworICAgIFRoZW1lOjpzaW5nbGV0
b24oKS5wYWludChCdXR0b25QYXJ0LCBjb250cm9sU3RhdGVzLCBncmFwaGljc0NvbnRleHQsIHJl
Y3QsIDEuLCBudWxscHRyLCAxLiwgMS4sIGZhbHNlLCBmYWxzZSk7CiAKKyAgICBGbG9hdFJlY3Qg
ZmllbGRSZWN0ID0gcmVjdDsKKyAgICBmaWVsZFJlY3QuaW5mbGF0ZShtZW51TGlzdEJ1dHRvbkJv
cmRlclNpemUpOwogICAgIGlmIChyZW5kZXJPYmplY3Quc3R5bGUoKS5kaXJlY3Rpb24oKSA9PSBU
ZXh0RGlyZWN0aW9uOjpMVFIpCiAgICAgICAgIGZpZWxkUmVjdC5tb3ZlKGZpZWxkUmVjdC53aWR0
aCgpIC0gKGFycm93U2l6ZSArIG1lbnVMaXN0QnV0dG9uUGFkZGluZyksIChmaWVsZFJlY3QuaGVp
Z2h0KCkgLyAyLikgLSAoYXJyb3dTaXplIC8gMikpOwogICAgIGVsc2UKQEAgLTIzMiw3ICsyMDEs
NyBAQCBib29sIFJlbmRlclRoZW1lV1BFOjpwYWludE1lbnVMaXN0KGNvbnN0IFJlbmRlck9iamVj
dCYgcmVuZGVyT2JqZWN0LCBjb25zdCBQYWludAogICAgIHBhaW50QXJyb3coZ3JhcGhpY3NDb250
ZXh0LCBmaWVsZFJlY3QpOwogCiAgICAgaWYgKGlzRm9jdXNlZChyZW5kZXJPYmplY3QpKQotICAg
ICAgICBwYWludEZvY3VzKGdyYXBoaWNzQ29udGV4dCwgcmVjdCk7CisgICAgICAgIFRoZW1lV1BF
OjpwYWludEZvY3VzKGdyYXBoaWNzQ29udGV4dCwgcmVjdCwgbWVudUxpc3RCdXR0b25Gb2N1c09m
ZnNldCk7CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93cGUvVGhlbWVXUEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3Bl
L1RoZW1lV1BFLmNwcAppbmRleCA4ZTAyODU5MzU1MS4uYTc1MmFmZjQ0OTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dwZS9UaGVtZVdQRS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd3BlL1RoZW1lV1BFLmNwcApAQCAtMzUsMTIgKzM1LDQ1IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGNvbnN0IHVuc2lnbmVkIGZvY3VzTGluZVdpZHRo
ID0gMTsKK3N0YXRpYyBjb25zdCBDb2xvciBmb2N1c0NvbG9yID0gbWFrZVJHQkEoNDYsIDUyLCA1
NCwgMTUwKTsKK3N0YXRpYyBjb25zdCBpbnQgYnV0dG9uRm9jdXNPZmZzZXQgPSAtMzsKK3N0YXRp
YyBjb25zdCB1bnNpZ25lZCBidXR0b25QYWRkaW5nID0gNTsKK3N0YXRpYyBjb25zdCBpbnQgYnV0
dG9uQm9yZGVyU2l6ZSA9IDE7CitzdGF0aWMgY29uc3QgQ29sb3IgYnV0dG9uQm9yZGVyQ29sb3Ig
PSBtYWtlUkdCKDIwNSwgMTk5LCAxOTQpOworc3RhdGljIGNvbnN0IENvbG9yIGJ1dHRvbkJhY2tn
cm91bmRDb2xvciA9IG1ha2VSR0IoMjQ0LCAyNDIsIDI0MSk7CitzdGF0aWMgY29uc3QgQ29sb3Ig
YnV0dG9uQmFja2dyb3VuZFByZXNzZWRDb2xvciA9IG1ha2VSR0IoMjE0LCAyMDksIDIwNSk7Citz
dGF0aWMgY29uc3QgQ29sb3IgYnV0dG9uQmFja2dyb3VuZEhvdmVyZWRDb2xvciA9IG1ha2VSR0Io
MjQ4LCAyNDgsIDI0Nyk7CitzdGF0aWMgY29uc3QgQ29sb3IgYnV0dG9uQmFja2dyb3VuZERpc2Fi
bGVkQ29sb3IgPSBtYWtlUkdCKDI0NiwgMjQ2LCAyNDQpOworc3RhdGljIGNvbnN0IENvbG9yIHRv
Z2dsZUJhY2tncm91bmRDb2xvciA9IG1ha2VSR0IoMjU1LCAyNTUsIDI1NSk7CitzdGF0aWMgY29u
c3QgQ29sb3IgdG9nZ2xlQmFja2dyb3VuZEhvdmVyZWRDb2xvciA9IG1ha2VSR0IoMjQyLCAyNDIs
IDI0Mik7CitzdGF0aWMgY29uc3QgQ29sb3IgdG9nZ2xlQmFja2dyb3VuZERpc2FibGVkQ29sb3Ig
PSBtYWtlUkdCKDI1MiwgMjUyLCAyNTIpOworc3RhdGljIGNvbnN0IGRvdWJsZSB0b2dnbGVTaXpl
ID0gMTQuOworc3RhdGljIGNvbnN0IGludCB0b2dnbGVGb2N1c09mZnNldCA9IDI7CitzdGF0aWMg
Y29uc3QgQ29sb3IgdG9nZ2xlQ29sb3IgPSBtYWtlUkdCKDQ2LCA1MiwgNTQpOworc3RhdGljIGNv
bnN0IENvbG9yIHRvZ2dsZURpc2FibGVkQ29sb3IgPSBtYWtlUkdCKDE2MCwgMTYwLCAxNjApOwor
CiBUaGVtZSYgVGhlbWU6OnNpbmdsZXRvbigpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PFRoZW1lV1BFPiB0aGVtZTsKICAgICByZXR1cm4gdGhlbWU7CiB9CiAKK3ZvaWQgVGhlbWVXUEU6
OnBhaW50Rm9jdXMoR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEZsb2F0
UmVjdCYgcmVjdCwgaW50IG9mZnNldCkKK3sKKyAgICBGbG9hdFJlY3QgZm9jdXNSZWN0ID0gcmVj
dDsKKyAgICBmb2N1c1JlY3QuaW5mbGF0ZShvZmZzZXQpOworICAgIGdyYXBoaWNzQ29udGV4dC5z
ZXRTdHJva2VUaGlja25lc3MoZm9jdXNMaW5lV2lkdGgpOworICAgIGdyYXBoaWNzQ29udGV4dC5z
ZXRMaW5lRGFzaCh7IGZvY3VzTGluZVdpZHRoLCAyICogZm9jdXNMaW5lV2lkdGggfSwgMCk7Cisg
ICAgZ3JhcGhpY3NDb250ZXh0LnNldExpbmVDYXAoU3F1YXJlQ2FwKTsKKyAgICBncmFwaGljc0Nv
bnRleHQuc2V0TGluZUpvaW4oTWl0ZXJKb2luKTsKKworICAgIFBhdGggcGF0aDsKKyAgICBwYXRo
LmFkZFJvdW5kZWRSZWN0KGZvY3VzUmVjdCwgeyAyLCAyIH0pOworICAgIGdyYXBoaWNzQ29udGV4
dC5zZXRTdHJva2VDb2xvcihmb2N1c0NvbG9yKTsKKyAgICBncmFwaGljc0NvbnRleHQuc3Ryb2tl
UGF0aChwYXRoKTsKK30KKwogTGVuZ3RoU2l6ZSBUaGVtZVdQRTo6Y29udHJvbFNpemUoQ29udHJv
bFBhcnQgcGFydCwgY29uc3QgRm9udENhc2NhZGUmIGZvbnRDYXNjYWRlLCBjb25zdCBMZW5ndGhT
aXplJiB6b29tZWRTaXplLCBmbG9hdCB6b29tRmFjdG9yKSBjb25zdAogewogICAgIGlmICghem9v
bWVkU2l6ZS53aWR0aC5pc0ludHJpbnNpY09yQXV0bygpICYmICF6b29tZWRTaXplLmhlaWdodC5p
c0ludHJpbnNpY09yQXV0bygpKQpAQCAtNzAsODYgKzEwMywxMzQgQEAgdm9pZCBUaGVtZVdQRTo6
cGFpbnQoQ29udHJvbFBhcnQgcGFydCwgQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0Nv
bnRleHQmIGMKICAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgogICAgIGNhc2UgQnV0dG9uUGFy
dDoKICAgICBjYXNlIFNxdWFyZUJ1dHRvblBhcnQ6Ci0gICAgICAgIHBhaW50QnV0dG9uKHBhcnQs
IHN0YXRlcywgY29udGV4dCwgem9vbWVkUmVjdCwgem9vbUZhY3Rvcik7CisgICAgICAgIHBhaW50
QnV0dG9uKHN0YXRlcywgY29udGV4dCwgem9vbWVkUmVjdCwgem9vbUZhY3Rvcik7CiAgICAgICAg
IGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KIH0KIAotdm9pZCBU
aGVtZVdQRTo6cGFpbnRDaGVja2JveChDb250cm9sU3RhdGVzJiBzdGF0ZXMsIEdyYXBoaWNzQ29u
dGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBmbG9hdCkKK3ZvaWQg
VGhlbWVXUEU6OnBhaW50Q2hlY2tib3goQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0Nv
bnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBmbG9h
dCkKIHsKLSAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoY29udGV4dCk7
CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGdyYXBoaWNzQ29udGV4
dCk7CiAKKyAgICBGbG9hdFJlY3QgZmllbGRSZWN0ID0gem9vbWVkUmVjdDsKICAgICBGbG9hdFNp
emUgY29ybmVyKDIsIDIpOwotICAgIEZsb2F0Um91bmRlZFJlY3Qgcm91bmRlZFJlY3Qoem9vbWVk
UmVjdCwgY29ybmVyLCBjb3JuZXIsIGNvcm5lciwgY29ybmVyKTsKICAgICBQYXRoIHBhdGg7Ci0g
ICAgcGF0aC5hZGRSb3VuZGVkUmVjdChyb3VuZGVkUmVjdCk7Ci0KLSAgICBjb250ZXh0LnNldEZp
bGxDb2xvcihtYWtlUkdCKDIyNCwgMjI0LCAyMjQpKTsKLSAgICBjb250ZXh0LmZpbGxQYXRoKHBh
dGgpOwotCi0gICAgY29udGV4dC5zZXRTdHJva2VUaGlja25lc3MoMSk7Ci0gICAgY29udGV4dC5z
ZXRTdHJva2VDb2xvcihtYWtlUkdCKDk0LCA5NCwgOTQpKTsKLSAgICBjb250ZXh0LnN0cm9rZVBh
dGgocGF0aCk7Ci0KLSAgICBpZiAoc3RhdGVzLnN0YXRlcygpICYgQ29udHJvbFN0YXRlczo6Q2hl
Y2tlZFN0YXRlKSB7Ci0gICAgICAgIGF1dG8mIHJlY3QgPSByb3VuZGVkUmVjdC5yZWN0KCk7Ci0K
LSAgICAgICAgUGF0aCBjaGVja2VyUGF0aDsKLSAgICAgICAgY2hlY2tlclBhdGgubW92ZVRvKEZs
b2F0UG9pbnQocmVjdC54KCkgKyAzLCByZWN0Lm1heFkoKSAtIDMpKTsKLSAgICAgICAgY2hlY2tl
clBhdGguYWRkTGluZVRvKEZsb2F0UG9pbnQocmVjdC5tYXhYKCkgLSAzLCByZWN0LnkoKSArIDMp
KTsKLQotICAgICAgICBjb250ZXh0LnNldFN0cm9rZVRoaWNrbmVzcygyKTsKLSAgICAgICAgY29u
dGV4dC5zZXRTdHJva2VDb2xvcihtYWtlUkdCKDg0LCA4NCwgODQpKTsKLSAgICAgICAgY29udGV4
dC5zdHJva2VQYXRoKGNoZWNrZXJQYXRoKTsKKyAgICBwYXRoLmFkZFJvdW5kZWRSZWN0KGZpZWxk
UmVjdCwgY29ybmVyKTsKKyAgICBmaWVsZFJlY3QuaW5mbGF0ZSgtYnV0dG9uQm9yZGVyU2l6ZSk7
CisgICAgcGF0aC5hZGRSb3VuZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7CisgICAgZ3JhcGhp
Y3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpFdmVuT2RkKTsKKyAgICBncmFwaGljc0Nv
bnRleHQuc2V0RmlsbENvbG9yKGJ1dHRvbkJvcmRlckNvbG9yKTsKKyAgICBncmFwaGljc0NvbnRl
eHQuZmlsbFBhdGgocGF0aCk7CisgICAgcGF0aC5jbGVhcigpOworCisgICAgcGF0aC5hZGRSb3Vu
ZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7CisgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxS
dWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKKyAgICBpZiAoIShzdGF0ZXMuc3RhdGVzKCkgJiBDb250
cm9sU3RhdGVzOjpFbmFibGVkU3RhdGUpKQorICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0Rmls
bENvbG9yKHRvZ2dsZUJhY2tncm91bmREaXNhYmxlZENvbG9yKTsKKyAgICBlbHNlIGlmIChzdGF0
ZXMuc3RhdGVzKCkgJiBDb250cm9sU3RhdGVzOjpIb3ZlclN0YXRlKQorICAgICAgICBncmFwaGlj
c0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJhY2tncm91bmRIb3ZlcmVkQ29sb3IpOworICAg
IGVsc2UKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcih0b2dnbGVCYWNrZ3Jv
dW5kQ29sb3IpOworICAgIGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChwYXRoKTsKKyAgICBwYXRo
LmNsZWFyKCk7CisKKyAgICBpZiAoc3RhdGVzLnN0YXRlcygpICYgKENvbnRyb2xTdGF0ZXM6OkNo
ZWNrZWRTdGF0ZSB8IENvbnRyb2xTdGF0ZXM6OkluZGV0ZXJtaW5hdGVTdGF0ZSkpIHsKKyAgICAg
ICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBjaGVja2VkU3RhdGVTYXZlcihncmFwaGljc0Nv
bnRleHQpOworICAgICAgICBncmFwaGljc0NvbnRleHQudHJhbnNsYXRlKGZpZWxkUmVjdC54KCks
IGZpZWxkUmVjdC55KCkpOworICAgICAgICBncmFwaGljc0NvbnRleHQuc2NhbGUoRmxvYXRTaXpl
OjpuYXJyb3dQcmVjaXNpb24oZmllbGRSZWN0LndpZHRoKCkgLyB0b2dnbGVTaXplLCBmaWVsZFJl
Y3QuaGVpZ2h0KCkgLyB0b2dnbGVTaXplKSk7CisgICAgICAgIGlmIChzdGF0ZXMuc3RhdGVzKCkg
JiBDb250cm9sU3RhdGVzOjpDaGVja2VkU3RhdGUpIHsKKyAgICAgICAgICAgIHBhdGgubW92ZVRv
KHsgMi40MywgNi41NyB9KTsKKyAgICAgICAgICAgIHBhdGguYWRkTGluZVRvKHsgNy41LCAxMS42
MyB9KTsKKyAgICAgICAgICAgIHBhdGguYWRkTGluZVRvKHsgMTQsIDUgfSk7CisgICAgICAgICAg
ICBwYXRoLmFkZExpbmVUbyh7IDE0LCAxIH0pOworICAgICAgICAgICAgcGF0aC5hZGRMaW5lVG8o
eyA3LjUsIDcuMzggfSk7CisgICAgICAgICAgICBwYXRoLmFkZExpbmVUbyh7IDQuNTYsIDQuNDQg
fSk7CisgICAgICAgICAgICBwYXRoLmNsb3NlU3VicGF0aCgpOworICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgIHBhdGguYWRkUm91bmRlZFJlY3QoRmxvYXRSZWN0KDIsIDUsIDEwLCA0KSwgY29y
bmVyKTsKKworICAgICAgICBpZiAoIShzdGF0ZXMuc3RhdGVzKCkgJiBDb250cm9sU3RhdGVzOjpF
bmFibGVkU3RhdGUpKQorICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcih0
b2dnbGVEaXNhYmxlZENvbG9yKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZ3JhcGhpY3ND
b250ZXh0LnNldEZpbGxDb2xvcih0b2dnbGVDb2xvcik7CisKKyAgICAgICAgZ3JhcGhpY3NDb250
ZXh0LmZpbGxQYXRoKHBhdGgpOworICAgICAgICBwYXRoLmNsZWFyKCk7CiAgICAgfQorCisgICAg
aWYgKHN0YXRlcy5zdGF0ZXMoKSAmIENvbnRyb2xTdGF0ZXM6OkZvY3VzU3RhdGUpCisgICAgICAg
IHBhaW50Rm9jdXMoZ3JhcGhpY3NDb250ZXh0LCB6b29tZWRSZWN0LCB0b2dnbGVGb2N1c09mZnNl
dCk7CiB9CiAKLXZvaWQgVGhlbWVXUEU6OnBhaW50UmFkaW8oQ29udHJvbFN0YXRlcyYgc3RhdGVz
LCBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgem9vbWVkUmVjdCwg
ZmxvYXQpCit2b2lkIFRoZW1lV1BFOjpwYWludFJhZGlvKENvbnRyb2xTdGF0ZXMmIHN0YXRlcywg
R3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgem9vbWVk
UmVjdCwgZmxvYXQpCiB7Ci0gICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVy
KGNvbnRleHQpOwotCisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGdy
YXBoaWNzQ29udGV4dCk7CisgICAgRmxvYXRSZWN0IGZpZWxkUmVjdCA9IHpvb21lZFJlY3Q7CiAg
ICAgUGF0aCBwYXRoOwotICAgIHBhdGguYWRkRWxsaXBzZSh6b29tZWRSZWN0KTsKLQotICAgIGNv
bnRleHQuc2V0RmlsbENvbG9yKG1ha2VSR0IoMjI0LCAyMjQsIDIyNCkpOwotICAgIGNvbnRleHQu
ZmlsbFBhdGgocGF0aCk7Ci0KLSAgICBjb250ZXh0LnNldFN0cm9rZVRoaWNrbmVzcygxKTsKLSAg
ICBjb250ZXh0LnNldFN0cm9rZUNvbG9yKG1ha2VSR0IoOTQsIDk0LCA5NCkpOwotICAgIGNvbnRl
eHQuc3Ryb2tlUGF0aChwYXRoKTsKKyAgICBwYXRoLmFkZEVsbGlwc2UoZmllbGRSZWN0KTsKKyAg
ICBmaWVsZFJlY3QuaW5mbGF0ZSgtYnV0dG9uQm9yZGVyU2l6ZSk7CisgICAgcGF0aC5hZGRFbGxp
cHNlKGZpZWxkUmVjdCk7CisgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxl
OjpFdmVuT2RkKTsKKyAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGJ1dHRvbkJvcmRl
ckNvbG9yKTsKKyAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7CisgICAgcGF0aC5j
bGVhcigpOworCisgICAgcGF0aC5hZGRFbGxpcHNlKGZpZWxkUmVjdCk7CisgICAgZ3JhcGhpY3ND
b250ZXh0LnNldEZpbGxSdWxlKFdpbmRSdWxlOjpOb25aZXJvKTsKKyAgICBpZiAoIShzdGF0ZXMu
c3RhdGVzKCkgJiBDb250cm9sU3RhdGVzOjpFbmFibGVkU3RhdGUpKQorICAgICAgICBncmFwaGlj
c0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJhY2tncm91bmREaXNhYmxlZENvbG9yKTsKKyAg
ICBlbHNlIGlmIChzdGF0ZXMuc3RhdGVzKCkgJiBDb250cm9sU3RhdGVzOjpIb3ZlclN0YXRlKQor
ICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKHRvZ2dsZUJhY2tncm91bmRIb3Zl
cmVkQ29sb3IpOworICAgIGVsc2UKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xv
cih0b2dnbGVCYWNrZ3JvdW5kQ29sb3IpOworICAgIGdyYXBoaWNzQ29udGV4dC5maWxsUGF0aChw
YXRoKTsKKyAgICBwYXRoLmNsZWFyKCk7CiAKICAgICBpZiAoc3RhdGVzLnN0YXRlcygpICYgQ29u
dHJvbFN0YXRlczo6Q2hlY2tlZFN0YXRlKSB7Ci0gICAgICAgIEZsb2F0UmVjdCBjaGVja2VyUmVj
dCA9IHpvb21lZFJlY3Q7Ci0gICAgICAgIGNoZWNrZXJSZWN0LmluZmxhdGUoLTMpOwotCi0gICAg
ICAgIFBhdGggY2hlY2tlclBhdGg7Ci0gICAgICAgIGNoZWNrZXJQYXRoLmFkZEVsbGlwc2UoY2hl
Y2tlclJlY3QpOwotCi0gICAgICAgIGNvbnRleHQuc2V0RmlsbENvbG9yKG1ha2VSR0IoODQsIDg0
LCA4NCkpOwotICAgICAgICBjb250ZXh0LmZpbGxQYXRoKGNoZWNrZXJQYXRoKTsKKyAgICAgICAg
ZmllbGRSZWN0LmluZmxhdGUoLShmaWVsZFJlY3Qud2lkdGgoKSAtIGZpZWxkUmVjdC53aWR0aCgp
ICogMC43MCkpOworICAgICAgICBwYXRoLmFkZEVsbGlwc2UoZmllbGRSZWN0KTsKKyAgICAgICAg
aWYgKCEoc3RhdGVzLnN0YXRlcygpICYgQ29udHJvbFN0YXRlczo6RW5hYmxlZFN0YXRlKSkKKyAg
ICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IodG9nZ2xlRGlzYWJsZWRDb2xv
cik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29s
b3IodG9nZ2xlQ29sb3IpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFBhdGgocGF0aCk7
CiAgICAgfQorCisgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKSAmIENvbnRyb2xTdGF0ZXM6OkZvY3Vz
U3RhdGUpCisgICAgICAgIHBhaW50Rm9jdXMoZ3JhcGhpY3NDb250ZXh0LCB6b29tZWRSZWN0LCB0
b2dnbGVGb2N1c09mZnNldCk7CiB9CiAKLXZvaWQgVGhlbWVXUEU6OnBhaW50QnV0dG9uKENvbnRy
b2xQYXJ0IHBhcnQsIENvbnRyb2xTdGF0ZXMmIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0JiBjb250
ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHpvb21lZFJlY3QsIGZsb2F0KQordm9pZCBUaGVtZVdQRTo6
cGFpbnRCdXR0b24oQ29udHJvbFN0YXRlcyYgc3RhdGVzLCBHcmFwaGljc0NvbnRleHQmIGdyYXBo
aWNzQ29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBmbG9hdCkKIHsKLSAgICBH
cmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoY29udGV4dCk7Ci0KLSAgICBmbG9h
dCByb3VuZG5lc3MgPSAocGFydCA9PSBTcXVhcmVCdXR0b25QYXJ0KSA/IDAgOiAyOworICAgIEdy
YXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihncmFwaGljc0NvbnRleHQpOwogCi0g
ICAgRmxvYXRTaXplIGNvcm5lcihyb3VuZG5lc3MsIHJvdW5kbmVzcyk7Ci0gICAgRmxvYXRSb3Vu
ZGVkUmVjdCByb3VuZGVkUmVjdCh6b29tZWRSZWN0LCBjb3JuZXIsIGNvcm5lciwgY29ybmVyLCBj
b3JuZXIpOworICAgIEZsb2F0UmVjdCBmaWVsZFJlY3QgPSB6b29tZWRSZWN0OworICAgIEZsb2F0
U2l6ZSBjb3JuZXIoNSwgNSk7CiAgICAgUGF0aCBwYXRoOwotICAgIHBhdGguYWRkUm91bmRlZFJl
Y3Qocm91bmRlZFJlY3QpOwotCi0gICAgQ29sb3IgZmlsbENvbG9yID0gc3RhdGVzLnN0YXRlcygp
ICYgQ29udHJvbFN0YXRlczo6UHJlc3NlZFN0YXRlID8gbWFrZVJHQigyNDQsIDI0NCwgMjQ0KSA6
IG1ha2VSR0IoMjI0LCAyMjQsIDIyNCk7Ci0gICAgY29udGV4dC5zZXRGaWxsQ29sb3IoZmlsbENv
bG9yKTsKLSAgICBjb250ZXh0LmZpbGxQYXRoKHBhdGgpOwotCi0gICAgY29udGV4dC5zZXRTdHJv
a2VUaGlja25lc3MoMSk7Ci0gICAgY29udGV4dC5zZXRTdHJva2VDb2xvcihtYWtlUkdCKDk0LCA5
NCwgOTQpKTsKLSAgICBjb250ZXh0LnN0cm9rZVBhdGgocGF0aCk7CisgICAgcGF0aC5hZGRSb3Vu
ZGVkUmVjdChmaWVsZFJlY3QsIGNvcm5lcik7CisgICAgZmllbGRSZWN0LmluZmxhdGUoLWJ1dHRv
bkJvcmRlclNpemUpOworICAgIHBhdGguYWRkUm91bmRlZFJlY3QoZmllbGRSZWN0LCBjb3JuZXIp
OworICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6RXZlbk9kZCk7Cisg
ICAgZ3JhcGhpY3NDb250ZXh0LnNldEZpbGxDb2xvcihidXR0b25Cb3JkZXJDb2xvcik7CisgICAg
Z3JhcGhpY3NDb250ZXh0LmZpbGxQYXRoKHBhdGgpOworICAgIHBhdGguY2xlYXIoKTsKKworICAg
IHBhdGguYWRkUm91bmRlZFJlY3QoZmllbGRSZWN0LCBjb3JuZXIpOworICAgIGdyYXBoaWNzQ29u
dGV4dC5zZXRGaWxsUnVsZShXaW5kUnVsZTo6Tm9uWmVybyk7CisgICAgaWYgKCEoc3RhdGVzLnN0
YXRlcygpICYgQ29udHJvbFN0YXRlczo6RW5hYmxlZFN0YXRlKSkKKyAgICAgICAgZ3JhcGhpY3ND
b250ZXh0LnNldEZpbGxDb2xvcihidXR0b25CYWNrZ3JvdW5kRGlzYWJsZWRDb2xvcik7CisgICAg
ZWxzZSBpZiAoc3RhdGVzLnN0YXRlcygpICYgQ29udHJvbFN0YXRlczo6UHJlc3NlZFN0YXRlKQor
ICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0RmlsbENvbG9yKGJ1dHRvbkJhY2tncm91bmRQcmVz
c2VkQ29sb3IpOworICAgIGVsc2UgaWYgKHN0YXRlcy5zdGF0ZXMoKSAmIENvbnRyb2xTdGF0ZXM6
OkhvdmVyU3RhdGUpCisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsQ29sb3IoYnV0dG9u
QmFja2dyb3VuZEhvdmVyZWRDb2xvcik7CisgICAgZWxzZQorICAgICAgICBncmFwaGljc0NvbnRl
eHQuc2V0RmlsbENvbG9yKGJ1dHRvbkJhY2tncm91bmRDb2xvcik7CisgICAgZ3JhcGhpY3NDb250
ZXh0LmZpbGxQYXRoKHBhdGgpOworCisgICAgaWYgKHN0YXRlcy5zdGF0ZXMoKSAmIENvbnRyb2xT
dGF0ZXM6OkZvY3VzU3RhdGUpCisgICAgICAgIHBhaW50Rm9jdXMoZ3JhcGhpY3NDb250ZXh0LCB6
b29tZWRSZWN0LCBidXR0b25Gb2N1c09mZnNldCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dwZS9UaGVtZVdQRS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3BlL1RoZW1lV1BFLmgKaW5kZXggN2MzNWRjNWMwZjku
LjJiZjM4ZjE3MjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUvVGhl
bWVXUEUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUvVGhlbWVXUEUuaApAQCAt
MzAsNiArMzAsOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBUaGVtZVdQRSBmaW5h
bCA6IHB1YmxpYyBUaGVtZSB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgcGFpbnRGb2N1cyhH
cmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBpbnQgb2Zmc2V0KTsKKwogcHJpdmF0
ZToKICAgICBMZW5ndGhTaXplIGNvbnRyb2xTaXplKENvbnRyb2xQYXJ0LCBjb25zdCBGb250Q2Fz
Y2FkZSYsIGNvbnN0IExlbmd0aFNpemUmLCBmbG9hdCkgY29uc3QgZmluYWw7CiAKQEAgLTM3LDcg
KzQwLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGFpbnRDaGVja2JveChDb250cm9sU3RhdGVz
JiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0JiwgZmxvYXQpOwogICAgIHZvaWQg
cGFpbnRSYWRpbyhDb250cm9sU3RhdGVzJiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRS
ZWN0JiwgZmxvYXQpOwotICAgIHZvaWQgcGFpbnRCdXR0b24oQ29udHJvbFBhcnQsIENvbnRyb2xT
dGF0ZXMmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBmbG9hdCk7CisgICAg
dm9pZCBwYWludEJ1dHRvbihDb250cm9sU3RhdGVzJiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3Qg
RmxvYXRSZWN0JiwgZmxvYXQpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="405916"
          type_id="1"
          status="+"
          setter="aperez"
    />
          </attachment>
      

    </bug>

</bugzilla>