<?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>109137</bug_id>
          
          <creation_ts>2013-02-06 23:14:04 -0800</creation_ts>
          <short_desc>Fix style of RenderTheme.cpp and RenderThemeChromiumWin.h</short_desc>
          <delta_ts>2013-02-07 00:27:10 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>eric</cc>
    
    <cc>haraken</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>827072</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-06 23:14:04 -0800</bug_when>
    <thetext>Fix style of RenderTheme.cpp and RenderThemeChromiumWin.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827073</commentid>
    <comment_count>1</comment_count>
      <attachid>186996</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-06 23:14:54 -0800</bug_when>
    <thetext>Created attachment 186996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827093</commentid>
    <comment_count>2</comment_count>
      <attachid>186996</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-06 23:57:27 -0800</bug_when>
    <thetext>Comment on attachment 186996
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827106</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-07 00:27:10 -0800</bug_when>
    <thetext>Committed r142071: &lt;http://trac.webkit.org/changeset/142071&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186996</attachid>
            <date>2013-02-06 23:14:54 -0800</date>
            <delta_ts>2013-02-06 23:57:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109137-20130207161129.patch</filename>
            <type>text/plain</type>
            <size>44722</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTljOGRlNmQ0ZDJiMzRj
OWQ3MzE3Mzg3N2JiYjA1NjE3MGFhOTAxNS4uNTY4MjQxYWJkOTgzOWQzZTUwOWNkNjZhNmRiMDkx
ODg1MDZhYzNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTAyLTA2ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBGaXggc3R5bGUgb2YgUmVu
ZGVyVGhlbWUuY3BwIGFuZCBSZW5kZXJUaGVtZUNocm9taXVtV2luLmgKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTEzNworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gSnVzdCBzdHls
ZSBmaXguCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdFN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnRC
b3JkZXJPbmx5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpwYWludERlY29yYXRp
b25zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjppc0NvbnRyb2xTdHlsZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdEJ1dHRvblN0eWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpzeXN0ZW1Db2xvcik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uaDoKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lRGF0
YTo6VGhlbWVEYXRhKToKKyAgICAgICAgKFRoZW1lRGF0YSk6CisgICAgICAgIChSZW5kZXJUaGVt
ZUNocm9taXVtV2luKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1XaW46
OlJlbmRlclRoZW1lQ2hyb21pdW1XaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVD
aHJvbWl1bVdpbjo6flJlbmRlclRoZW1lQ2hyb21pdW1XaW4pOgorCiAyMDEzLTAyLTA2ICBUb20g
U2VwZXogIDx0c2VwZXpAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIGRvY3VtZW50LnJlZmVycmVy
IGxlYWthZ2Ugd2l0aCBYU1MgQXVkaXRvciBwYWdlIGJsb2NrCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCA5YTBjNGU3ODUxZGU5MDlmODZiZmNhMjY3Mjg1MmYx
OTA1MzcxMjRlLi42YTMwM2QyN2Q2ZDU0YWZkYzU2ZTdiNjg1YzlmYzBhYzgzZmZlZDI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTgxLDE1ICs4MSwxNCBA
QCBSZW5kZXJUaGVtZTo6UmVuZGVyVGhlbWUoKQogewogfQogCi12b2lkIFJlbmRlclRoZW1lOjph
ZGp1c3RTdHlsZShTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBSZW5kZXJTdHlsZSogc3R5
bGUsIEVsZW1lbnQqIGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIFVBSGFz
QXBwZWFyYW5jZSwgY29uc3QgQm9yZGVyRGF0YSYgYm9yZGVyLCBjb25zdCBGaWxsTGF5ZXImIGJh
Y2tncm91bmQsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IpCit2b2lkIFJlbmRlclRoZW1l
OjphZGp1c3RTdHlsZShTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBSZW5kZXJTdHlsZSog
c3R5bGUsIEVsZW1lbnQqIGUsIGJvb2wgVUFIYXNBcHBlYXJhbmNlLCBjb25zdCBCb3JkZXJEYXRh
JiBib3JkZXIsIGNvbnN0IEZpbGxMYXllciYgYmFja2dyb3VuZCwgY29uc3QgQ29sb3ImIGJhY2tn
cm91bmRDb2xvcikKIHsKICAgICAvLyBGb3JjZSBpbmxpbmUgYW5kIHRhYmxlIGRpc3BsYXkgc3R5
bGVzIHRvIGJlIGlubGluZS1ibG9jayAoZXhjZXB0IGZvciB0YWJsZS0gd2hpY2ggaXMgYmxvY2sp
CiAgICAgQ29udHJvbFBhcnQgcGFydCA9IHN0eWxlLT5hcHBlYXJhbmNlKCk7Ci0gICAgaWYgKHN0
eWxlLT5kaXNwbGF5KCkgPT0gSU5MSU5FIHx8IHN0eWxlLT5kaXNwbGF5KCkgPT0gSU5MSU5FX1RB
QkxFIHx8IHN0eWxlLT5kaXNwbGF5KCkgPT0gVEFCTEVfUk9XX0dST1VQIHx8Ci0gICAgICAgIHN0
eWxlLT5kaXNwbGF5KCkgPT0gVEFCTEVfSEVBREVSX0dST1VQIHx8IHN0eWxlLT5kaXNwbGF5KCkg
PT0gVEFCTEVfRk9PVEVSX0dST1VQIHx8Ci0gICAgICAgIHN0eWxlLT5kaXNwbGF5KCkgPT0gVEFC
TEVfUk9XIHx8IHN0eWxlLT5kaXNwbGF5KCkgPT0gVEFCTEVfQ09MVU1OX0dST1VQIHx8IHN0eWxl
LT5kaXNwbGF5KCkgPT0gVEFCTEVfQ09MVU1OIHx8Ci0gICAgICAgIHN0eWxlLT5kaXNwbGF5KCkg
PT0gVEFCTEVfQ0VMTCB8fCBzdHlsZS0+ZGlzcGxheSgpID09IFRBQkxFX0NBUFRJT04pCisgICAg
aWYgKHN0eWxlLT5kaXNwbGF5KCkgPT0gSU5MSU5FIHx8IHN0eWxlLT5kaXNwbGF5KCkgPT0gSU5M
SU5FX1RBQkxFIHx8IHN0eWxlLT5kaXNwbGF5KCkgPT0gVEFCTEVfUk9XX0dST1VQCisgICAgICAg
IHx8IHN0eWxlLT5kaXNwbGF5KCkgPT0gVEFCTEVfSEVBREVSX0dST1VQIHx8IHN0eWxlLT5kaXNw
bGF5KCkgPT0gVEFCTEVfRk9PVEVSX0dST1VQCisgICAgICAgIHx8IHN0eWxlLT5kaXNwbGF5KCkg
PT0gVEFCTEVfUk9XIHx8IHN0eWxlLT5kaXNwbGF5KCkgPT0gVEFCTEVfQ09MVU1OX0dST1VQIHx8
IHN0eWxlLT5kaXNwbGF5KCkgPT0gVEFCTEVfQ09MVU1OCisgICAgICAgIHx8IHN0eWxlLT5kaXNw
bGF5KCkgPT0gVEFCTEVfQ0VMTCB8fCBzdHlsZS0+ZGlzcGxheSgpID09IFRBQkxFX0NBUFRJT04p
CiAgICAgICAgIHN0eWxlLT5zZXREaXNwbGF5KElOTElORV9CTE9DSyk7CiAgICAgZWxzZSBpZiAo
c3R5bGUtPmRpc3BsYXkoKSA9PSBDT01QQUNUIHx8IHN0eWxlLT5kaXNwbGF5KCkgPT0gUlVOX0lO
IHx8IHN0eWxlLT5kaXNwbGF5KCkgPT0gTElTVF9JVEVNIHx8IHN0eWxlLT5kaXNwbGF5KCkgPT0g
VEFCTEUpCiAgICAgICAgIHN0eWxlLT5zZXREaXNwbGF5KEJMT0NLKTsKQEAgLTExMCwxNTIgKzEw
OSwxNTIgQEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUoU3R5bGVSZXNvbHZlciogc3R5
bGVSZXNvbHZlciwgUmVuZGVyU3R5bGUqIHN0eWxlLAogICAgIAogI2lmIFVTRShORVdfVEhFTUUp
CiAgICAgc3dpdGNoIChwYXJ0KSB7Ci0gICAgICAgIGNhc2UgQ2hlY2tib3hQYXJ0OgotICAgICAg
ICBjYXNlIElubmVyU3BpbkJ1dHRvblBhcnQ6Ci0gICAgICAgIGNhc2UgUmFkaW9QYXJ0OgotICAg
ICAgICBjYXNlIFB1c2hCdXR0b25QYXJ0OgotICAgICAgICBjYXNlIFNxdWFyZUJ1dHRvblBhcnQ6
Ci0gICAgICAgIGNhc2UgRGVmYXVsdEJ1dHRvblBhcnQ6Ci0gICAgICAgIGNhc2UgQnV0dG9uUGFy
dDogewotICAgICAgICAgICAgLy8gQm9yZGVyCi0gICAgICAgICAgICBMZW5ndGhCb3ggYm9yZGVy
Qm94KHN0eWxlLT5ib3JkZXJUb3BXaWR0aCgpLCBzdHlsZS0+Ym9yZGVyUmlnaHRXaWR0aCgpLCBz
dHlsZS0+Ym9yZGVyQm90dG9tV2lkdGgoKSwgc3R5bGUtPmJvcmRlckxlZnRXaWR0aCgpKTsKLSAg
ICAgICAgICAgIGJvcmRlckJveCA9IG1fdGhlbWUtPmNvbnRyb2xCb3JkZXIocGFydCwgc3R5bGUt
PmZvbnQoKSwgYm9yZGVyQm94LCBzdHlsZS0+ZWZmZWN0aXZlWm9vbSgpKTsKLSAgICAgICAgICAg
IGlmIChib3JkZXJCb3gudG9wKCkudmFsdWUoKSAhPSBzdGF0aWNfY2FzdDxpbnQ+KHN0eWxlLT5i
b3JkZXJUb3BXaWR0aCgpKSkgewotICAgICAgICAgICAgICAgIGlmIChib3JkZXJCb3gudG9wKCku
dmFsdWUoKSkKLSAgICAgICAgICAgICAgICAgICAgc3R5bGUtPnNldEJvcmRlclRvcFdpZHRoKGJv
cmRlckJveC50b3AoKS52YWx1ZSgpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgICAgIHN0eWxlLT5yZXNldEJvcmRlclRvcCgpOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgaWYgKGJvcmRlckJveC5yaWdodCgpLnZhbHVlKCkgIT0gc3RhdGljX2Nhc3Q8aW50Pihz
dHlsZS0+Ym9yZGVyUmlnaHRXaWR0aCgpKSkgewotICAgICAgICAgICAgICAgIGlmIChib3JkZXJC
b3gucmlnaHQoKS52YWx1ZSgpKQotICAgICAgICAgICAgICAgICAgICBzdHlsZS0+c2V0Qm9yZGVy
UmlnaHRXaWR0aChib3JkZXJCb3gucmlnaHQoKS52YWx1ZSgpKTsKLSAgICAgICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgICAgIHN0eWxlLT5yZXNldEJvcmRlclJpZ2h0KCk7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoYm9yZGVyQm94LmJvdHRvbSgpLnZhbHVlKCkgIT0g
c3RhdGljX2Nhc3Q8aW50PihzdHlsZS0+Ym9yZGVyQm90dG9tV2lkdGgoKSkpIHsKKyAgICBjYXNl
IENoZWNrYm94UGFydDoKKyAgICBjYXNlIElubmVyU3BpbkJ1dHRvblBhcnQ6CisgICAgY2FzZSBS
YWRpb1BhcnQ6CisgICAgY2FzZSBQdXNoQnV0dG9uUGFydDoKKyAgICBjYXNlIFNxdWFyZUJ1dHRv
blBhcnQ6CisgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKKyAgICBjYXNlIEJ1dHRvblBhcnQ6
IHsKKyAgICAgICAgLy8gQm9yZGVyCisgICAgICAgIExlbmd0aEJveCBib3JkZXJCb3goc3R5bGUt
PmJvcmRlclRvcFdpZHRoKCksIHN0eWxlLT5ib3JkZXJSaWdodFdpZHRoKCksIHN0eWxlLT5ib3Jk
ZXJCb3R0b21XaWR0aCgpLCBzdHlsZS0+Ym9yZGVyTGVmdFdpZHRoKCkpOworICAgICAgICBib3Jk
ZXJCb3ggPSBtX3RoZW1lLT5jb250cm9sQm9yZGVyKHBhcnQsIHN0eWxlLT5mb250KCksIGJvcmRl
ckJveCwgc3R5bGUtPmVmZmVjdGl2ZVpvb20oKSk7CisgICAgICAgIGlmIChib3JkZXJCb3gudG9w
KCkudmFsdWUoKSAhPSBzdGF0aWNfY2FzdDxpbnQ+KHN0eWxlLT5ib3JkZXJUb3BXaWR0aCgpKSkg
eworICAgICAgICAgICAgaWYgKGJvcmRlckJveC50b3AoKS52YWx1ZSgpKQorICAgICAgICAgICAg
ICAgIHN0eWxlLT5zZXRCb3JkZXJUb3BXaWR0aChib3JkZXJCb3gudG9wKCkudmFsdWUoKSk7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgc3R5bGUtPnJlc2V0Qm9yZGVyVG9wKCk7
CisgICAgICAgIH0KKyAgICAgICAgaWYgKGJvcmRlckJveC5yaWdodCgpLnZhbHVlKCkgIT0gc3Rh
dGljX2Nhc3Q8aW50PihzdHlsZS0+Ym9yZGVyUmlnaHRXaWR0aCgpKSkgeworICAgICAgICAgICAg
aWYgKGJvcmRlckJveC5yaWdodCgpLnZhbHVlKCkpCisgICAgICAgICAgICAgICAgc3R5bGUtPnNl
dEJvcmRlclJpZ2h0V2lkdGgoYm9yZGVyQm94LnJpZ2h0KCkudmFsdWUoKSk7CisgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgc3R5bGUtPnJlc2V0Qm9yZGVyUmlnaHQoKTsKKyAgICAg
ICAgfQorICAgICAgICBpZiAoYm9yZGVyQm94LmJvdHRvbSgpLnZhbHVlKCkgIT0gc3RhdGljX2Nh
c3Q8aW50PihzdHlsZS0+Ym9yZGVyQm90dG9tV2lkdGgoKSkpIHsKKyAgICAgICAgICAgIHN0eWxl
LT5zZXRCb3JkZXJCb3R0b21XaWR0aChib3JkZXJCb3guYm90dG9tKCkudmFsdWUoKSk7CisgICAg
ICAgICAgICBpZiAoYm9yZGVyQm94LmJvdHRvbSgpLnZhbHVlKCkpCiAgICAgICAgICAgICAgICAg
c3R5bGUtPnNldEJvcmRlckJvdHRvbVdpZHRoKGJvcmRlckJveC5ib3R0b20oKS52YWx1ZSgpKTsK
LSAgICAgICAgICAgICAgICBpZiAoYm9yZGVyQm94LmJvdHRvbSgpLnZhbHVlKCkpCi0gICAgICAg
ICAgICAgICAgICAgIHN0eWxlLT5zZXRCb3JkZXJCb3R0b21XaWR0aChib3JkZXJCb3guYm90dG9t
KCkudmFsdWUoKSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBz
dHlsZS0+cmVzZXRCb3JkZXJCb3R0b20oKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlm
IChib3JkZXJCb3gubGVmdCgpLnZhbHVlKCkgIT0gc3RhdGljX2Nhc3Q8aW50PihzdHlsZS0+Ym9y
ZGVyTGVmdFdpZHRoKCkpKSB7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgc3R5
bGUtPnJlc2V0Qm9yZGVyQm90dG9tKCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGJvcmRlckJv
eC5sZWZ0KCkudmFsdWUoKSAhPSBzdGF0aWNfY2FzdDxpbnQ+KHN0eWxlLT5ib3JkZXJMZWZ0V2lk
dGgoKSkpIHsKKyAgICAgICAgICAgIHN0eWxlLT5zZXRCb3JkZXJMZWZ0V2lkdGgoYm9yZGVyQm94
LmxlZnQoKS52YWx1ZSgpKTsKKyAgICAgICAgICAgIGlmIChib3JkZXJCb3gubGVmdCgpLnZhbHVl
KCkpCiAgICAgICAgICAgICAgICAgc3R5bGUtPnNldEJvcmRlckxlZnRXaWR0aChib3JkZXJCb3gu
bGVmdCgpLnZhbHVlKCkpOwotICAgICAgICAgICAgICAgIGlmIChib3JkZXJCb3gubGVmdCgpLnZh
bHVlKCkpCi0gICAgICAgICAgICAgICAgICAgIHN0eWxlLT5zZXRCb3JkZXJMZWZ0V2lkdGgoYm9y
ZGVyQm94LmxlZnQoKS52YWx1ZSgpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgICAgIHN0eWxlLT5yZXNldEJvcmRlckxlZnQoKTsKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgLy8gUGFkZGluZwotICAgICAgICAgICAgTGVuZ3RoQm94IHBhZGRpbmdCb3ggPSBt
X3RoZW1lLT5jb250cm9sUGFkZGluZyhwYXJ0LCBzdHlsZS0+Zm9udCgpLCBzdHlsZS0+cGFkZGlu
Z0JveCgpLCBzdHlsZS0+ZWZmZWN0aXZlWm9vbSgpKTsKLSAgICAgICAgICAgIGlmIChwYWRkaW5n
Qm94ICE9IHN0eWxlLT5wYWRkaW5nQm94KCkpCi0gICAgICAgICAgICAgICAgc3R5bGUtPnNldFBh
ZGRpbmdCb3gocGFkZGluZ0JveCk7Ci0KLSAgICAgICAgICAgIC8vIFdoaXRlc3BhY2UKLSAgICAg
ICAgICAgIGlmIChtX3RoZW1lLT5jb250cm9sUmVxdWlyZXNQcmVXaGl0ZVNwYWNlKHBhcnQpKQot
ICAgICAgICAgICAgICAgIHN0eWxlLT5zZXRXaGl0ZVNwYWNlKFBSRSk7CisgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgc3R5bGUtPnJlc2V0Qm9yZGVyTGVmdCgpOworICAgICAgICB9
CisKKyAgICAgICAgLy8gUGFkZGluZworICAgICAgICBMZW5ndGhCb3ggcGFkZGluZ0JveCA9IG1f
dGhlbWUtPmNvbnRyb2xQYWRkaW5nKHBhcnQsIHN0eWxlLT5mb250KCksIHN0eWxlLT5wYWRkaW5n
Qm94KCksIHN0eWxlLT5lZmZlY3RpdmVab29tKCkpOworICAgICAgICBpZiAocGFkZGluZ0JveCAh
PSBzdHlsZS0+cGFkZGluZ0JveCgpKQorICAgICAgICAgICAgc3R5bGUtPnNldFBhZGRpbmdCb3go
cGFkZGluZ0JveCk7CisKKyAgICAgICAgLy8gV2hpdGVzcGFjZQorICAgICAgICBpZiAobV90aGVt
ZS0+Y29udHJvbFJlcXVpcmVzUHJlV2hpdGVTcGFjZShwYXJ0KSkKKyAgICAgICAgICAgIHN0eWxl
LT5zZXRXaGl0ZVNwYWNlKFBSRSk7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIFdpZHRo
IC8gSGVpZ2h0Ci0gICAgICAgICAgICAvLyBUaGUgd2lkdGggYW5kIGhlaWdodCBoZXJlIGFyZSBh
ZmZlY3RlZCBieSB0aGUgem9vbS4KLSAgICAgICAgICAgIC8vIEZJWE1FOiBDaGVjayBpcyBmbGF3
ZWQsIHNpbmNlIGl0IGRvZXNuJ3QgdGFrZSBtaW4td2lkdGgvbWF4LXdpZHRoIGludG8gYWNjb3Vu
dC4KLSAgICAgICAgICAgIExlbmd0aFNpemUgY29udHJvbFNpemUgPSBtX3RoZW1lLT5jb250cm9s
U2l6ZShwYXJ0LCBzdHlsZS0+Zm9udCgpLCBMZW5ndGhTaXplKHN0eWxlLT53aWR0aCgpLCBzdHls
ZS0+aGVpZ2h0KCkpLCBzdHlsZS0+ZWZmZWN0aXZlWm9vbSgpKTsKLSAgICAgICAgICAgIGlmIChj
b250cm9sU2l6ZS53aWR0aCgpICE9IHN0eWxlLT53aWR0aCgpKQotICAgICAgICAgICAgICAgIHN0
eWxlLT5zZXRXaWR0aChjb250cm9sU2l6ZS53aWR0aCgpKTsKLSAgICAgICAgICAgIGlmIChjb250
cm9sU2l6ZS5oZWlnaHQoKSAhPSBzdHlsZS0+aGVpZ2h0KCkpCi0gICAgICAgICAgICAgICAgc3R5
bGUtPnNldEhlaWdodChjb250cm9sU2l6ZS5oZWlnaHQoKSk7CisgICAgICAgIC8vIFdpZHRoIC8g
SGVpZ2h0CisgICAgICAgIC8vIFRoZSB3aWR0aCBhbmQgaGVpZ2h0IGhlcmUgYXJlIGFmZmVjdGVk
IGJ5IHRoZSB6b29tLgorICAgICAgICAvLyBGSVhNRTogQ2hlY2sgaXMgZmxhd2VkLCBzaW5jZSBp
dCBkb2Vzbid0IHRha2UgbWluLXdpZHRoL21heC13aWR0aCBpbnRvIGFjY291bnQuCisgICAgICAg
IExlbmd0aFNpemUgY29udHJvbFNpemUgPSBtX3RoZW1lLT5jb250cm9sU2l6ZShwYXJ0LCBzdHls
ZS0+Zm9udCgpLCBMZW5ndGhTaXplKHN0eWxlLT53aWR0aCgpLCBzdHlsZS0+aGVpZ2h0KCkpLCBz
dHlsZS0+ZWZmZWN0aXZlWm9vbSgpKTsKKyAgICAgICAgaWYgKGNvbnRyb2xTaXplLndpZHRoKCkg
IT0gc3R5bGUtPndpZHRoKCkpCisgICAgICAgICAgICBzdHlsZS0+c2V0V2lkdGgoY29udHJvbFNp
emUud2lkdGgoKSk7CisgICAgICAgIGlmIChjb250cm9sU2l6ZS5oZWlnaHQoKSAhPSBzdHlsZS0+
aGVpZ2h0KCkpCisgICAgICAgICAgICBzdHlsZS0+c2V0SGVpZ2h0KGNvbnRyb2xTaXplLmhlaWdo
dCgpKTsKICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIE1pbi1XaWR0aCAvIE1pbi1I
ZWlnaHQKLSAgICAgICAgICAgIExlbmd0aFNpemUgbWluQ29udHJvbFNpemUgPSBtX3RoZW1lLT5t
aW5pbXVtQ29udHJvbFNpemUocGFydCwgc3R5bGUtPmZvbnQoKSwgc3R5bGUtPmVmZmVjdGl2ZVpv
b20oKSk7Ci0gICAgICAgICAgICBpZiAobWluQ29udHJvbFNpemUud2lkdGgoKSAhPSBzdHlsZS0+
bWluV2lkdGgoKSkKLSAgICAgICAgICAgICAgICBzdHlsZS0+c2V0TWluV2lkdGgobWluQ29udHJv
bFNpemUud2lkdGgoKSk7Ci0gICAgICAgICAgICBpZiAobWluQ29udHJvbFNpemUuaGVpZ2h0KCkg
IT0gc3R5bGUtPm1pbkhlaWdodCgpKQotICAgICAgICAgICAgICAgIHN0eWxlLT5zZXRNaW5IZWln
aHQobWluQ29udHJvbFNpemUuaGVpZ2h0KCkpOworICAgICAgICAvLyBNaW4tV2lkdGggLyBNaW4t
SGVpZ2h0CisgICAgICAgIExlbmd0aFNpemUgbWluQ29udHJvbFNpemUgPSBtX3RoZW1lLT5taW5p
bXVtQ29udHJvbFNpemUocGFydCwgc3R5bGUtPmZvbnQoKSwgc3R5bGUtPmVmZmVjdGl2ZVpvb20o
KSk7CisgICAgICAgIGlmIChtaW5Db250cm9sU2l6ZS53aWR0aCgpICE9IHN0eWxlLT5taW5XaWR0
aCgpKQorICAgICAgICAgICAgc3R5bGUtPnNldE1pbldpZHRoKG1pbkNvbnRyb2xTaXplLndpZHRo
KCkpOworICAgICAgICBpZiAobWluQ29udHJvbFNpemUuaGVpZ2h0KCkgIT0gc3R5bGUtPm1pbkhl
aWdodCgpKQorICAgICAgICAgICAgc3R5bGUtPnNldE1pbkhlaWdodChtaW5Db250cm9sU2l6ZS5o
ZWlnaHQoKSk7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBGb250Ci0gICAgICAg
ICAgICBGb250RGVzY3JpcHRpb24gY29udHJvbEZvbnQgPSBtX3RoZW1lLT5jb250cm9sRm9udChw
YXJ0LCBzdHlsZS0+Zm9udCgpLCBzdHlsZS0+ZWZmZWN0aXZlWm9vbSgpKTsKLSAgICAgICAgICAg
IGlmIChjb250cm9sRm9udCAhPSBzdHlsZS0+Zm9udCgpLmZvbnREZXNjcmlwdGlvbigpKSB7Ci0g
ICAgICAgICAgICAgICAgLy8gUmVzZXQgb3VyIGxpbmUtaGVpZ2h0Ci0gICAgICAgICAgICAgICAg
c3R5bGUtPnNldExpbmVIZWlnaHQoUmVuZGVyU3R5bGU6OmluaXRpYWxMaW5lSGVpZ2h0KCkpOwot
ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIE5vdyB1cGRhdGUgb3VyIGZvbnQu
Ci0gICAgICAgICAgICAgICAgaWYgKHN0eWxlLT5zZXRGb250RGVzY3JpcHRpb24oY29udHJvbEZv
bnQpKQotICAgICAgICAgICAgICAgICAgICBzdHlsZS0+Zm9udCgpLnVwZGF0ZSgwKTsKLSAgICAg
ICAgICAgIH0KKyAgICAgICAgLy8gRm9udAorICAgICAgICBGb250RGVzY3JpcHRpb24gY29udHJv
bEZvbnQgPSBtX3RoZW1lLT5jb250cm9sRm9udChwYXJ0LCBzdHlsZS0+Zm9udCgpLCBzdHlsZS0+
ZWZmZWN0aXZlWm9vbSgpKTsKKyAgICAgICAgaWYgKGNvbnRyb2xGb250ICE9IHN0eWxlLT5mb250
KCkuZm9udERlc2NyaXB0aW9uKCkpIHsKKyAgICAgICAgICAgIC8vIFJlc2V0IG91ciBsaW5lLWhl
aWdodAorICAgICAgICAgICAgc3R5bGUtPnNldExpbmVIZWlnaHQoUmVuZGVyU3R5bGU6OmluaXRp
YWxMaW5lSGVpZ2h0KCkpOworCisgICAgICAgICAgICAvLyBOb3cgdXBkYXRlIG91ciBmb250Lgor
ICAgICAgICAgICAgaWYgKHN0eWxlLT5zZXRGb250RGVzY3JpcHRpb24oY29udHJvbEZvbnQpKQor
ICAgICAgICAgICAgICAgIHN0eWxlLT5mb250KCkudXBkYXRlKDApOwogICAgICAgICB9Ci0gICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgZGVmYXVsdDoKKyAg
ICAgICAgYnJlYWs7CiAgICAgfQogI2VuZGlmCiAKICAgICAvLyBDYWxsIHRoZSBhcHByb3ByaWF0
ZSBzdHlsZSBhZGp1c3RtZW50IG1ldGhvZCBiYXNlZCBvZmYgdGhlIGFwcGVhcmFuY2UgdmFsdWUu
CiAgICAgc3dpdGNoIChzdHlsZS0+YXBwZWFyYW5jZSgpKSB7CiAjaWYgIVVTRShORVdfVEhFTUUp
Ci0gICAgICAgIGNhc2UgQ2hlY2tib3hQYXJ0OgotICAgICAgICAgICAgcmV0dXJuIGFkanVzdENo
ZWNrYm94U3R5bGUoc3R5bGVSZXNvbHZlciwgc3R5bGUsIGUpOwotICAgICAgICBjYXNlIFJhZGlv
UGFydDoKLSAgICAgICAgICAgIHJldHVybiBhZGp1c3RSYWRpb1N0eWxlKHN0eWxlUmVzb2x2ZXIs
IHN0eWxlLCBlKTsKLSAgICAgICAgY2FzZSBQdXNoQnV0dG9uUGFydDoKLSAgICAgICAgY2FzZSBT
cXVhcmVCdXR0b25QYXJ0OgotICAgICAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgotICAgICAg
ICBjYXNlIEJ1dHRvblBhcnQ6Ci0gICAgICAgICAgICByZXR1cm4gYWRqdXN0QnV0dG9uU3R5bGUo
c3R5bGVSZXNvbHZlciwgc3R5bGUsIGUpOwotICAgICAgICBjYXNlIElubmVyU3BpbkJ1dHRvblBh
cnQ6Ci0gICAgICAgICAgICByZXR1cm4gYWRqdXN0SW5uZXJTcGluQnV0dG9uU3R5bGUoc3R5bGVS
ZXNvbHZlciwgc3R5bGUsIGUpOworICAgIGNhc2UgQ2hlY2tib3hQYXJ0OgorICAgICAgICByZXR1
cm4gYWRqdXN0Q2hlY2tib3hTdHlsZShzdHlsZVJlc29sdmVyLCBzdHlsZSwgZSk7CisgICAgY2Fz
ZSBSYWRpb1BhcnQ6CisgICAgICAgIHJldHVybiBhZGp1c3RSYWRpb1N0eWxlKHN0eWxlUmVzb2x2
ZXIsIHN0eWxlLCBlKTsKKyAgICBjYXNlIFB1c2hCdXR0b25QYXJ0OgorICAgIGNhc2UgU3F1YXJl
QnV0dG9uUGFydDoKKyAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgorICAgIGNhc2UgQnV0dG9u
UGFydDoKKyAgICAgICAgcmV0dXJuIGFkanVzdEJ1dHRvblN0eWxlKHN0eWxlUmVzb2x2ZXIsIHN0
eWxlLCBlKTsKKyAgICBjYXNlIElubmVyU3BpbkJ1dHRvblBhcnQ6CisgICAgICAgIHJldHVybiBh
ZGp1c3RJbm5lclNwaW5CdXR0b25TdHlsZShzdHlsZVJlc29sdmVyLCBzdHlsZSwgZSk7CiAjZW5k
aWYKLSAgICAgICAgY2FzZSBUZXh0RmllbGRQYXJ0OgotICAgICAgICAgICAgcmV0dXJuIGFkanVz
dFRleHRGaWVsZFN0eWxlKHN0eWxlUmVzb2x2ZXIsIHN0eWxlLCBlKTsKLSAgICAgICAgY2FzZSBU
ZXh0QXJlYVBhcnQ6Ci0gICAgICAgICAgICByZXR1cm4gYWRqdXN0VGV4dEFyZWFTdHlsZShzdHls
ZVJlc29sdmVyLCBzdHlsZSwgZSk7Ci0gICAgICAgIGNhc2UgTWVudWxpc3RQYXJ0OgotICAgICAg
ICAgICAgcmV0dXJuIGFkanVzdE1lbnVMaXN0U3R5bGUoc3R5bGVSZXNvbHZlciwgc3R5bGUsIGUp
OwotICAgICAgICBjYXNlIE1lbnVsaXN0QnV0dG9uUGFydDoKLSAgICAgICAgICAgIHJldHVybiBh
ZGp1c3RNZW51TGlzdEJ1dHRvblN0eWxlKHN0eWxlUmVzb2x2ZXIsIHN0eWxlLCBlKTsKLSAgICAg
ICAgY2FzZSBNZWRpYVBsYXlCdXR0b25QYXJ0OgotICAgICAgICBjYXNlIE1lZGlhQ3VycmVudFRp
bWVQYXJ0OgotICAgICAgICBjYXNlIE1lZGlhVGltZVJlbWFpbmluZ1BhcnQ6Ci0gICAgICAgIGNh
c2UgTWVkaWFFbnRlckZ1bGxzY3JlZW5CdXR0b25QYXJ0OgotICAgICAgICBjYXNlIE1lZGlhRXhp
dEZ1bGxzY3JlZW5CdXR0b25QYXJ0OgotICAgICAgICBjYXNlIE1lZGlhTXV0ZUJ1dHRvblBhcnQ6
Ci0gICAgICAgIGNhc2UgTWVkaWFWb2x1bWVTbGlkZXJDb250YWluZXJQYXJ0OgotICAgICAgICAg
ICAgcmV0dXJuIGFkanVzdE1lZGlhQ29udHJvbFN0eWxlKHN0eWxlUmVzb2x2ZXIsIHN0eWxlLCBl
KTsKLSAgICAgICAgY2FzZSBNZWRpYVNsaWRlclBhcnQ6Ci0gICAgICAgIGNhc2UgTWVkaWFWb2x1
bWVTbGlkZXJQYXJ0OgotICAgICAgICBjYXNlIE1lZGlhRnVsbFNjcmVlblZvbHVtZVNsaWRlclBh
cnQ6Ci0gICAgICAgIGNhc2UgU2xpZGVySG9yaXpvbnRhbFBhcnQ6Ci0gICAgICAgIGNhc2UgU2xp
ZGVyVmVydGljYWxQYXJ0OgotICAgICAgICAgICAgcmV0dXJuIGFkanVzdFNsaWRlclRyYWNrU3R5
bGUoc3R5bGVSZXNvbHZlciwgc3R5bGUsIGUpOwotICAgICAgICBjYXNlIFNsaWRlclRodW1iSG9y
aXpvbnRhbFBhcnQ6Ci0gICAgICAgIGNhc2UgU2xpZGVyVGh1bWJWZXJ0aWNhbFBhcnQ6Ci0gICAg
ICAgICAgICByZXR1cm4gYWRqdXN0U2xpZGVyVGh1bWJTdHlsZShzdHlsZVJlc29sdmVyLCBzdHls
ZSwgZSk7Ci0gICAgICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0OgotICAgICAgICAgICAgcmV0dXJu
IGFkanVzdFNlYXJjaEZpZWxkU3R5bGUoc3R5bGVSZXNvbHZlciwgc3R5bGUsIGUpOwotICAgICAg
ICBjYXNlIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uUGFydDoKLSAgICAgICAgICAgIHJldHVybiBh
ZGp1c3RTZWFyY2hGaWVsZENhbmNlbEJ1dHRvblN0eWxlKHN0eWxlUmVzb2x2ZXIsIHN0eWxlLCBl
KTsKLSAgICAgICAgY2FzZSBTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgotICAgICAgICAgICAg
cmV0dXJuIGFkanVzdFNlYXJjaEZpZWxkRGVjb3JhdGlvblN0eWxlKHN0eWxlUmVzb2x2ZXIsIHN0
eWxlLCBlKTsKLSAgICAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydDoK
LSAgICAgICAgICAgIHJldHVybiBhZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU3R5
bGUoc3R5bGVSZXNvbHZlciwgc3R5bGUsIGUpOwotICAgICAgICBjYXNlIFNlYXJjaEZpZWxkUmVz
dWx0c0J1dHRvblBhcnQ6Ci0gICAgICAgICAgICByZXR1cm4gYWRqdXN0U2VhcmNoRmllbGRSZXN1
bHRzQnV0dG9uU3R5bGUoc3R5bGVSZXNvbHZlciwgc3R5bGUsIGUpOworICAgIGNhc2UgVGV4dEZp
ZWxkUGFydDoKKyAgICAgICAgcmV0dXJuIGFkanVzdFRleHRGaWVsZFN0eWxlKHN0eWxlUmVzb2x2
ZXIsIHN0eWxlLCBlKTsKKyAgICBjYXNlIFRleHRBcmVhUGFydDoKKyAgICAgICAgcmV0dXJuIGFk
anVzdFRleHRBcmVhU3R5bGUoc3R5bGVSZXNvbHZlciwgc3R5bGUsIGUpOworICAgIGNhc2UgTWVu
dWxpc3RQYXJ0OgorICAgICAgICByZXR1cm4gYWRqdXN0TWVudUxpc3RTdHlsZShzdHlsZVJlc29s
dmVyLCBzdHlsZSwgZSk7CisgICAgY2FzZSBNZW51bGlzdEJ1dHRvblBhcnQ6CisgICAgICAgIHJl
dHVybiBhZGp1c3RNZW51TGlzdEJ1dHRvblN0eWxlKHN0eWxlUmVzb2x2ZXIsIHN0eWxlLCBlKTsK
KyAgICBjYXNlIE1lZGlhUGxheUJ1dHRvblBhcnQ6CisgICAgY2FzZSBNZWRpYUN1cnJlbnRUaW1l
UGFydDoKKyAgICBjYXNlIE1lZGlhVGltZVJlbWFpbmluZ1BhcnQ6CisgICAgY2FzZSBNZWRpYUVu
dGVyRnVsbHNjcmVlbkJ1dHRvblBhcnQ6CisgICAgY2FzZSBNZWRpYUV4aXRGdWxsc2NyZWVuQnV0
dG9uUGFydDoKKyAgICBjYXNlIE1lZGlhTXV0ZUJ1dHRvblBhcnQ6CisgICAgY2FzZSBNZWRpYVZv
bHVtZVNsaWRlckNvbnRhaW5lclBhcnQ6CisgICAgICAgIHJldHVybiBhZGp1c3RNZWRpYUNvbnRy
b2xTdHlsZShzdHlsZVJlc29sdmVyLCBzdHlsZSwgZSk7CisgICAgY2FzZSBNZWRpYVNsaWRlclBh
cnQ6CisgICAgY2FzZSBNZWRpYVZvbHVtZVNsaWRlclBhcnQ6CisgICAgY2FzZSBNZWRpYUZ1bGxT
Y3JlZW5Wb2x1bWVTbGlkZXJQYXJ0OgorICAgIGNhc2UgU2xpZGVySG9yaXpvbnRhbFBhcnQ6Cisg
ICAgY2FzZSBTbGlkZXJWZXJ0aWNhbFBhcnQ6CisgICAgICAgIHJldHVybiBhZGp1c3RTbGlkZXJU
cmFja1N0eWxlKHN0eWxlUmVzb2x2ZXIsIHN0eWxlLCBlKTsKKyAgICBjYXNlIFNsaWRlclRodW1i
SG9yaXpvbnRhbFBhcnQ6CisgICAgY2FzZSBTbGlkZXJUaHVtYlZlcnRpY2FsUGFydDoKKyAgICAg
ICAgcmV0dXJuIGFkanVzdFNsaWRlclRodW1iU3R5bGUoc3R5bGVSZXNvbHZlciwgc3R5bGUsIGUp
OworICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0OgorICAgICAgICByZXR1cm4gYWRqdXN0U2VhcmNo
RmllbGRTdHlsZShzdHlsZVJlc29sdmVyLCBzdHlsZSwgZSk7CisgICAgY2FzZSBTZWFyY2hGaWVs
ZENhbmNlbEJ1dHRvblBhcnQ6CisgICAgICAgIHJldHVybiBhZGp1c3RTZWFyY2hGaWVsZENhbmNl
bEJ1dHRvblN0eWxlKHN0eWxlUmVzb2x2ZXIsIHN0eWxlLCBlKTsKKyAgICBjYXNlIFNlYXJjaEZp
ZWxkRGVjb3JhdGlvblBhcnQ6CisgICAgICAgIHJldHVybiBhZGp1c3RTZWFyY2hGaWVsZERlY29y
YXRpb25TdHlsZShzdHlsZVJlc29sdmVyLCBzdHlsZSwgZSk7CisgICAgY2FzZSBTZWFyY2hGaWVs
ZFJlc3VsdHNEZWNvcmF0aW9uUGFydDoKKyAgICAgICAgcmV0dXJuIGFkanVzdFNlYXJjaEZpZWxk
UmVzdWx0c0RlY29yYXRpb25TdHlsZShzdHlsZVJlc29sdmVyLCBzdHlsZSwgZSk7CisgICAgY2Fz
ZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gYWRqdXN0U2Vh
cmNoRmllbGRSZXN1bHRzQnV0dG9uU3R5bGUoc3R5bGVSZXNvbHZlciwgc3R5bGUsIGUpOwogI2lm
IEVOQUJMRShQUk9HUkVTU19FTEVNRU5UKQotICAgICAgICBjYXNlIFByb2dyZXNzQmFyUGFydDoK
LSAgICAgICAgICAgIHJldHVybiBhZGp1c3RQcm9ncmVzc0JhclN0eWxlKHN0eWxlUmVzb2x2ZXIs
IHN0eWxlLCBlKTsKKyAgICBjYXNlIFByb2dyZXNzQmFyUGFydDoKKyAgICAgICAgcmV0dXJuIGFk
anVzdFByb2dyZXNzQmFyU3R5bGUoc3R5bGVSZXNvbHZlciwgc3R5bGUsIGUpOwogI2VuZGlmCiAj
aWYgRU5BQkxFKE1FVEVSX0VMRU1FTlQpCi0gICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgotICAgICAg
ICBjYXNlIFJlbGV2YW5jeUxldmVsSW5kaWNhdG9yUGFydDoKLSAgICAgICAgY2FzZSBDb250aW51
b3VzQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6Ci0gICAgICAgIGNhc2UgRGlzY3JldGVDYXBh
Y2l0eUxldmVsSW5kaWNhdG9yUGFydDoKLSAgICAgICAgY2FzZSBSYXRpbmdMZXZlbEluZGljYXRv
clBhcnQ6Ci0gICAgICAgICAgICByZXR1cm4gYWRqdXN0TWV0ZXJTdHlsZShzdHlsZVJlc29sdmVy
LCBzdHlsZSwgZSk7CisgICAgY2FzZSBNZXRlclBhcnQ6CisgICAgY2FzZSBSZWxldmFuY3lMZXZl
bEluZGljYXRvclBhcnQ6CisgICAgY2FzZSBDb250aW51b3VzQ2FwYWNpdHlMZXZlbEluZGljYXRv
clBhcnQ6CisgICAgY2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRpY2F0b3JQYXJ0OgorICAg
IGNhc2UgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0OgorICAgICAgICByZXR1cm4gYWRqdXN0TWV0
ZXJTdHlsZShzdHlsZVJlc29sdmVyLCBzdHlsZSwgZSk7CiAjZW5kaWYKICNpZiBFTkFCTEUoSU5Q
VVRfU1BFRUNIKQotICAgICAgICBjYXNlIElucHV0U3BlZWNoQnV0dG9uUGFydDoKLSAgICAgICAg
ICAgIHJldHVybiBhZGp1c3RJbnB1dEZpZWxkU3BlZWNoQnV0dG9uU3R5bGUoc3R5bGVSZXNvbHZl
ciwgc3R5bGUsIGUpOworICAgIGNhc2UgSW5wdXRTcGVlY2hCdXR0b25QYXJ0OgorICAgICAgICBy
ZXR1cm4gYWRqdXN0SW5wdXRGaWVsZFNwZWVjaEJ1dHRvblN0eWxlKHN0eWxlUmVzb2x2ZXIsIHN0
eWxlLCBlKTsKICNlbmRpZgotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgYnJlYWs7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CiAgICAgfQogfQogCkBAIC0yNzYsMTE3ICsyNzUs
MTE3IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KFJlbmRlck9iamVjdCogbywgY29uc3QgUGFp
bnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlCiAKICNpZiBVU0UoTkVXX1RIRU1FKQogICAg
IHN3aXRjaCAocGFydCkgewotICAgICAgICBjYXNlIENoZWNrYm94UGFydDoKLSAgICAgICAgY2Fz
ZSBSYWRpb1BhcnQ6Ci0gICAgICAgIGNhc2UgUHVzaEJ1dHRvblBhcnQ6Ci0gICAgICAgIGNhc2Ug
U3F1YXJlQnV0dG9uUGFydDoKLSAgICAgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKLSAgICAg
ICAgY2FzZSBCdXR0b25QYXJ0OgotICAgICAgICBjYXNlIElubmVyU3BpbkJ1dHRvblBhcnQ6Ci0g
ICAgICAgICAgICBtX3RoZW1lLT5wYWludChwYXJ0LCBjb250cm9sU3RhdGVzRm9yUmVuZGVyZXIo
byksIGNvbnN0X2Nhc3Q8R3JhcGhpY3NDb250ZXh0Kj4ocGFpbnRJbmZvLmNvbnRleHQpLCByLCBv
LT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCksIG8tPnZpZXcoKS0+ZnJhbWVWaWV3KCkpOwotICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBDaGVja2JveFBhcnQ6CisgICAgY2FzZSBSYWRpb1BhcnQ6CisgICAgY2Fz
ZSBQdXNoQnV0dG9uUGFydDoKKyAgICBjYXNlIFNxdWFyZUJ1dHRvblBhcnQ6CisgICAgY2FzZSBE
ZWZhdWx0QnV0dG9uUGFydDoKKyAgICBjYXNlIEJ1dHRvblBhcnQ6CisgICAgY2FzZSBJbm5lclNw
aW5CdXR0b25QYXJ0OgorICAgICAgICBtX3RoZW1lLT5wYWludChwYXJ0LCBjb250cm9sU3RhdGVz
Rm9yUmVuZGVyZXIobyksIGNvbnN0X2Nhc3Q8R3JhcGhpY3NDb250ZXh0Kj4ocGFpbnRJbmZvLmNv
bnRleHQpLCByLCBvLT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCksIG8tPnZpZXcoKS0+ZnJhbWVW
aWV3KCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJl
YWs7CiAgICAgfQogI2VuZGlmCiAKICAgICAvLyBDYWxsIHRoZSBhcHByb3ByaWF0ZSBwYWludCBt
ZXRob2QgYmFzZWQgb2ZmIHRoZSBhcHBlYXJhbmNlIHZhbHVlLgogICAgIHN3aXRjaCAocGFydCkg
ewogI2lmICFVU0UoTkVXX1RIRU1FKQotICAgICAgICBjYXNlIENoZWNrYm94UGFydDoKLSAgICAg
ICAgICAgIHJldHVybiBwYWludENoZWNrYm94KG8sIHBhaW50SW5mbywgcik7Ci0gICAgICAgIGNh
c2UgUmFkaW9QYXJ0OgotICAgICAgICAgICAgcmV0dXJuIHBhaW50UmFkaW8obywgcGFpbnRJbmZv
LCByKTsKLSAgICAgICAgY2FzZSBQdXNoQnV0dG9uUGFydDoKLSAgICAgICAgY2FzZSBTcXVhcmVC
dXR0b25QYXJ0OgotICAgICAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgotICAgICAgICBjYXNl
IEJ1dHRvblBhcnQ6Ci0gICAgICAgICAgICByZXR1cm4gcGFpbnRCdXR0b24obywgcGFpbnRJbmZv
LCByKTsKLSAgICAgICAgY2FzZSBJbm5lclNwaW5CdXR0b25QYXJ0OgotICAgICAgICAgICAgcmV0
dXJuIHBhaW50SW5uZXJTcGluQnV0dG9uKG8sIHBhaW50SW5mbywgcik7CisgICAgY2FzZSBDaGVj
a2JveFBhcnQ6CisgICAgICAgIHJldHVybiBwYWludENoZWNrYm94KG8sIHBhaW50SW5mbywgcik7
CisgICAgY2FzZSBSYWRpb1BhcnQ6CisgICAgICAgIHJldHVybiBwYWludFJhZGlvKG8sIHBhaW50
SW5mbywgcik7CisgICAgY2FzZSBQdXNoQnV0dG9uUGFydDoKKyAgICBjYXNlIFNxdWFyZUJ1dHRv
blBhcnQ6CisgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKKyAgICBjYXNlIEJ1dHRvblBhcnQ6
CisgICAgICAgIHJldHVybiBwYWludEJ1dHRvbihvLCBwYWludEluZm8sIHIpOworICAgIGNhc2Ug
SW5uZXJTcGluQnV0dG9uUGFydDoKKyAgICAgICAgcmV0dXJuIHBhaW50SW5uZXJTcGluQnV0dG9u
KG8sIHBhaW50SW5mbywgcik7CiAjZW5kaWYKLSAgICAgICAgY2FzZSBNZW51bGlzdFBhcnQ6Ci0g
ICAgICAgICAgICByZXR1cm4gcGFpbnRNZW51TGlzdChvLCBwYWludEluZm8sIHIpOworICAgIGNh
c2UgTWVudWxpc3RQYXJ0OgorICAgICAgICByZXR1cm4gcGFpbnRNZW51TGlzdChvLCBwYWludElu
Zm8sIHIpOwogI2lmIEVOQUJMRShNRVRFUl9FTEVNRU5UKQotICAgICAgICBjYXNlIE1ldGVyUGFy
dDoKLSAgICAgICAgY2FzZSBSZWxldmFuY3lMZXZlbEluZGljYXRvclBhcnQ6Ci0gICAgICAgIGNh
c2UgQ29udGludW91c0NhcGFjaXR5TGV2ZWxJbmRpY2F0b3JQYXJ0OgotICAgICAgICBjYXNlIERp
c2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6Ci0gICAgICAgIGNhc2UgUmF0aW5nTGV2
ZWxJbmRpY2F0b3JQYXJ0OgotICAgICAgICAgICAgcmV0dXJuIHBhaW50TWV0ZXIobywgcGFpbnRJ
bmZvLCByKTsKKyAgICBjYXNlIE1ldGVyUGFydDoKKyAgICBjYXNlIFJlbGV2YW5jeUxldmVsSW5k
aWNhdG9yUGFydDoKKyAgICBjYXNlIENvbnRpbnVvdXNDYXBhY2l0eUxldmVsSW5kaWNhdG9yUGFy
dDoKKyAgICBjYXNlIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6CisgICAgY2Fz
ZSBSYXRpbmdMZXZlbEluZGljYXRvclBhcnQ6CisgICAgICAgIHJldHVybiBwYWludE1ldGVyKG8s
IHBhaW50SW5mbywgcik7CiAjZW5kaWYKICNpZiBFTkFCTEUoUFJPR1JFU1NfRUxFTUVOVCkKLSAg
ICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6Ci0gICAgICAgICAgICByZXR1cm4gcGFpbnRQcm9n
cmVzc0JhcihvLCBwYWludEluZm8sIHIpOworICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0OgorICAg
ICAgICByZXR1cm4gcGFpbnRQcm9ncmVzc0JhcihvLCBwYWludEluZm8sIHIpOwogI2VuZGlmCi0g
ICAgICAgIGNhc2UgU2xpZGVySG9yaXpvbnRhbFBhcnQ6Ci0gICAgICAgIGNhc2UgU2xpZGVyVmVy
dGljYWxQYXJ0OgotICAgICAgICAgICAgcmV0dXJuIHBhaW50U2xpZGVyVHJhY2sobywgcGFpbnRJ
bmZvLCByKTsKLSAgICAgICAgY2FzZSBTbGlkZXJUaHVtYkhvcml6b250YWxQYXJ0OgotICAgICAg
ICBjYXNlIFNsaWRlclRodW1iVmVydGljYWxQYXJ0OgotICAgICAgICAgICAgcmV0dXJuIHBhaW50
U2xpZGVyVGh1bWIobywgcGFpbnRJbmZvLCByKTsKLSAgICAgICAgY2FzZSBNZWRpYUVudGVyRnVs
bHNjcmVlbkJ1dHRvblBhcnQ6Ci0gICAgICAgIGNhc2UgTWVkaWFFeGl0RnVsbHNjcmVlbkJ1dHRv
blBhcnQ6Ci0gICAgICAgICAgICByZXR1cm4gcGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24obywg
cGFpbnRJbmZvLCByKTsKLSAgICAgICAgY2FzZSBNZWRpYVBsYXlCdXR0b25QYXJ0OgotICAgICAg
ICAgICAgcmV0dXJuIHBhaW50TWVkaWFQbGF5QnV0dG9uKG8sIHBhaW50SW5mbywgcik7Ci0gICAg
ICAgIGNhc2UgTWVkaWFPdmVybGF5UGxheUJ1dHRvblBhcnQ6Ci0gICAgICAgICAgICByZXR1cm4g
cGFpbnRNZWRpYU92ZXJsYXlQbGF5QnV0dG9uKG8sIHBhaW50SW5mbywgcik7Ci0gICAgICAgIGNh
c2UgTWVkaWFNdXRlQnV0dG9uUGFydDoKLSAgICAgICAgICAgIHJldHVybiBwYWludE1lZGlhTXV0
ZUJ1dHRvbihvLCBwYWludEluZm8sIHIpOwotICAgICAgICBjYXNlIE1lZGlhU2Vla0JhY2tCdXR0
b25QYXJ0OgotICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFTZWVrQmFja0J1dHRvbihvLCBw
YWludEluZm8sIHIpOwotICAgICAgICBjYXNlIE1lZGlhU2Vla0ZvcndhcmRCdXR0b25QYXJ0Ogot
ICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFTZWVrRm9yd2FyZEJ1dHRvbihvLCBwYWludElu
Zm8sIHIpOwotICAgICAgICBjYXNlIE1lZGlhUmV3aW5kQnV0dG9uUGFydDoKLSAgICAgICAgICAg
IHJldHVybiBwYWludE1lZGlhUmV3aW5kQnV0dG9uKG8sIHBhaW50SW5mbywgcik7Ci0gICAgICAg
IGNhc2UgTWVkaWFSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uUGFydDoKLSAgICAgICAgICAgIHJldHVy
biBwYWludE1lZGlhUmV0dXJuVG9SZWFsdGltZUJ1dHRvbihvLCBwYWludEluZm8sIHIpOwotICAg
ICAgICBjYXNlIE1lZGlhVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25QYXJ0OgotICAgICAgICAg
ICAgcmV0dXJuIHBhaW50TWVkaWFUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbihvLCBwYWludElu
Zm8sIHIpOwotICAgICAgICBjYXNlIE1lZGlhU2xpZGVyUGFydDoKLSAgICAgICAgICAgIHJldHVy
biBwYWludE1lZGlhU2xpZGVyVHJhY2sobywgcGFpbnRJbmZvLCByKTsKLSAgICAgICAgY2FzZSBN
ZWRpYVNsaWRlclRodW1iUGFydDoKLSAgICAgICAgICAgIHJldHVybiBwYWludE1lZGlhU2xpZGVy
VGh1bWIobywgcGFpbnRJbmZvLCByKTsKLSAgICAgICAgY2FzZSBNZWRpYVZvbHVtZVNsaWRlck11
dGVCdXR0b25QYXJ0OgotICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFNdXRlQnV0dG9uKG8s
IHBhaW50SW5mbywgcik7Ci0gICAgICAgIGNhc2UgTWVkaWFWb2x1bWVTbGlkZXJDb250YWluZXJQ
YXJ0OgotICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFWb2x1bWVTbGlkZXJDb250YWluZXIo
bywgcGFpbnRJbmZvLCByKTsKLSAgICAgICAgY2FzZSBNZWRpYVZvbHVtZVNsaWRlclBhcnQ6Ci0g
ICAgICAgICAgICByZXR1cm4gcGFpbnRNZWRpYVZvbHVtZVNsaWRlclRyYWNrKG8sIHBhaW50SW5m
bywgcik7Ci0gICAgICAgIGNhc2UgTWVkaWFWb2x1bWVTbGlkZXJUaHVtYlBhcnQ6Ci0gICAgICAg
ICAgICByZXR1cm4gcGFpbnRNZWRpYVZvbHVtZVNsaWRlclRodW1iKG8sIHBhaW50SW5mbywgcik7
Ci0gICAgICAgIGNhc2UgTWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVyUGFydDoKLSAgICAgICAg
ICAgIHJldHVybiBwYWludE1lZGlhRnVsbFNjcmVlblZvbHVtZVNsaWRlclRyYWNrKG8sIHBhaW50
SW5mbywgcik7Ci0gICAgICAgIGNhc2UgTWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVyVGh1bWJQ
YXJ0OgotICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVy
VGh1bWIobywgcGFpbnRJbmZvLCByKTsKLSAgICAgICAgY2FzZSBNZWRpYVRpbWVSZW1haW5pbmdQ
YXJ0OgotICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFUaW1lUmVtYWluaW5nKG8sIHBhaW50
SW5mbywgcik7Ci0gICAgICAgIGNhc2UgTWVkaWFDdXJyZW50VGltZVBhcnQ6Ci0gICAgICAgICAg
ICByZXR1cm4gcGFpbnRNZWRpYUN1cnJlbnRUaW1lKG8sIHBhaW50SW5mbywgcik7Ci0gICAgICAg
IGNhc2UgTWVkaWFDb250cm9sc0JhY2tncm91bmRQYXJ0OgotICAgICAgICAgICAgcmV0dXJuIHBh
aW50TWVkaWFDb250cm9sc0JhY2tncm91bmQobywgcGFpbnRJbmZvLCByKTsKLSAgICAgICAgY2Fz
ZSBNZW51bGlzdEJ1dHRvblBhcnQ6Ci0gICAgICAgIGNhc2UgVGV4dEZpZWxkUGFydDoKLSAgICAg
ICAgY2FzZSBUZXh0QXJlYVBhcnQ6Ci0gICAgICAgIGNhc2UgTGlzdGJveFBhcnQ6Ci0gICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBTZWFyY2hGaWVsZFBhcnQ6Ci0gICAgICAg
ICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZChvLCBwYWludEluZm8sIHIpOwotICAgICAgICBj
YXNlIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uUGFydDoKLSAgICAgICAgICAgIHJldHVybiBwYWlu
dFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKG8sIHBhaW50SW5mbywgcik7Ci0gICAgICAgIGNhc2Ug
U2VhcmNoRmllbGREZWNvcmF0aW9uUGFydDoKLSAgICAgICAgICAgIHJldHVybiBwYWludFNlYXJj
aEZpZWxkRGVjb3JhdGlvbihvLCBwYWludEluZm8sIHIpOwotICAgICAgICBjYXNlIFNlYXJjaEZp
ZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0OgotICAgICAgICAgICAgcmV0dXJuIHBhaW50U2VhcmNo
RmllbGRSZXN1bHRzRGVjb3JhdGlvbihvLCBwYWludEluZm8sIHIpOwotICAgICAgICBjYXNlIFNl
YXJjaEZpZWxkUmVzdWx0c0J1dHRvblBhcnQ6Ci0gICAgICAgICAgICByZXR1cm4gcGFpbnRTZWFy
Y2hGaWVsZFJlc3VsdHNCdXR0b24obywgcGFpbnRJbmZvLCByKTsKKyAgICBjYXNlIFNsaWRlckhv
cml6b250YWxQYXJ0OgorICAgIGNhc2UgU2xpZGVyVmVydGljYWxQYXJ0OgorICAgICAgICByZXR1
cm4gcGFpbnRTbGlkZXJUcmFjayhvLCBwYWludEluZm8sIHIpOworICAgIGNhc2UgU2xpZGVyVGh1
bWJIb3Jpem9udGFsUGFydDoKKyAgICBjYXNlIFNsaWRlclRodW1iVmVydGljYWxQYXJ0OgorICAg
ICAgICByZXR1cm4gcGFpbnRTbGlkZXJUaHVtYihvLCBwYWludEluZm8sIHIpOworICAgIGNhc2Ug
TWVkaWFFbnRlckZ1bGxzY3JlZW5CdXR0b25QYXJ0OgorICAgIGNhc2UgTWVkaWFFeGl0RnVsbHNj
cmVlbkJ1dHRvblBhcnQ6CisgICAgICAgIHJldHVybiBwYWludE1lZGlhRnVsbHNjcmVlbkJ1dHRv
bihvLCBwYWludEluZm8sIHIpOworICAgIGNhc2UgTWVkaWFQbGF5QnV0dG9uUGFydDoKKyAgICAg
ICAgcmV0dXJuIHBhaW50TWVkaWFQbGF5QnV0dG9uKG8sIHBhaW50SW5mbywgcik7CisgICAgY2Fz
ZSBNZWRpYU92ZXJsYXlQbGF5QnV0dG9uUGFydDoKKyAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFP
dmVybGF5UGxheUJ1dHRvbihvLCBwYWludEluZm8sIHIpOworICAgIGNhc2UgTWVkaWFNdXRlQnV0
dG9uUGFydDoKKyAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFNdXRlQnV0dG9uKG8sIHBhaW50SW5m
bywgcik7CisgICAgY2FzZSBNZWRpYVNlZWtCYWNrQnV0dG9uUGFydDoKKyAgICAgICAgcmV0dXJu
IHBhaW50TWVkaWFTZWVrQmFja0J1dHRvbihvLCBwYWludEluZm8sIHIpOworICAgIGNhc2UgTWVk
aWFTZWVrRm9yd2FyZEJ1dHRvblBhcnQ6CisgICAgICAgIHJldHVybiBwYWludE1lZGlhU2Vla0Zv
cndhcmRCdXR0b24obywgcGFpbnRJbmZvLCByKTsKKyAgICBjYXNlIE1lZGlhUmV3aW5kQnV0dG9u
UGFydDoKKyAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFSZXdpbmRCdXR0b24obywgcGFpbnRJbmZv
LCByKTsKKyAgICBjYXNlIE1lZGlhUmV0dXJuVG9SZWFsdGltZUJ1dHRvblBhcnQ6CisgICAgICAg
IHJldHVybiBwYWludE1lZGlhUmV0dXJuVG9SZWFsdGltZUJ1dHRvbihvLCBwYWludEluZm8sIHIp
OworICAgIGNhc2UgTWVkaWFUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvblBhcnQ6CisgICAgICAg
IHJldHVybiBwYWludE1lZGlhVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24obywgcGFpbnRJbmZv
LCByKTsKKyAgICBjYXNlIE1lZGlhU2xpZGVyUGFydDoKKyAgICAgICAgcmV0dXJuIHBhaW50TWVk
aWFTbGlkZXJUcmFjayhvLCBwYWludEluZm8sIHIpOworICAgIGNhc2UgTWVkaWFTbGlkZXJUaHVt
YlBhcnQ6CisgICAgICAgIHJldHVybiBwYWludE1lZGlhU2xpZGVyVGh1bWIobywgcGFpbnRJbmZv
LCByKTsKKyAgICBjYXNlIE1lZGlhVm9sdW1lU2xpZGVyTXV0ZUJ1dHRvblBhcnQ6CisgICAgICAg
IHJldHVybiBwYWludE1lZGlhTXV0ZUJ1dHRvbihvLCBwYWludEluZm8sIHIpOworICAgIGNhc2Ug
TWVkaWFWb2x1bWVTbGlkZXJDb250YWluZXJQYXJ0OgorICAgICAgICByZXR1cm4gcGFpbnRNZWRp
YVZvbHVtZVNsaWRlckNvbnRhaW5lcihvLCBwYWludEluZm8sIHIpOworICAgIGNhc2UgTWVkaWFW
b2x1bWVTbGlkZXJQYXJ0OgorICAgICAgICByZXR1cm4gcGFpbnRNZWRpYVZvbHVtZVNsaWRlclRy
YWNrKG8sIHBhaW50SW5mbywgcik7CisgICAgY2FzZSBNZWRpYVZvbHVtZVNsaWRlclRodW1iUGFy
dDoKKyAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFWb2x1bWVTbGlkZXJUaHVtYihvLCBwYWludElu
Zm8sIHIpOworICAgIGNhc2UgTWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVyUGFydDoKKyAgICAg
ICAgcmV0dXJuIHBhaW50TWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVyVHJhY2sobywgcGFpbnRJ
bmZvLCByKTsKKyAgICBjYXNlIE1lZGlhRnVsbFNjcmVlblZvbHVtZVNsaWRlclRodW1iUGFydDoK
KyAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVyVGh1bWIobywg
cGFpbnRJbmZvLCByKTsKKyAgICBjYXNlIE1lZGlhVGltZVJlbWFpbmluZ1BhcnQ6CisgICAgICAg
IHJldHVybiBwYWludE1lZGlhVGltZVJlbWFpbmluZyhvLCBwYWludEluZm8sIHIpOworICAgIGNh
c2UgTWVkaWFDdXJyZW50VGltZVBhcnQ6CisgICAgICAgIHJldHVybiBwYWludE1lZGlhQ3VycmVu
dFRpbWUobywgcGFpbnRJbmZvLCByKTsKKyAgICBjYXNlIE1lZGlhQ29udHJvbHNCYWNrZ3JvdW5k
UGFydDoKKyAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFDb250cm9sc0JhY2tncm91bmQobywgcGFp
bnRJbmZvLCByKTsKKyAgICBjYXNlIE1lbnVsaXN0QnV0dG9uUGFydDoKKyAgICBjYXNlIFRleHRG
aWVsZFBhcnQ6CisgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CisgICAgY2FzZSBMaXN0Ym94UGFydDoK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgY2FzZSBTZWFyY2hGaWVsZFBhcnQ6CisgICAgICAg
IHJldHVybiBwYWludFNlYXJjaEZpZWxkKG8sIHBhaW50SW5mbywgcik7CisgICAgY2FzZSBTZWFy
Y2hGaWVsZENhbmNlbEJ1dHRvblBhcnQ6CisgICAgICAgIHJldHVybiBwYWludFNlYXJjaEZpZWxk
Q2FuY2VsQnV0dG9uKG8sIHBhaW50SW5mbywgcik7CisgICAgY2FzZSBTZWFyY2hGaWVsZERlY29y
YXRpb25QYXJ0OgorICAgICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZERlY29yYXRpb24obywg
cGFpbnRJbmZvLCByKTsKKyAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0
OgorICAgICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uKG8sIHBh
aW50SW5mbywgcik7CisgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorICAg
ICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24obywgcGFpbnRJbmZvLCBy
KTsKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQotICAgICAgICBjYXNlIElucHV0U3BlZWNoQnV0
dG9uUGFydDoKLSAgICAgICAgICAgIHJldHVybiBwYWludElucHV0RmllbGRTcGVlY2hCdXR0b24o
bywgcGFpbnRJbmZvLCByKTsKKyAgICBjYXNlIElucHV0U3BlZWNoQnV0dG9uUGFydDoKKyAgICAg
ICAgcmV0dXJuIHBhaW50SW5wdXRGaWVsZFNwZWVjaEJ1dHRvbihvLCBwYWludEluZm8sIHIpOwog
I2VuZGlmCi0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0
OgorICAgICAgICBicmVhazsKICAgICB9CiAKICAgICByZXR1cm4gdHJ1ZTsgLy8gV2UgZG9uJ3Qg
c3VwcG9ydCB0aGUgYXBwZWFyYW5jZSwgc28gbGV0IHRoZSBub3JtYWwgYmFja2dyb3VuZC9ib3Jk
ZXIgcGFpbnQuCkBAIC0zOTksNDQgKzM5OCw0NCBAQCBib29sIFJlbmRlclRoZW1lOjpwYWludEJv
cmRlck9ubHkoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgYwog
CiAgICAgLy8gQ2FsbCB0aGUgYXBwcm9wcmlhdGUgcGFpbnQgbWV0aG9kIGJhc2VkIG9mZiB0aGUg
YXBwZWFyYW5jZSB2YWx1ZS4KICAgICBzd2l0Y2ggKG8tPnN0eWxlKCktPmFwcGVhcmFuY2UoKSkg
ewotICAgICAgICBjYXNlIFRleHRGaWVsZFBhcnQ6Ci0gICAgICAgICAgICByZXR1cm4gcGFpbnRU
ZXh0RmllbGQobywgcGFpbnRJbmZvLCByKTsKLSAgICAgICAgY2FzZSBMaXN0Ym94UGFydDoKLSAg
ICAgICAgY2FzZSBUZXh0QXJlYVBhcnQ6Ci0gICAgICAgICAgICByZXR1cm4gcGFpbnRUZXh0QXJl
YShvLCBwYWludEluZm8sIHIpOwotICAgICAgICBjYXNlIE1lbnVsaXN0QnV0dG9uUGFydDoKLSAg
ICAgICAgY2FzZSBTZWFyY2hGaWVsZFBhcnQ6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICAgICAgY2FzZSBDaGVja2JveFBhcnQ6Ci0gICAgICAgIGNhc2UgUmFkaW9QYXJ0OgotICAgICAg
ICBjYXNlIFB1c2hCdXR0b25QYXJ0OgotICAgICAgICBjYXNlIFNxdWFyZUJ1dHRvblBhcnQ6Ci0g
ICAgICAgIGNhc2UgRGVmYXVsdEJ1dHRvblBhcnQ6Ci0gICAgICAgIGNhc2UgQnV0dG9uUGFydDoK
LSAgICAgICAgY2FzZSBNZW51bGlzdFBhcnQ6CisgICAgY2FzZSBUZXh0RmllbGRQYXJ0OgorICAg
ICAgICByZXR1cm4gcGFpbnRUZXh0RmllbGQobywgcGFpbnRJbmZvLCByKTsKKyAgICBjYXNlIExp
c3Rib3hQYXJ0OgorICAgIGNhc2UgVGV4dEFyZWFQYXJ0OgorICAgICAgICByZXR1cm4gcGFpbnRU
ZXh0QXJlYShvLCBwYWludEluZm8sIHIpOworICAgIGNhc2UgTWVudWxpc3RCdXR0b25QYXJ0Ogor
ICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0OgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBjYXNl
IENoZWNrYm94UGFydDoKKyAgICBjYXNlIFJhZGlvUGFydDoKKyAgICBjYXNlIFB1c2hCdXR0b25Q
YXJ0OgorICAgIGNhc2UgU3F1YXJlQnV0dG9uUGFydDoKKyAgICBjYXNlIERlZmF1bHRCdXR0b25Q
YXJ0OgorICAgIGNhc2UgQnV0dG9uUGFydDoKKyAgICBjYXNlIE1lbnVsaXN0UGFydDoKICNpZiBF
TkFCTEUoTUVURVJfRUxFTUVOVCkKLSAgICAgICAgY2FzZSBNZXRlclBhcnQ6Ci0gICAgICAgIGNh
c2UgUmVsZXZhbmN5TGV2ZWxJbmRpY2F0b3JQYXJ0OgotICAgICAgICBjYXNlIENvbnRpbnVvdXND
YXBhY2l0eUxldmVsSW5kaWNhdG9yUGFydDoKLSAgICAgICAgY2FzZSBEaXNjcmV0ZUNhcGFjaXR5
TGV2ZWxJbmRpY2F0b3JQYXJ0OgotICAgICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFy
dDoKKyAgICBjYXNlIE1ldGVyUGFydDoKKyAgICBjYXNlIFJlbGV2YW5jeUxldmVsSW5kaWNhdG9y
UGFydDoKKyAgICBjYXNlIENvbnRpbnVvdXNDYXBhY2l0eUxldmVsSW5kaWNhdG9yUGFydDoKKyAg
ICBjYXNlIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6CisgICAgY2FzZSBSYXRp
bmdMZXZlbEluZGljYXRvclBhcnQ6CiAjZW5kaWYKICNpZiBFTkFCTEUoUFJPR1JFU1NfRUxFTUVO
VCkKLSAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CisgICAgY2FzZSBQcm9ncmVzc0JhclBh
cnQ6CiAjZW5kaWYKLSAgICAgICAgY2FzZSBTbGlkZXJIb3Jpem9udGFsUGFydDoKLSAgICAgICAg
Y2FzZSBTbGlkZXJWZXJ0aWNhbFBhcnQ6Ci0gICAgICAgIGNhc2UgU2xpZGVyVGh1bWJIb3Jpem9u
dGFsUGFydDoKLSAgICAgICAgY2FzZSBTbGlkZXJUaHVtYlZlcnRpY2FsUGFydDoKLSAgICAgICAg
Y2FzZSBTZWFyY2hGaWVsZENhbmNlbEJ1dHRvblBhcnQ6Ci0gICAgICAgIGNhc2UgU2VhcmNoRmll
bGREZWNvcmF0aW9uUGFydDoKLSAgICAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0
aW9uUGFydDoKLSAgICAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorICAg
IGNhc2UgU2xpZGVySG9yaXpvbnRhbFBhcnQ6CisgICAgY2FzZSBTbGlkZXJWZXJ0aWNhbFBhcnQ6
CisgICAgY2FzZSBTbGlkZXJUaHVtYkhvcml6b250YWxQYXJ0OgorICAgIGNhc2UgU2xpZGVyVGh1
bWJWZXJ0aWNhbFBhcnQ6CisgICAgY2FzZSBTZWFyY2hGaWVsZENhbmNlbEJ1dHRvblBhcnQ6Cisg
ICAgY2FzZSBTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgorICAgIGNhc2UgU2VhcmNoRmllbGRS
ZXN1bHRzRGVjb3JhdGlvblBhcnQ6CisgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25Q
YXJ0OgogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCi0gICAgICAgIGNhc2UgSW5wdXRTcGVlY2hC
dXR0b25QYXJ0OgorICAgIGNhc2UgSW5wdXRTcGVlY2hCdXR0b25QYXJ0OgogI2VuZGlmCi0gICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBi
cmVhazsKICAgICB9CiAKICAgICByZXR1cm4gZmFsc2U7CkBAIC00NDksNDIgKzQ0OCw0MiBAQCBi
b29sIFJlbmRlclRoZW1lOjpwYWludERlY29yYXRpb25zKFJlbmRlck9iamVjdCogbywgY29uc3Qg
UGFpbnRJbmZvJiBwYWludEluZm8sCiAKICAgICAvLyBDYWxsIHRoZSBhcHByb3ByaWF0ZSBwYWlu
dCBtZXRob2QgYmFzZWQgb2ZmIHRoZSBhcHBlYXJhbmNlIHZhbHVlLgogICAgIHN3aXRjaCAoby0+
c3R5bGUoKS0+YXBwZWFyYW5jZSgpKSB7Ci0gICAgICAgIGNhc2UgTWVudWxpc3RCdXR0b25QYXJ0
OgotICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVudUxpc3RCdXR0b24obywgcGFpbnRJbmZvLCBy
KTsKLSAgICAgICAgY2FzZSBUZXh0RmllbGRQYXJ0OgotICAgICAgICBjYXNlIFRleHRBcmVhUGFy
dDoKLSAgICAgICAgY2FzZSBMaXN0Ym94UGFydDoKLSAgICAgICAgY2FzZSBDaGVja2JveFBhcnQ6
Ci0gICAgICAgIGNhc2UgUmFkaW9QYXJ0OgotICAgICAgICBjYXNlIFB1c2hCdXR0b25QYXJ0Ogot
ICAgICAgICBjYXNlIFNxdWFyZUJ1dHRvblBhcnQ6Ci0gICAgICAgIGNhc2UgRGVmYXVsdEJ1dHRv
blBhcnQ6Ci0gICAgICAgIGNhc2UgQnV0dG9uUGFydDoKLSAgICAgICAgY2FzZSBNZW51bGlzdFBh
cnQ6CisgICAgY2FzZSBNZW51bGlzdEJ1dHRvblBhcnQ6CisgICAgICAgIHJldHVybiBwYWludE1l
bnVMaXN0QnV0dG9uKG8sIHBhaW50SW5mbywgcik7CisgICAgY2FzZSBUZXh0RmllbGRQYXJ0Ogor
ICAgIGNhc2UgVGV4dEFyZWFQYXJ0OgorICAgIGNhc2UgTGlzdGJveFBhcnQ6CisgICAgY2FzZSBD
aGVja2JveFBhcnQ6CisgICAgY2FzZSBSYWRpb1BhcnQ6CisgICAgY2FzZSBQdXNoQnV0dG9uUGFy
dDoKKyAgICBjYXNlIFNxdWFyZUJ1dHRvblBhcnQ6CisgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFy
dDoKKyAgICBjYXNlIEJ1dHRvblBhcnQ6CisgICAgY2FzZSBNZW51bGlzdFBhcnQ6CiAjaWYgRU5B
QkxFKE1FVEVSX0VMRU1FTlQpCi0gICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgotICAgICAgICBjYXNl
IFJlbGV2YW5jeUxldmVsSW5kaWNhdG9yUGFydDoKLSAgICAgICAgY2FzZSBDb250aW51b3VzQ2Fw
YWNpdHlMZXZlbEluZGljYXRvclBhcnQ6Ci0gICAgICAgIGNhc2UgRGlzY3JldGVDYXBhY2l0eUxl
dmVsSW5kaWNhdG9yUGFydDoKLSAgICAgICAgY2FzZSBSYXRpbmdMZXZlbEluZGljYXRvclBhcnQ6
CisgICAgY2FzZSBNZXRlclBhcnQ6CisgICAgY2FzZSBSZWxldmFuY3lMZXZlbEluZGljYXRvclBh
cnQ6CisgICAgY2FzZSBDb250aW51b3VzQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6CisgICAg
Y2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRpY2F0b3JQYXJ0OgorICAgIGNhc2UgUmF0aW5n
TGV2ZWxJbmRpY2F0b3JQYXJ0OgogI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX0VMRU1FTlQp
Ci0gICAgICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0OgorICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0
OgogI2VuZGlmCi0gICAgICAgIGNhc2UgU2xpZGVySG9yaXpvbnRhbFBhcnQ6Ci0gICAgICAgIGNh
c2UgU2xpZGVyVmVydGljYWxQYXJ0OgotICAgICAgICBjYXNlIFNsaWRlclRodW1iSG9yaXpvbnRh
bFBhcnQ6Ci0gICAgICAgIGNhc2UgU2xpZGVyVGh1bWJWZXJ0aWNhbFBhcnQ6Ci0gICAgICAgIGNh
c2UgU2VhcmNoRmllbGRQYXJ0OgotICAgICAgICBjYXNlIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9u
UGFydDoKLSAgICAgICAgY2FzZSBTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgotICAgICAgICBj
YXNlIFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0OgotICAgICAgICBjYXNlIFNlYXJj
aEZpZWxkUmVzdWx0c0J1dHRvblBhcnQ6CisgICAgY2FzZSBTbGlkZXJIb3Jpem9udGFsUGFydDoK
KyAgICBjYXNlIFNsaWRlclZlcnRpY2FsUGFydDoKKyAgICBjYXNlIFNsaWRlclRodW1iSG9yaXpv
bnRhbFBhcnQ6CisgICAgY2FzZSBTbGlkZXJUaHVtYlZlcnRpY2FsUGFydDoKKyAgICBjYXNlIFNl
YXJjaEZpZWxkUGFydDoKKyAgICBjYXNlIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uUGFydDoKKyAg
ICBjYXNlIFNlYXJjaEZpZWxkRGVjb3JhdGlvblBhcnQ6CisgICAgY2FzZSBTZWFyY2hGaWVsZFJl
c3VsdHNEZWNvcmF0aW9uUGFydDoKKyAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblBh
cnQ6CiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKLSAgICAgICAgY2FzZSBJbnB1dFNwZWVjaEJ1
dHRvblBhcnQ6CisgICAgY2FzZSBJbnB1dFNwZWVjaEJ1dHRvblBhcnQ6CiAjZW5kaWYKLSAgICAg
ICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGJy
ZWFrOwogICAgIH0KIAogICAgIHJldHVybiBmYWxzZTsKQEAgLTY1MywzMiArNjUyLDMxIEBAIGJv
b2wgUmVuZGVyVGhlbWU6OmlzQ29udHJvbENvbnRhaW5lcihDb250cm9sUGFydCBhcHBlYXJhbmNl
KSBjb25zdAogICAgIHJldHVybiBhcHBlYXJhbmNlICE9IENoZWNrYm94UGFydCAmJiBhcHBlYXJh
bmNlICE9IFJhZGlvUGFydDsKIH0KIAotYm9vbCBSZW5kZXJUaGVtZTo6aXNDb250cm9sU3R5bGVk
KGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgQm9yZGVyRGF0YSYgYm9yZGVyLCBjb25z
dCBGaWxsTGF5ZXImIGJhY2tncm91bmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvcikgY29uc3QKK2Jvb2wgUmVuZGVyVGhlbWU6
OmlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJvcmRlckRh
dGEmIGJvcmRlciwgY29uc3QgRmlsbExheWVyJiBiYWNrZ3JvdW5kLCBjb25zdCBDb2xvciYgYmFj
a2dyb3VuZENvbG9yKSBjb25zdAogewogICAgIHN3aXRjaCAoc3R5bGUtPmFwcGVhcmFuY2UoKSkg
ewotICAgICAgICBjYXNlIFB1c2hCdXR0b25QYXJ0OgotICAgICAgICBjYXNlIFNxdWFyZUJ1dHRv
blBhcnQ6Ci0gICAgICAgIGNhc2UgRGVmYXVsdEJ1dHRvblBhcnQ6Ci0gICAgICAgIGNhc2UgQnV0
dG9uUGFydDoKLSAgICAgICAgY2FzZSBMaXN0Ym94UGFydDoKLSAgICAgICAgY2FzZSBNZW51bGlz
dFBhcnQ6Ci0gICAgICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0OgotICAgICAgICBjYXNlIE1ldGVy
UGFydDoKLSAgICAgICAgY2FzZSBSZWxldmFuY3lMZXZlbEluZGljYXRvclBhcnQ6Ci0gICAgICAg
IGNhc2UgQ29udGludW91c0NhcGFjaXR5TGV2ZWxJbmRpY2F0b3JQYXJ0OgotICAgICAgICBjYXNl
IERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6Ci0gICAgICAgIGNhc2UgUmF0aW5n
TGV2ZWxJbmRpY2F0b3JQYXJ0OgotICAgICAgICAvLyBGSVhNRTogVW5jb21tZW50IHRoaXMgd2hl
biBtYWtpbmcgc2VhcmNoIGZpZWxkcyBzdHlsZS1hYmxlLgotICAgICAgICAvLyBjYXNlIFNlYXJj
aEZpZWxkUGFydDoKLSAgICAgICAgY2FzZSBUZXh0RmllbGRQYXJ0OgotICAgICAgICBjYXNlIFRl
eHRBcmVhUGFydDoKLSAgICAgICAgICAgIC8vIFRlc3QgdGhlIHN0eWxlIHRvIHNlZSBpZiB0aGUg
VUEgYm9yZGVyIGFuZCBiYWNrZ3JvdW5kIG1hdGNoLgotICAgICAgICAgICAgcmV0dXJuIChzdHls
ZS0+Ym9yZGVyKCkgIT0gYm9yZGVyIHx8Ci0gICAgICAgICAgICAgICAgICAgICpzdHlsZS0+YmFj
a2dyb3VuZExheWVycygpICE9IGJhY2tncm91bmQgfHwKLSAgICAgICAgICAgICAgICAgICAgc3R5
bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcikgIT0g
YmFja2dyb3VuZENvbG9yKTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBjYXNlIFB1c2hCdXR0b25QYXJ0OgorICAgIGNhc2UgU3F1YXJlQnV0dG9uUGFy
dDoKKyAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgorICAgIGNhc2UgQnV0dG9uUGFydDoKKyAg
ICBjYXNlIExpc3Rib3hQYXJ0OgorICAgIGNhc2UgTWVudWxpc3RQYXJ0OgorICAgIGNhc2UgUHJv
Z3Jlc3NCYXJQYXJ0OgorICAgIGNhc2UgTWV0ZXJQYXJ0OgorICAgIGNhc2UgUmVsZXZhbmN5TGV2
ZWxJbmRpY2F0b3JQYXJ0OgorICAgIGNhc2UgQ29udGludW91c0NhcGFjaXR5TGV2ZWxJbmRpY2F0
b3JQYXJ0OgorICAgIGNhc2UgRGlzY3JldGVDYXBhY2l0eUxldmVsSW5kaWNhdG9yUGFydDoKKyAg
ICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDoKKyAgICAvLyBGSVhNRTogVW5jb21tZW50
IHRoaXMgd2hlbiBtYWtpbmcgc2VhcmNoIGZpZWxkcyBzdHlsZS1hYmxlLgorICAgIC8vIGNhc2Ug
U2VhcmNoRmllbGRQYXJ0OgorICAgIGNhc2UgVGV4dEZpZWxkUGFydDoKKyAgICBjYXNlIFRleHRB
cmVhUGFydDoKKyAgICAgICAgLy8gVGVzdCB0aGUgc3R5bGUgdG8gc2VlIGlmIHRoZSBVQSBib3Jk
ZXIgYW5kIGJhY2tncm91bmQgbWF0Y2guCisgICAgICAgIHJldHVybiAoc3R5bGUtPmJvcmRlcigp
ICE9IGJvcmRlcgorICAgICAgICAgICAgfHwgKnN0eWxlLT5iYWNrZ3JvdW5kTGF5ZXJzKCkgIT0g
YmFja2dyb3VuZAorICAgICAgICAgICAgfHwgc3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihD
U1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcikgIT0gYmFja2dyb3VuZENvbG9yKTsKKyAgICBkZWZh
dWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogfQogCkBAIC05MDIsOCArOTAwLDkg
QEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0UmFkaW9TdHlsZShTdHlsZVJlc29sdmVyKiwgUmVu
ZGVyU3R5bGUqIHN0eWxlLCBFbGVtZW50KikKIAogdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0QnV0
dG9uU3R5bGUoU3R5bGVSZXNvbHZlciosIFJlbmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCopIGNv
bnN0CiB7Ci0gICAgLy8gTW9zdCBwbGF0Zm9ybXMgd2lsbCBjb21wbGV0ZWx5IGhvbm9yIGFsbCBD
U1MsIGFuZCBzbyB3ZSBoYXZlIG5vIG5lZWQgdG8gYWRqdXN0IHRoZSBzdHlsZQotICAgIC8vIGF0
IGFsbCBieSBkZWZhdWx0LiAgV2Ugd2lsbCBzdGlsbCBhbGxvdyB0aGUgdGhlbWUgYSBjcmFjayBh
dCBzZXR0aW5nIHVwIGEgZGVzaXJlZCB2ZXJ0aWNhbCBzaXplLgorICAgIC8vIE1vc3QgcGxhdGZv
cm1zIHdpbGwgY29tcGxldGVseSBob25vciBhbGwgQ1NTLCBhbmQgc28gd2UgaGF2ZSBubyBuZWVk
IHRvCisgICAgLy8gYWRqdXN0IHRoZSBzdHlsZSBhdCBhbGwgYnkgZGVmYXVsdC4gV2Ugd2lsbCBz
dGlsbCBhbGxvdyB0aGUgdGhlbWUgYSBjcmFjaworICAgIC8vIGF0IHNldHRpbmcgdXAgYSBkZXNp
cmVkIHZlcnRpY2FsIHNpemUuCiAgICAgc2V0QnV0dG9uU2l6ZShzdHlsZSk7CiB9CiAKQEAgLTEx
MjgsNjQgKzExMjcsNjQgQEAgdm9pZCBSZW5kZXJUaGVtZTo6cGxhdGZvcm1Db2xvcnNEaWRDaGFu
Z2UoKQogQ29sb3IgUmVuZGVyVGhlbWU6OnN5c3RlbUNvbG9yKGludCBjc3NWYWx1ZUlkKSBjb25z
dAogewogICAgIHN3aXRjaCAoY3NzVmFsdWVJZCkgewotICAgICAgICBjYXNlIENTU1ZhbHVlQWN0
aXZlYm9yZGVyOgotICAgICAgICAgICAgcmV0dXJuIDB4RkZGRkZGRkY7Ci0gICAgICAgIGNhc2Ug
Q1NTVmFsdWVBY3RpdmVjYXB0aW9uOgotICAgICAgICAgICAgcmV0dXJuIDB4RkZDQ0NDQ0M7Ci0g
ICAgICAgIGNhc2UgQ1NTVmFsdWVBcHB3b3Jrc3BhY2U6Ci0gICAgICAgICAgICByZXR1cm4gMHhG
RkZGRkZGRjsKLSAgICAgICAgY2FzZSBDU1NWYWx1ZUJhY2tncm91bmQ6Ci0gICAgICAgICAgICBy
ZXR1cm4gMHhGRjYzNjNDRTsKLSAgICAgICAgY2FzZSBDU1NWYWx1ZUJ1dHRvbmZhY2U6Ci0gICAg
ICAgICAgICByZXR1cm4gMHhGRkMwQzBDMDsKLSAgICAgICAgY2FzZSBDU1NWYWx1ZUJ1dHRvbmhp
Z2hsaWdodDoKLSAgICAgICAgICAgIHJldHVybiAweEZGREREREREOwotICAgICAgICBjYXNlIENT
U1ZhbHVlQnV0dG9uc2hhZG93OgotICAgICAgICAgICAgcmV0dXJuIDB4RkY4ODg4ODg7Ci0gICAg
ICAgIGNhc2UgQ1NTVmFsdWVCdXR0b250ZXh0OgotICAgICAgICAgICAgcmV0dXJuIDB4RkYwMDAw
MDA7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVDYXB0aW9udGV4dDoKLSAgICAgICAgICAgIHJldHVy
biAweEZGMDAwMDAwOwotICAgICAgICBjYXNlIENTU1ZhbHVlR3JheXRleHQ6Ci0gICAgICAgICAg
ICByZXR1cm4gMHhGRjgwODA4MDsKLSAgICAgICAgY2FzZSBDU1NWYWx1ZUhpZ2hsaWdodDoKLSAg
ICAgICAgICAgIHJldHVybiAweEZGQjVENUZGOwotICAgICAgICBjYXNlIENTU1ZhbHVlSGlnaGxp
Z2h0dGV4dDoKLSAgICAgICAgICAgIHJldHVybiAweEZGMDAwMDAwOwotICAgICAgICBjYXNlIENT
U1ZhbHVlSW5hY3RpdmVib3JkZXI6Ci0gICAgICAgICAgICByZXR1cm4gMHhGRkZGRkZGRjsKLSAg
ICAgICAgY2FzZSBDU1NWYWx1ZUluYWN0aXZlY2FwdGlvbjoKLSAgICAgICAgICAgIHJldHVybiAw
eEZGRkZGRkZGOwotICAgICAgICBjYXNlIENTU1ZhbHVlSW5hY3RpdmVjYXB0aW9udGV4dDoKLSAg
ICAgICAgICAgIHJldHVybiAweEZGN0Y3RjdGOwotICAgICAgICBjYXNlIENTU1ZhbHVlSW5mb2Jh
Y2tncm91bmQ6Ci0gICAgICAgICAgICByZXR1cm4gMHhGRkZCRkNDNTsKLSAgICAgICAgY2FzZSBD
U1NWYWx1ZUluZm90ZXh0OgotICAgICAgICAgICAgcmV0dXJuIDB4RkYwMDAwMDA7Ci0gICAgICAg
IGNhc2UgQ1NTVmFsdWVNZW51OgotICAgICAgICAgICAgcmV0dXJuIDB4RkZDMEMwQzA7Ci0gICAg
ICAgIGNhc2UgQ1NTVmFsdWVNZW51dGV4dDoKLSAgICAgICAgICAgIHJldHVybiAweEZGMDAwMDAw
OwotICAgICAgICBjYXNlIENTU1ZhbHVlU2Nyb2xsYmFyOgotICAgICAgICAgICAgcmV0dXJuIDB4
RkZGRkZGRkY7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVUZXh0OgotICAgICAgICAgICAgcmV0dXJu
IDB4RkYwMDAwMDA7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVUaHJlZWRkYXJrc2hhZG93OgotICAg
ICAgICAgICAgcmV0dXJuIDB4RkY2NjY2NjY7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVUaHJlZWRm
YWNlOgotICAgICAgICAgICAgcmV0dXJuIDB4RkZDMEMwQzA7Ci0gICAgICAgIGNhc2UgQ1NTVmFs
dWVUaHJlZWRoaWdobGlnaHQ6Ci0gICAgICAgICAgICByZXR1cm4gMHhGRkRERERERDsKLSAgICAg
ICAgY2FzZSBDU1NWYWx1ZVRocmVlZGxpZ2h0c2hhZG93OgotICAgICAgICAgICAgcmV0dXJuIDB4
RkZDMEMwQzA7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVUaHJlZWRzaGFkb3c6Ci0gICAgICAgICAg
ICByZXR1cm4gMHhGRjg4ODg4ODsKLSAgICAgICAgY2FzZSBDU1NWYWx1ZVdpbmRvdzoKLSAgICAg
ICAgICAgIHJldHVybiAweEZGRkZGRkZGOwotICAgICAgICBjYXNlIENTU1ZhbHVlV2luZG93ZnJh
bWU6Ci0gICAgICAgICAgICByZXR1cm4gMHhGRkNDQ0NDQzsKLSAgICAgICAgY2FzZSBDU1NWYWx1
ZVdpbmRvd3RleHQ6Ci0gICAgICAgICAgICByZXR1cm4gMHhGRjAwMDAwMDsKKyAgICBjYXNlIENT
U1ZhbHVlQWN0aXZlYm9yZGVyOgorICAgICAgICByZXR1cm4gMHhGRkZGRkZGRjsKKyAgICBjYXNl
IENTU1ZhbHVlQWN0aXZlY2FwdGlvbjoKKyAgICAgICAgcmV0dXJuIDB4RkZDQ0NDQ0M7CisgICAg
Y2FzZSBDU1NWYWx1ZUFwcHdvcmtzcGFjZToKKyAgICAgICAgcmV0dXJuIDB4RkZGRkZGRkY7Cisg
ICAgY2FzZSBDU1NWYWx1ZUJhY2tncm91bmQ6CisgICAgICAgIHJldHVybiAweEZGNjM2M0NFOwor
ICAgIGNhc2UgQ1NTVmFsdWVCdXR0b25mYWNlOgorICAgICAgICByZXR1cm4gMHhGRkMwQzBDMDsK
KyAgICBjYXNlIENTU1ZhbHVlQnV0dG9uaGlnaGxpZ2h0OgorICAgICAgICByZXR1cm4gMHhGRkRE
RERERDsKKyAgICBjYXNlIENTU1ZhbHVlQnV0dG9uc2hhZG93OgorICAgICAgICByZXR1cm4gMHhG
Rjg4ODg4ODsKKyAgICBjYXNlIENTU1ZhbHVlQnV0dG9udGV4dDoKKyAgICAgICAgcmV0dXJuIDB4
RkYwMDAwMDA7CisgICAgY2FzZSBDU1NWYWx1ZUNhcHRpb250ZXh0OgorICAgICAgICByZXR1cm4g
MHhGRjAwMDAwMDsKKyAgICBjYXNlIENTU1ZhbHVlR3JheXRleHQ6CisgICAgICAgIHJldHVybiAw
eEZGODA4MDgwOworICAgIGNhc2UgQ1NTVmFsdWVIaWdobGlnaHQ6CisgICAgICAgIHJldHVybiAw
eEZGQjVENUZGOworICAgIGNhc2UgQ1NTVmFsdWVIaWdobGlnaHR0ZXh0OgorICAgICAgICByZXR1
cm4gMHhGRjAwMDAwMDsKKyAgICBjYXNlIENTU1ZhbHVlSW5hY3RpdmVib3JkZXI6CisgICAgICAg
IHJldHVybiAweEZGRkZGRkZGOworICAgIGNhc2UgQ1NTVmFsdWVJbmFjdGl2ZWNhcHRpb246Cisg
ICAgICAgIHJldHVybiAweEZGRkZGRkZGOworICAgIGNhc2UgQ1NTVmFsdWVJbmFjdGl2ZWNhcHRp
b250ZXh0OgorICAgICAgICByZXR1cm4gMHhGRjdGN0Y3RjsKKyAgICBjYXNlIENTU1ZhbHVlSW5m
b2JhY2tncm91bmQ6CisgICAgICAgIHJldHVybiAweEZGRkJGQ0M1OworICAgIGNhc2UgQ1NTVmFs
dWVJbmZvdGV4dDoKKyAgICAgICAgcmV0dXJuIDB4RkYwMDAwMDA7CisgICAgY2FzZSBDU1NWYWx1
ZU1lbnU6CisgICAgICAgIHJldHVybiAweEZGQzBDMEMwOworICAgIGNhc2UgQ1NTVmFsdWVNZW51
dGV4dDoKKyAgICAgICAgcmV0dXJuIDB4RkYwMDAwMDA7CisgICAgY2FzZSBDU1NWYWx1ZVNjcm9s
bGJhcjoKKyAgICAgICAgcmV0dXJuIDB4RkZGRkZGRkY7CisgICAgY2FzZSBDU1NWYWx1ZVRleHQ6
CisgICAgICAgIHJldHVybiAweEZGMDAwMDAwOworICAgIGNhc2UgQ1NTVmFsdWVUaHJlZWRkYXJr
c2hhZG93OgorICAgICAgICByZXR1cm4gMHhGRjY2NjY2NjsKKyAgICBjYXNlIENTU1ZhbHVlVGhy
ZWVkZmFjZToKKyAgICAgICAgcmV0dXJuIDB4RkZDMEMwQzA7CisgICAgY2FzZSBDU1NWYWx1ZVRo
cmVlZGhpZ2hsaWdodDoKKyAgICAgICAgcmV0dXJuIDB4RkZEREREREQ7CisgICAgY2FzZSBDU1NW
YWx1ZVRocmVlZGxpZ2h0c2hhZG93OgorICAgICAgICByZXR1cm4gMHhGRkMwQzBDMDsKKyAgICBj
YXNlIENTU1ZhbHVlVGhyZWVkc2hhZG93OgorICAgICAgICByZXR1cm4gMHhGRjg4ODg4ODsKKyAg
ICBjYXNlIENTU1ZhbHVlV2luZG93OgorICAgICAgICByZXR1cm4gMHhGRkZGRkZGRjsKKyAgICBj
YXNlIENTU1ZhbHVlV2luZG93ZnJhbWU6CisgICAgICAgIHJldHVybiAweEZGQ0NDQ0NDOworICAg
IGNhc2UgQ1NTVmFsdWVXaW5kb3d0ZXh0OgorICAgICAgICByZXR1cm4gMHhGRjAwMDAwMDsKICAg
ICB9CiAgICAgcmV0dXJuIENvbG9yKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uaAppbmRleCBiZjMzNWM3YjhjNzYyZDg2ZTU0NGM0
NzRjZDljMGY1MGUzYjM3YjVhLi4xZTAzNTk4ZmEzYmE2NDRmN2ZjZmNhOTI0MzNkYTgxNmZiNjMw
YzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJv
bWl1bVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9t
aXVtV2luLmgKQEAgLTM0LDg5ICszNCw4OSBAQCB0eXBlZGVmIEhJTlNUQU5DRSBITU9EVUxFOwog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBzdHJ1Y3QgVGhlbWVEYXRhIHsKLSAgICAgICAg
VGhlbWVEYXRhKCkgOiBtX3BhcnQoMCksIG1fc3RhdGUoMCksIG1fY2xhc3NpY1N0YXRlKDApIHt9
CitzdHJ1Y3QgVGhlbWVEYXRhIHsKKyAgICBUaGVtZURhdGEoKSA6IG1fcGFydCgwKSwgbV9zdGF0
ZSgwKSwgbV9jbGFzc2ljU3RhdGUoMCkgeyB9CiAKLSAgICAgICAgdW5zaWduZWQgbV9wYXJ0Owot
ICAgICAgICB1bnNpZ25lZCBtX3N0YXRlOwotICAgICAgICB1bnNpZ25lZCBtX2NsYXNzaWNTdGF0
ZTsKLSAgICB9OworICAgIHVuc2lnbmVkIG1fcGFydDsKKyAgICB1bnNpZ25lZCBtX3N0YXRlOwor
ICAgIHVuc2lnbmVkIG1fY2xhc3NpY1N0YXRlOworfTsKIAotICAgIGNsYXNzIFJlbmRlclRoZW1l
Q2hyb21pdW1XaW4gOiBwdWJsaWMgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEgewotICAgIHB1Ymxp
YzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8UmVuZGVyVGhlbWU+IGNyZWF0ZSgpOworY2xh
c3MgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbiA6IHB1YmxpYyBSZW5kZXJUaGVtZUNocm9taXVtU2tp
YSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8UmVuZGVyVGhlbWU+IGNyZWF0ZSgp
OwogCi0gICAgICAgIC8vIEEgbWV0aG9kIGFza2luZyBpZiB0aGUgdGhlbWUgaXMgYWJsZSB0byBk
cmF3IHRoZSBmb2N1cyByaW5nLgotICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGb2N1c1Jp
bmcoY29uc3QgUmVuZGVyU3R5bGUqKSBjb25zdDsKKyAgICAvLyBBIG1ldGhvZCBhc2tpbmcgaWYg
dGhlIHRoZW1lIGlzIGFibGUgdG8gZHJhdyB0aGUgZm9jdXMgcmluZy4KKyAgICB2aXJ0dWFsIGJv
b2wgc3VwcG9ydHNGb2N1c1JpbmcoY29uc3QgUmVuZGVyU3R5bGUqKSBjb25zdCBPVkVSUklERTsK
IAotICAgICAgICAvLyBUaGUgcGxhdGZvcm0gc2VsZWN0aW9uIGNvbG9yLgotICAgICAgICB2aXJ0
dWFsIENvbG9yIHBsYXRmb3JtQWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKCkgY29uc3Q7
Ci0gICAgICAgIHZpcnR1YWwgQ29sb3IgcGxhdGZvcm1JbmFjdGl2ZVNlbGVjdGlvbkJhY2tncm91
bmRDb2xvcigpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtQWN0aXZlU2Vs
ZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgQ29sb3IgcGxh
dGZvcm1JbmFjdGl2ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xvcigpIGNvbnN0OwotICAgICAgICB2
aXJ0dWFsIENvbG9yIHBsYXRmb3JtQWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yKCkgY29u
c3Q7Ci0gICAgICAgIHZpcnR1YWwgQ29sb3IgcGxhdGZvcm1JbmFjdGl2ZVRleHRTZWFyY2hIaWdo
bGlnaHRDb2xvcigpIGNvbnN0OworICAgIC8vIFRoZSBwbGF0Zm9ybSBzZWxlY3Rpb24gY29sb3Iu
CisgICAgdmlydHVhbCBDb2xvciBwbGF0Zm9ybUFjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRDb2xv
cigpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgQ29sb3IgcGxhdGZvcm1JbmFjdGl2ZVNl
bGVjdGlvbkJhY2tncm91bmRDb2xvcigpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgQ29s
b3IgcGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IoKSBjb25zdCBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtSW5hY3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5k
Q29sb3IoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtQWN0aXZl
VGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBD
b2xvciBwbGF0Zm9ybUluYWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yKCkgY29uc3QgT1ZF
UlJJREU7CiAKLSAgICAgICAgdmlydHVhbCBDb2xvciBzeXN0ZW1Db2xvcihpbnQgY3NzVmFsdWVJ
ZCkgY29uc3Q7CisgICAgdmlydHVhbCBDb2xvciBzeXN0ZW1Db2xvcihpbnQgY3NzVmFsdWVJZCkg
Y29uc3QgT1ZFUlJJREU7CiAKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKLSAgICAgICAg
dmlydHVhbCBJbnRTaXplIHNsaWRlclRpY2tTaXplKCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgICAg
IHZpcnR1YWwgaW50IHNsaWRlclRpY2tPZmZzZXRGcm9tVHJhY2tDZW50ZXIoKSBjb25zdCBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIEludFNpemUgc2xpZGVyVGlja1NpemUoKSBjb25zdCBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIGludCBzbGlkZXJUaWNrT2Zmc2V0RnJvbVRyYWNrQ2VudGVyKCkgY29u
c3QgT1ZFUlJJREU7CiAjZW5kaWYKLSAgICAgICAgdmlydHVhbCB2b2lkIGFkanVzdFNsaWRlclRo
dW1iU2l6ZShSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKLQotICAgICAgICAvLyBWYXJp
b3VzIHBhaW50IGZ1bmN0aW9ucy4KLSAgICAgICAgdmlydHVhbCBib29sIHBhaW50Q2hlY2tib3go
UmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwotICAgICAg
ICB2aXJ0dWFsIGJvb2wgcGFpbnRSYWRpbyhSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8m
LCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBwYWludEJ1dHRvbihSZW5k
ZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgICAgIHZp
cnR1YWwgYm9vbCBwYWludFRleHRGaWVsZChSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8m
LCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBwYWludFNsaWRlclRyYWNr
KFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKLSAgICAg
ICAgdmlydHVhbCBib29sIHBhaW50U2xpZGVyVGh1bWIoUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFp
bnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwotCi0gICAgICAgIC8vIE1lbnVMaXN0IHJlZmVycyB0
byBhbiB1bnN0eWxlZCBtZW51bGlzdCAobWVhbmluZyBhIG1lbnVsaXN0IHdpdGhvdXQKLSAgICAg
ICAgLy8gYmFja2dyb3VuZC1jb2xvciBvciBib3JkZXIgc2V0KSBhbmQgTWVudUxpc3RCdXR0b24g
cmVmZXJzIHRvIGEgc3R5bGVkCi0gICAgICAgIC8vIG1lbnVsaXN0IChhIG1lbnVsaXN0IHdpdGgg
YmFja2dyb3VuZC1jb2xvciBvciBib3JkZXIgc2V0KS4gVGhleSBoYXZlCi0gICAgICAgIC8vIHRo
aXMgZGlzdGluY3Rpb24gdG8gc3VwcG9ydCBzaG93aW5nIGFxdWEgc3R5bGUgdGhlbWVzIHdoZW5l
dmVyIHRoZXkKLSAgICAgICAgLy8gcG9zc2libHkgY2FuLCB3aGljaCBpcyBzb21ldGhpbmcgd2Ug
ZG9uJ3Qgd2FudCB0byByZXBsaWNhdGUuCi0gICAgICAgIC8vCi0gICAgICAgIC8vIEluIHNob3J0
LCB3ZSBlaXRoZXIgZ28gZG93biB0aGUgTWVudUxpc3QgY29kZSBwYXRoIG9yIHRoZSBNZW51TGlz
dEJ1dHRvbgotICAgICAgICAvLyBjb2RlcGF0aC4gV2UgbmV2ZXIgZ28gZG93biBib3RoLiBBbmQg
aW4gYm90aCBjYXNlcywgdGhleSByZW5kZXIgdGhlCi0gICAgICAgIC8vIGVudGlyZSBtZW51bGlz
dC4KLSAgICAgICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3QoUmVuZGVyT2JqZWN0KiwgY29u
c3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBh
ZGp1c3RJbm5lclNwaW5CdXR0b25TdHlsZShTdHlsZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBF
bGVtZW50KikgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBwYWludElubmVyU3BpbkJ1dHRv
bihSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CisgICAg
dmlydHVhbCB2b2lkIGFkanVzdFNsaWRlclRodW1iU2l6ZShSZW5kZXJTdHlsZSosIEVsZW1lbnQq
KSBjb25zdCBPVkVSUklERTsKKworICAgIC8vIFZhcmlvdXMgcGFpbnQgZnVuY3Rpb25zLgorICAg
IHZpcnR1YWwgYm9vbCBwYWludENoZWNrYm94KFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5m
byYsIGNvbnN0IEludFJlY3QmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRSYWRp
byhSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCBib29sIHBhaW50QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFBh
aW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgcGFp
bnRUZXh0RmllbGQoUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVj
dCYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBwYWludFNsaWRlclRyYWNrKFJlbmRlck9i
amVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIGJvb2wgcGFpbnRTbGlkZXJUaHVtYihSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludElu
Zm8mLCBjb25zdCBJbnRSZWN0JikgT1ZFUlJJREU7CisKKyAgICAvLyBNZW51TGlzdCByZWZlcnMg
dG8gYW4gdW5zdHlsZWQgbWVudWxpc3QgKG1lYW5pbmcgYSBtZW51bGlzdCB3aXRob3V0CisgICAg
Ly8gYmFja2dyb3VuZC1jb2xvciBvciBib3JkZXIgc2V0KSBhbmQgTWVudUxpc3RCdXR0b24gcmVm
ZXJzIHRvIGEgc3R5bGVkCisgICAgLy8gbWVudWxpc3QgKGEgbWVudWxpc3Qgd2l0aCBiYWNrZ3Jv
dW5kLWNvbG9yIG9yIGJvcmRlciBzZXQpLiBUaGV5IGhhdmUKKyAgICAvLyB0aGlzIGRpc3RpbmN0
aW9uIHRvIHN1cHBvcnQgc2hvd2luZyBhcXVhIHN0eWxlIHRoZW1lcyB3aGVuZXZlciB0aGV5Cisg
ICAgLy8gcG9zc2libHkgY2FuLCB3aGljaCBpcyBzb21ldGhpbmcgd2UgZG9uJ3Qgd2FudCB0byBy
ZXBsaWNhdGUuCisgICAgLy8KKyAgICAvLyBJbiBzaG9ydCwgd2UgZWl0aGVyIGdvIGRvd24gdGhl
IE1lbnVMaXN0IGNvZGUgcGF0aCBvciB0aGUgTWVudUxpc3RCdXR0b24KKyAgICAvLyBjb2RlcGF0
aC4gV2UgbmV2ZXIgZ28gZG93biBib3RoLiBBbmQgaW4gYm90aCBjYXNlcywgdGhleSByZW5kZXIg
dGhlCisgICAgLy8gZW50aXJlIG1lbnVsaXN0LgorICAgIHZpcnR1YWwgYm9vbCBwYWludE1lbnVM
aXN0KFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBPVkVS
UklERTsKKworICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RJbm5lclNwaW5CdXR0b25TdHlsZShTdHls
ZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3QgT1ZFUlJJREU7CisgICAg
dmlydHVhbCBib29sIHBhaW50SW5uZXJTcGluQnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFBh
aW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBPVkVSUklERTsKIAogI2lmIEVOQUJMRShQUk9HUkVT
U19FTEVNRU5UKQotICAgICAgICB2aXJ0dWFsIGRvdWJsZSBhbmltYXRpb25SZXBlYXRJbnRlcnZh
bEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzKikgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwg
ZG91YmxlIGFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MqKSBj
b25zdDsKLSAgICAgICAgdmlydHVhbCB2b2lkIGFkanVzdFByb2dyZXNzQmFyU3R5bGUoU3R5bGVS
ZXNvbHZlciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwotICAgICAgICB2aXJ0dWFs
IGJvb2wgcGFpbnRQcm9ncmVzc0JhcihSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBj
b25zdCBJbnRSZWN0Jik7CisgICAgdmlydHVhbCBkb3VibGUgYW5pbWF0aW9uUmVwZWF0SW50ZXJ2
YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyopIGNvbnN0IE9WRVJSSURFOworICAgIHZp
cnR1YWwgZG91YmxlIGFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jl
c3MqKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UHJvZ3Jlc3NCYXJT
dHlsZShTdHlsZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3QgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCBib29sIHBhaW50UHJvZ3Jlc3NCYXIoUmVuZGVyT2JqZWN0KiwgY29u
c3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIE9WRVJSSURFOwogI2VuZGlmCiAKLSAgICAg
ICAgdmlydHVhbCBib29sIHNob3VsZE9wZW5QaWNrZXJXaXRoRjRLZXkoKSBjb25zdCBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkT3BlblBpY2tlcldpdGhGNEtleSgpIGNvbnN0IE9W
RVJSSURFOwogCi0gICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJs
aW5rSW50ZXJ2YWxJbnRlcm5hbCgpIGNvbnN0OworcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgZG91
YmxlIGNhcmV0QmxpbmtJbnRlcnZhbEludGVybmFsKCkgY29uc3QgT1ZFUlJJREU7CiAKLSAgICBw
cml2YXRlOgotICAgICAgICBlbnVtIENvbnRyb2xTdWJQYXJ0IHsKLSAgICAgICAgICAgIE5vbmUs
Ci0gICAgICAgICAgICBTcGluQnV0dG9uRG93biwKLSAgICAgICAgICAgIFNwaW5CdXR0b25VcCwK
LSAgICAgICAgfTsKK3ByaXZhdGU6CisgICAgZW51bSBDb250cm9sU3ViUGFydCB7CisgICAgICAg
IE5vbmUsCisgICAgICAgIFNwaW5CdXR0b25Eb3duLAorICAgICAgICBTcGluQnV0dG9uVXAsCisg
ICAgfTsKIAotICAgICAgICBSZW5kZXJUaGVtZUNocm9taXVtV2luKCkgeyB9Ci0gICAgICAgIHZp
cnR1YWwgflJlbmRlclRoZW1lQ2hyb21pdW1XaW4oKSB7IH0KKyAgICBSZW5kZXJUaGVtZUNocm9t
aXVtV2luKCkgeyB9CisgICAgdmlydHVhbCB+UmVuZGVyVGhlbWVDaHJvbWl1bVdpbigpIHsgfQog
Ci0gICAgICAgIHVuc2lnbmVkIGRldGVybWluZVN0YXRlKFJlbmRlck9iamVjdCosIENvbnRyb2xT
dWJQYXJ0ID0gTm9uZSk7Ci0gICAgICAgIHVuc2lnbmVkIGRldGVybWluZVNsaWRlclRodW1iU3Rh
dGUoUmVuZGVyT2JqZWN0Kik7Ci0gICAgICAgIHVuc2lnbmVkIGRldGVybWluZUNsYXNzaWNTdGF0
ZShSZW5kZXJPYmplY3QqLCBDb250cm9sU3ViUGFydCA9IE5vbmUpOworICAgIHVuc2lnbmVkIGRl
dGVybWluZVN0YXRlKFJlbmRlck9iamVjdCosIENvbnRyb2xTdWJQYXJ0ID0gTm9uZSk7CisgICAg
dW5zaWduZWQgZGV0ZXJtaW5lU2xpZGVyVGh1bWJTdGF0ZShSZW5kZXJPYmplY3QqKTsKKyAgICB1
bnNpZ25lZCBkZXRlcm1pbmVDbGFzc2ljU3RhdGUoUmVuZGVyT2JqZWN0KiwgQ29udHJvbFN1YlBh
cnQgPSBOb25lKTsKIAotICAgICAgICBUaGVtZURhdGEgZ2V0VGhlbWVEYXRhKFJlbmRlck9iamVj
dCosIENvbnRyb2xTdWJQYXJ0ID0gTm9uZSk7CisgICAgVGhlbWVEYXRhIGdldFRoZW1lRGF0YShS
ZW5kZXJPYmplY3QqLCBDb250cm9sU3ViUGFydCA9IE5vbmUpOwogCi0gICAgICAgIGJvb2wgcGFp
bnRUZXh0RmllbGRJbnRlcm5hbChSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25z
dCBJbnRSZWN0JiwgYm9vbCk7Ci0gICAgfTsKKyAgICBib29sIHBhaW50VGV4dEZpZWxkSW50ZXJu
YWwoUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYsIGJvb2wp
OworfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCg==
</data>
<flag name="review"
          id="206651"
          type_id="1"
          status="+"
          setter="haraken"
    />
          </attachment>
      

    </bug>

</bugzilla>