<?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>233402</bug_id>
          
          <creation_ts>2021-11-20 16:02:12 -0800</creation_ts>
          <short_desc>[LFC][IFC] Add support for caching bidi InlineTextItem widths</short_desc>
          <delta_ts>2021-11-21 12:44:21 -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>Layout and Rendering</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1817154</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-11-20 16:02:12 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817158</commentid>
    <comment_count>1</comment_count>
      <attachid>444909</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-11-20 16:19:02 -0800</bug_when>
    <thetext>Created attachment 444909
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817195</commentid>
    <comment_count>2</comment_count>
      <attachid>444928</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-11-21 10:11:07 -0800</bug_when>
    <thetext>Created attachment 444928
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817205</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-21 12:43:08 -0800</bug_when>
    <thetext>Committed r286104 (244491@main): &lt;https://commits.webkit.org/244491@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444928.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817206</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-21 12:44:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/85649116&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444909</attachid>
            <date>2021-11-20 16:19:02 -0800</date>
            <delta_ts>2021-11-21 10:11:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233402-20211120161901.patch</filename>
            <type>text/plain</type>
            <size>8610</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzA0NDdjOTVmYmNlOTRi
YmFmODIzZjc5YzZlMDNiOWJkZTZkMTI4Yi4uNzkwZDMwMzA1MGUxYjhjZjE5YWQwM2ZmYmIwMzlm
YjI3MDUxNWM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTExLTIwICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBzdXBw
b3J0IGZvciBjYWNoaW5nIGJpZGkgSW5saW5lVGV4dEl0ZW0gd2lkdGhzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM0MDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMZXQncyBtZWFzdXJlIHRoZSBjYWNo
ZWFibGUgYmlkaSB0ZXh0IGNvbnRlbnQgYXMgd2Ugd2FsayB0aGUgYmlkaSByYW5nZXMgb24gdGhl
IHBhcmFncmFwaC4KKworICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUl0ZW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lSXRlbTo6c2V0
V2lkdGgpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUl0ZW1zQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmNhbkNhY2hlTWVh
c3VyZWRXaWR0aE9uSW5saW5lVGV4dEl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJ
bmxpbmVJdGVtc0J1aWxkZXI6OmJyZWFrQW5kQ29tcHV0ZUJpZGlMZXZlbHMpOgorICAgICAgICAq
IGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lVGV4dEl0ZW06OnNwbGl0KToKKyAgICAgICAg
KiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVUZXh0SXRlbS5oOgorCiAy
MDIxLTExLTIwICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZD
XVtJRkNdIEludHJvZHVjZSBjYW5DYWNoZU1lYXN1cmVkV2lkdGhPbklubGluZVRleHRJdGVtCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVJdGVtLmgKaW5kZXggYWJlOTE0YTk3NDEzMmNjYzI3Y2FjZWZhZTUzZWE3
MjM2ZmYwMWIxNi4uOGExYjQ0NTMzNmMzZGU1MzFlYzlmNjFjZTRkYzk5ODg5MGNmYWUzZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lSXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUl0ZW0uaApAQCAtNzAsNiArNzAsNyBAQCBwcml2YXRlOgogICAgIGZy
aWVuZCBjbGFzcyBJbmxpbmVJdGVtc0J1aWxkZXI7CiAKICAgICB2b2lkIHNldEJpZGlMZXZlbChV
QmlEaUxldmVsIGJpZGlMZXZlbCkgeyBtX2JpZGlMZXZlbCA9IGJpZGlMZXZlbDsgfQorICAgIHZv
aWQgc2V0V2lkdGgoSW5saW5lTGF5b3V0VW5pdCk7CiAKICAgICBjb25zdCBCb3gqIG1fbGF5b3V0
Qm94IHsgbnVsbHB0ciB9OwogICAgIFR5cGUgbV90eXBlIHsgfTsKQEAgLTk2LDYgKzk3LDEyIEBA
IGlubGluZSBJbmxpbmVJdGVtOjpJbmxpbmVJdGVtKGNvbnN0IEJveCYgbGF5b3V0Qm94LCBUeXBl
IHR5cGUsIFVCaURpTGV2ZWwgYmlkaUxlCiB7CiB9CiAKK2lubGluZSB2b2lkIElubGluZUl0ZW06
OnNldFdpZHRoKElubGluZUxheW91dFVuaXQgd2lkdGgpCit7CisgICAgbV93aWR0aCA9IHdpZHRo
OworICAgIG1faGFzV2lkdGggPSB0cnVlOworfQorCiAjZGVmaW5lIFNQRUNJQUxJWkVfVFlQRV9U
UkFJVFNfSU5MSU5FX0lURU0oVG9WYWx1ZVR5cGVOYW1lLCBwcmVkaWNhdGUpIFwKIFNQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6TGF5b3V0OjpUb1ZhbHVlVHlwZU5hbWUpIFwK
ICAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVJdGVt
JiBpbmxpbmVJdGVtKSB7IHJldHVybiBpbmxpbmVJdGVtLnByZWRpY2F0ZTsgfSBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVJdGVtc0J1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lSXRlbXNCdWlsZGVyLmNwcAppbmRleCA1ZTYwYWIzMmNlM2Y3MWRj
NWZmOTM0N2QzNGVhMzQ1MTI3YzlmMTJiLi5mMWI3NTFlMWQ2Y2JjNDJhOTRiMjk1MjIzZDUzOGE2
ZmY0ODJmNjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVJdGVtc0J1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUl0ZW1zQnVpbGRlci5jcHAK
QEAgLTc2LDYgKzc2LDE0IEBAIHN0YXRpYyB1bnNpZ25lZCBtb3ZlVG9OZXh0QnJlYWthYmxlUG9z
aXRpb24odW5zaWduZWQgc3RhcnRQb3NpdGlvbiwgTGF6eUxpbmVCcmVhCiAgICAgcmV0dXJuIHRl
eHRMZW5ndGggLSBzdGFydFBvc2l0aW9uOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgY2FuQ2Fj
aGVNZWFzdXJlZFdpZHRoT25JbmxpbmVUZXh0SXRlbShjb25zdCBJbmxpbmVUZXh0Qm94JiBpbmxp
bmVUZXh0Qm94KQoreworICAgIC8vIEZJWE1FOiBEaXNhYmxlIHdpZHRoIGNhY2hpbmcgZm9yIHBv
c2l0aW9uIGRlcGVuZGVudCBjb250ZW50IG9ubHkuCisgICAgaWYgKCFpbmxpbmVUZXh0Qm94LmNh
blVzZVNpbXBsaWZpZWRDb250ZW50TWVhc3VyaW5nKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICByZXR1cm4gaW5saW5lVGV4dEJveC5zdHlsZSgpLmZvbnRDYXNjYWRlKCkgPT0gaW5saW5l
VGV4dEJveC5maXJzdExpbmVTdHlsZSgpLmZvbnRDYXNjYWRlKCk7Cit9CisKIElubGluZUl0ZW1z
QnVpbGRlcjo6SW5saW5lSXRlbXNCdWlsZGVyKGNvbnN0IENvbnRhaW5lckJveCYgZm9ybWF0dGlu
Z0NvbnRleHRSb290LCBJbmxpbmVGb3JtYXR0aW5nU3RhdGUmIGZvcm1hdHRpbmdTdGF0ZSkKICAg
ICA6IG1fcm9vdChmb3JtYXR0aW5nQ29udGV4dFJvb3QpCiAgICAgLCBtX2Zvcm1hdHRpbmdTdGF0
ZShmb3JtYXR0aW5nU3RhdGUpCkBAIC0zMDIsMTQgKzMxMCwzMiBAQCB2b2lkIElubGluZUl0ZW1z
QnVpbGRlcjo6YnJlYWtBbmRDb21wdXRlQmlkaUxldmVscyhJbmxpbmVJdGVtcyYgaW5saW5lSXRl
bXMpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIC8vIENo
ZWNrIGlmIHRoaXMgdGV4dCBpdGVtIGlzIG9uIGJpZGkgYm91bmRhcnkgYW5kIG5lZWRzIHNwbGl0
dGluZy4KICAgICAgICAgICAgICAgICBhdXRvJiBpbmxpbmVUZXh0SXRlbSA9IGRvd25jYXN0PElu
bGluZVRleHRJdGVtPihpbmxpbmVJdGVtKTsKKyAgICAgICAgICAgICAgICBhdXRvIHdpZHRoID0g
WyZdKGF1dG8gc3RhcnRQb3NpdGlvbiwgYXV0byBsZW5ndGgpIC0+IHN0ZDo6b3B0aW9uYWw8SW5s
aW5lTGF5b3V0VW5pdD4geworICAgICAgICAgICAgICAgICAgICBpZiAoIWNhbkNhY2hlTWVhc3Vy
ZWRXaWR0aE9uSW5saW5lVGV4dEl0ZW0oaW5saW5lVGV4dEl0ZW0uaW5saW5lVGV4dEJveCgpKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgICAgICAgICAgICAg
IHJldHVybiBUZXh0VXRpbDo6d2lkdGgoaW5saW5lVGV4dEl0ZW0sIGlubGluZVRleHRJdGVtLnN0
eWxlKCkuZm9udENhc2NhZGUoKSwgc3RhcnRQb3NpdGlvbiwgc3RhcnRQb3NpdGlvbiArIGxlbmd0
aCwgeyB9KTsKKyAgICAgICAgICAgICAgICB9OworCiAgICAgICAgICAgICAgICAgYXV0byBlbmRQ
b3NpdGlvbiA9ICpvZmZzZXQgKyBpbmxpbmVUZXh0SXRlbS5sZW5ndGgoKTsKICAgICAgICAgICAg
ICAgICBpZiAoZW5kUG9zaXRpb24gPiBiaWRpRW5kKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlu
bGluZUl0ZW1zLmluc2VydChpbmxpbmVJdGVtSW5kZXggKyAxLCBpbmxpbmVUZXh0SXRlbS5zcGxp
dChiaWRpRW5kIC0gKm9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICBhdXRvIGxlZnRTaWRl
U3RhcnQgPSBpbmxpbmVUZXh0SXRlbS5zdGFydCgpOworICAgICAgICAgICAgICAgICAgICBhdXRv
IGxlZnRTaWRlTGVuZ3RoID0gYmlkaUVuZCAtICpvZmZzZXQ7CisgICAgICAgICAgICAgICAgICAg
IGF1dG8gbGVmdFNpZGVXaWR0aCA9IHdpZHRoKGxlZnRTaWRlU3RhcnQsIGxlZnRTaWRlTGVuZ3Ro
KTsKKworICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChsZWZ0U2lkZUxlbmd0aCA8
IGlubGluZVRleHRJdGVtLmxlbmd0aCgpKTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byByaWdo
dFNpZGVXaWR0aCA9IHdpZHRoKGxlZnRTaWRlU3RhcnQgKyBsZWZ0U2lkZUxlbmd0aCwgaW5saW5l
VGV4dEl0ZW0ubGVuZ3RoKCkgLSBsZWZ0U2lkZUxlbmd0aCk7CisgICAgICAgICAgICAgICAgICAg
IGlubGluZUl0ZW1zLmluc2VydChpbmxpbmVJdGVtSW5kZXggKyAxLCBpbmxpbmVUZXh0SXRlbS5z
cGxpdChsZWZ0U2lkZUxlbmd0aCwgbGVmdFNpZGVXaWR0aCwgcmlnaHRTaWRlV2lkdGgpKTsKICAg
ICAgICAgICAgICAgICAgICAgLy8gUmlnaHQgc2lkZSBpcyBnb2luZyB0byBiZSBwcm9jZXNzZWQg
YXQgdGhlIG5leHQgYmlkaSByYW5nZS4KICAgICAgICAgICAgICAgICAgICAgaW5saW5lSXRlbU9m
ZnNldHMuaW5zZXJ0KGlubGluZUl0ZW1JbmRleCArIDEsIGJpZGlFbmQpOwogICAgICAgICAgICAg
ICAgICAgICArK2lubGluZUl0ZW1JbmRleDsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIC8vIFdlIG1heSBoYXZlIGFscmVhZHkg
bWVhc3VyZWQgdGhpcyBpbmxpbmUgdGV4dCBpdGVtIChiaWRpIGNoYXJhY3RlcnMgc2hvd2VkIHVw
IGxhdHRlciBpbiB0aGUgY29udGVudCkuCisgICAgICAgICAgICAgICAgaWYgKCFpbmxpbmVUZXh0
SXRlbS53aWR0aCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gY29sbGFwc2libGVXaGl0
ZXNwYWNlQ29udGVudCA9IGlubGluZVRleHRJdGVtLmlzV2hpdGVzcGFjZSgpICYmICFJbmxpbmVU
ZXh0SXRlbTo6c2hvdWxkUHJlc2VydmVTcGFjZXNBbmRUYWJzKGlubGluZVRleHRJdGVtKTsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKGF1dG8gaW5saW5lVGV4dEl0ZW1XaWR0aCA9IHdpZHRoKGlu
bGluZVRleHRJdGVtLnN0YXJ0KCksIGNvbGxhcHNpYmxlV2hpdGVzcGFjZUNvbnRlbnQgPyAxIDog
aW5saW5lVGV4dEl0ZW0ubGVuZ3RoKCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5l
SXRlbS5zZXRXaWR0aCgqaW5saW5lVGV4dEl0ZW1XaWR0aCk7CisgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgfQogICAgICAgICB9OwogICAgICAgICBzZXRCaWRpTGV2ZWxPblJhbmdlKGVu
ZFBvc2l0aW9uLCBiaWRpTGV2ZWwpOwpAQCAtMzQ5LDE0ICszNzUsNiBAQCB2b2lkIElubGluZUl0
ZW1zQnVpbGRlcjo6YnJlYWtBbmRDb21wdXRlQmlkaUxldmVscyhJbmxpbmVJdGVtcyYgaW5saW5l
SXRlbXMpCiAgICAgc2V0QmlkaUxldmVsRm9yT3BhcXVlSW5saW5lSXRlbXMoKTsKIH0KIAotc3Rh
dGljIGlubGluZSBib29sIGNhbkNhY2hlTWVhc3VyZWRXaWR0aE9uSW5saW5lVGV4dEl0ZW0oY29u
c3QgSW5saW5lVGV4dEJveCYgaW5saW5lVGV4dEJveCkKLXsKLSAgICAvLyBGSVhNRTogRGlzYWJs
ZSB3aWR0aCBjYWNoaW5nIGZvciBwb3NpdGlvbiBkZXBlbmRlbnQgY29udGVudCBvbmx5LgotICAg
IGlmICghaW5saW5lVGV4dEJveC5jYW5Vc2VTaW1wbGlmaWVkQ29udGVudE1lYXN1cmluZygpKQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIGlubGluZVRleHRCb3guc3R5bGUoKS5m
b250Q2FzY2FkZSgpID09IGlubGluZVRleHRCb3guZmlyc3RMaW5lU3R5bGUoKS5mb250Q2FzY2Fk
ZSgpOwotfQotCiB2b2lkIElubGluZUl0ZW1zQnVpbGRlcjo6aGFuZGxlVGV4dENvbnRlbnQoY29u
c3QgSW5saW5lVGV4dEJveCYgaW5saW5lVGV4dEJveCwgSW5saW5lSXRlbXMmIGlubGluZUl0ZW1z
KQogewogICAgIGF1dG8gdGV4dCA9IGlubGluZVRleHRCb3guY29udGVudCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
VGV4dEl0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lVGV4dEl0ZW0uY3BwCmluZGV4IGRlMTVkZDBjYzg3MWI3YjZlNzM3YmY4NmVj
NDY5YzkwMDRlZThkYTMuLjlhMTk2ODk1ZjAwOGI1YmM3NTYxZjE5ODE4NTcyNjIxYjlhOTQyZTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZVRleHRJdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVUZXh0SXRlbS5jcHAKQEAgLTcxLDE0ICs3MSwxNCBA
QCBJbmxpbmVUZXh0SXRlbSBJbmxpbmVUZXh0SXRlbTo6cmlnaHQodW5zaWduZWQgbGVuZ3RoLCBz
dGQ6Om9wdGlvbmFsPElubGluZUxheW91dAogICAgIHJldHVybiB7IGlubGluZVRleHRCb3goKSwg
ZW5kKCkgLSBsZW5ndGgsIGxlbmd0aCwgYmlkaUxldmVsKCksIGhhc1RyYWlsaW5nU29mdEh5cGhl
bigpLCBpc1dvcmRTZXBhcmF0b3IoKSwgd2lkdGgsIG1fdGV4dEl0ZW1UeXBlIH07CiB9CiAKLUlu
bGluZVRleHRJdGVtIElubGluZVRleHRJdGVtOjpzcGxpdChzaXplX3QgbGVmdFNpZGVMZW5ndGgp
CitJbmxpbmVUZXh0SXRlbSBJbmxpbmVUZXh0SXRlbTo6c3BsaXQoc2l6ZV90IGxlZnRTaWRlTGVu
Z3RoLCBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IGxlZnRTaWRlV2lkdGgsIHN0ZDo6
b3B0aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gcmlnaHRTaWRlV2lkdGgpCiB7CiAgICAgUkVMRUFT
RV9BU1NFUlQobGVuZ3RoKCkgPiAxKTsKICAgICBSRUxFQVNFX0FTU0VSVChsZWZ0U2lkZUxlbmd0
aCAmJiBsZWZ0U2lkZUxlbmd0aCA8IGxlbmd0aCgpKTsKLSAgICBhdXRvIHJpZ2h0U2lkZSA9IHJp
Z2h0KGxlbmd0aCgpIC0gbGVmdFNpZGVMZW5ndGgsIHsgfSk7CisgICAgYXV0byByaWdodFNpZGUg
PSByaWdodChsZW5ndGgoKSAtIGxlZnRTaWRlTGVuZ3RoLCByaWdodFNpZGVXaWR0aCk7CiAgICAg
bV9sZW5ndGggPSBsZW5ndGgoKSAtIHJpZ2h0U2lkZS5sZW5ndGgoKTsKLSAgICBtX2hhc1dpZHRo
ID0gZmFsc2U7Ci0gICAgbV93aWR0aCA9IHsgfTsKKyAgICBtX2hhc1dpZHRoID0gbGVmdFNpZGVX
aWR0aC5oYXNfdmFsdWUoKTsKKyAgICBtX3dpZHRoID0gbGVmdFNpZGVXaWR0aC52YWx1ZV9vcigw
LmYpOwogICAgIHJldHVybiByaWdodFNpZGU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVtLmggYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVUZXh0
SXRlbS5oCmluZGV4IDY5MTg0NTcxN2E5MDQzZDlhYzJkODczNjQ3MTU2MjcxMzljYzdjMmQuLjlm
MGY3ZDMzZjBiZjk3ZGNjZDA4NDBhNjhkNDgxYTVlNzQwMWQ2MmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZVRleHRJdGVt
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lVGV4dEl0ZW0uaApAQCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogICAgIGZyaWVuZCBj
bGFzcyBJbmxpbmVJdGVtc0J1aWxkZXI7CiAgICAgdXNpbmcgSW5saW5lSXRlbTo6VGV4dEl0ZW1U
eXBlOwogCi0gICAgSW5saW5lVGV4dEl0ZW0gc3BsaXQoc2l6ZV90IGxlZnRTaWRlTGVuZ3RoKTsK
KyAgICBJbmxpbmVUZXh0SXRlbSBzcGxpdChzaXplX3QgbGVmdFNpZGVMZW5ndGgsIHN0ZDo6b3B0
aW9uYWw8SW5saW5lTGF5b3V0VW5pdD4gbGVmdFNpZGVXaWR0aCwgc3RkOjpvcHRpb25hbDxJbmxp
bmVMYXlvdXRVbml0PiByaWdodFNpZGVXaWR0aCk7CiAKICAgICBJbmxpbmVUZXh0SXRlbShjb25z
dCBJbmxpbmVUZXh0Qm94JiwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkIGxlbmd0aCwgVUJpRGlM
ZXZlbCwgYm9vbCBoYXNUcmFpbGluZ1NvZnRIeXBoZW4sIGJvb2wgaXNXb3JkU2VwYXJhdG9yLCBz
dGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IHdpZHRoLCBUZXh0SXRlbVR5cGUpOwogICAg
IGV4cGxpY2l0IElubGluZVRleHRJdGVtKGNvbnN0IElubGluZVRleHRCb3gmLCBVQmlEaUxldmVs
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444928</attachid>
            <date>2021-11-21 10:11:07 -0800</date>
            <delta_ts>2021-11-21 12:43:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233402-20211121101106.patch</filename>
            <type>text/plain</type>
            <size>9818</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTA3YjMxYmQ2MDNjZTJl
ZWFiYmZjYjliNWJkNzNjOTc4YTEzZTkwZC4uMDk4YTk0NjRhNTliZGZiOTYzMDRkZGU3MTllOTEz
NTAzY2U0NWYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTExLTIxICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBzdXBw
b3J0IGZvciBjYWNoaW5nIGJpZGkgSW5saW5lVGV4dEl0ZW0gd2lkdGhzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM0MDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBMZXQncyBkbyBhICJ0ZXh0IGNvbnRl
bnQgbWVhc3VyZSIgcGFzcyB3aGVuIHRoZSBpbmxpbmUgaXRlbSBib3VuZGFyaWVzIGFyZSBmaW5h
bGl6ZWQgKGluY2x1ZGluZyBiaWRpIHNwbGl0KS4KKworICAgICAgICAqIGxheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUl0ZW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6SW5saW5lSXRlbTo6c2V0V2lkdGgpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUl0ZW1zQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OklubGluZUl0ZW1zQnVpbGRlcjo6YnVpbGQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpJbmxpbmVJdGVtc0J1aWxkZXI6OmNvbXB1dGVJbmxpbmVUZXh0SXRlbVdpZHRocyk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUl0ZW1zQnVpbGRlcjo6aGFuZGxlVGV4dENv
bnRlbnQpOgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUl0ZW1zQnVpbGRlci5oOgorCiAyMDIxLTExLTIxICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIENhY2hlIG1lYXN1cmVkIHdpZHRoIGV2ZW4gaWYg
Y2FuVXNlU2ltcGxpZmllZFRleHRNZWFzdXJpbmcgaXMgZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUl0ZW0uaCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUl0
ZW0uaAppbmRleCBhYmU5MTRhOTc0MTMyY2NjMjdjYWNlZmFlNTNlYTcyMzZmZjAxYjE2Li44YTFi
NDQ1MzM2YzNkZTUzMWVjOWY2MWNlNGRjOTk4ODkwY2ZhZTNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVJdGVtLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
SXRlbS5oCkBAIC03MCw2ICs3MCw3IEBAIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIElubGlu
ZUl0ZW1zQnVpbGRlcjsKIAogICAgIHZvaWQgc2V0QmlkaUxldmVsKFVCaURpTGV2ZWwgYmlkaUxl
dmVsKSB7IG1fYmlkaUxldmVsID0gYmlkaUxldmVsOyB9CisgICAgdm9pZCBzZXRXaWR0aChJbmxp
bmVMYXlvdXRVbml0KTsKIAogICAgIGNvbnN0IEJveCogbV9sYXlvdXRCb3ggeyBudWxscHRyIH07
CiAgICAgVHlwZSBtX3R5cGUgeyB9OwpAQCAtOTYsNiArOTcsMTIgQEAgaW5saW5lIElubGluZUl0
ZW06OklubGluZUl0ZW0oY29uc3QgQm94JiBsYXlvdXRCb3gsIFR5cGUgdHlwZSwgVUJpRGlMZXZl
bCBiaWRpTGUKIHsKIH0KIAoraW5saW5lIHZvaWQgSW5saW5lSXRlbTo6c2V0V2lkdGgoSW5saW5l
TGF5b3V0VW5pdCB3aWR0aCkKK3sKKyAgICBtX3dpZHRoID0gd2lkdGg7CisgICAgbV9oYXNXaWR0
aCA9IHRydWU7Cit9CisKICNkZWZpbmUgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19JTkxJTkVfSVRF
TShUb1ZhbHVlVHlwZU5hbWUsIHByZWRpY2F0ZSkgXAogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19C
RUdJTihXZWJDb3JlOjpMYXlvdXQ6OlRvVmFsdWVUeXBlTmFtZSkgXAogICAgIHN0YXRpYyBib29s
IGlzVHlwZShjb25zdCBXZWJDb3JlOjpMYXlvdXQ6OklubGluZUl0ZW0mIGlubGluZUl0ZW0pIHsg
cmV0dXJuIGlubGluZUl0ZW0ucHJlZGljYXRlOyB9IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUl0ZW1zQnVpbGRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVJdGVtc0J1aWxkZXIuY3BwCmluZGV4IDk0ZjE1ODFlMjMxYTMxYjAxMzlhN2U2MzgwODBlNTAy
ZTg3ZTVlNDkuLjQxZjFiMmY0NTVjOWRiODJiMWU1NzMxMDZhYmQ0Y2MzMTkwZjJjY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZUl0ZW1zQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lSXRlbXNCdWlsZGVyLmNwcApAQCAtODgsNiArODgsNyBA
QCBJbmxpbmVJdGVtcyBJbmxpbmVJdGVtc0J1aWxkZXI6OmJ1aWxkKCkKICAgICBjb2xsZWN0SW5s
aW5lSXRlbXMoaW5saW5lSXRlbXMpOwogICAgIGlmIChoYXNTZWVuQmlkaUNvbnRlbnQoKSkKICAg
ICAgICAgYnJlYWtBbmRDb21wdXRlQmlkaUxldmVscyhpbmxpbmVJdGVtcyk7CisgICAgY29tcHV0
ZUlubGluZVRleHRJdGVtV2lkdGhzKGlubGluZUl0ZW1zKTsKICAgICByZXR1cm4gaW5saW5lSXRl
bXM7CiB9CiAKQEAgLTM2Nyw2ICszNjgsMzIgQEAgc3RhdGljIGlubGluZSBib29sIGNhbkNhY2hl
TWVhc3VyZWRXaWR0aE9uSW5saW5lVGV4dEl0ZW0oY29uc3QgSW5saW5lVGV4dEJveCYgaW4KICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBJbmxpbmVJdGVtc0J1aWxkZXI6OmNvbXB1dGVJbmxp
bmVUZXh0SXRlbVdpZHRocyhJbmxpbmVJdGVtcyYgaW5saW5lSXRlbXMpCit7CisgICAgZm9yIChh
dXRvJiBpbmxpbmVJdGVtIDogaW5saW5lSXRlbXMpIHsKKyAgICAgICAgaWYgKCFpbmxpbmVJdGVt
LmlzVGV4dCgpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgYXV0byYgaW5saW5l
VGV4dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4oaW5saW5lSXRlbSk7CisgICAgICAg
IGF1dG8mIGlubGluZVRleHRCb3ggPSBpbmxpbmVUZXh0SXRlbS5pbmxpbmVUZXh0Qm94KCk7Cisg
ICAgICAgIGF1dG8gc3RhcnQgPSBpbmxpbmVUZXh0SXRlbS5zdGFydCgpOworICAgICAgICBhdXRv
IGxlbmd0aCA9IGlubGluZVRleHRJdGVtLmxlbmd0aCgpOworICAgICAgICBpZiAoIWNhbkNhY2hl
TWVhc3VyZWRXaWR0aE9uSW5saW5lVGV4dEl0ZW0oaW5saW5lVGV4dEJveCwgc3RhcnQsIGxlbmd0
aCwgaW5saW5lVGV4dEl0ZW0uaXNXaGl0ZXNwYWNlKCkpKQorICAgICAgICAgICAgY29udGludWU7
CisKKyAgICAgICAgYXV0byB3aWR0aCA9IFsmXSgpIC0+IHN0ZDo6b3B0aW9uYWw8SW5saW5lTGF5
b3V0VW5pdD4geworICAgICAgICAgICAgYXV0byBzaW5nbGVXaGl0ZVNwYWNlID0gaW5saW5lVGV4
dEl0ZW0uaXNXaGl0ZXNwYWNlKCkgJiYgKCFUZXh0VXRpbDo6c2hvdWxkUHJlc2VydmVTcGFjZXNB
bmRUYWJzKGlubGluZVRleHRCb3gpIHx8IChsZW5ndGggPT0gMSAmJiBpbmxpbmVUZXh0Qm94LmNh
blVzZVNpbXBsaWZpZWRDb250ZW50TWVhc3VyaW5nKCkpKTsKKyAgICAgICAgICAgIGlmIChzaW5n
bGVXaGl0ZVNwYWNlKQorICAgICAgICAgICAgICAgIHJldHVybiBpbmxpbmVUZXh0SXRlbS5zdHls
ZSgpLmZvbnRDYXNjYWRlKCkuc3BhY2VXaWR0aCgpOworICAgICAgICAgICAgaWYgKGxlbmd0aCAm
JiAhaW5saW5lVGV4dEl0ZW0uaXNaZXJvV2lkdGhTcGFjZVNlcGFyYXRvcigpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBUZXh0VXRpbDo6d2lkdGgoaW5saW5lVGV4dEJveCwgaW5saW5lVGV4dEl0
ZW0uc3R5bGUoKS5mb250Q2FzY2FkZSgpLCBzdGFydCwgc3RhcnQgKyBsZW5ndGgsIHsgfSk7Cisg
ICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICB9KCk7CisgICAgICAgIGlmICh3aWR0aCkK
KyAgICAgICAgICAgIGlubGluZVRleHRJdGVtLnNldFdpZHRoKCp3aWR0aCk7CisgICAgfQorfQor
CiB2b2lkIElubGluZUl0ZW1zQnVpbGRlcjo6aGFuZGxlVGV4dENvbnRlbnQoY29uc3QgSW5saW5l
VGV4dEJveCYgaW5saW5lVGV4dEJveCwgSW5saW5lSXRlbXMmIGlubGluZUl0ZW1zKQogewogICAg
IGF1dG8gdGV4dCA9IGlubGluZVRleHRCb3guY29udGVudCgpOwpAQCAtMzc4LDEwICs0MDUsNyBA
QCB2b2lkIElubGluZUl0ZW1zQnVpbGRlcjo6aGFuZGxlVGV4dENvbnRlbnQoY29uc3QgSW5saW5l
VGV4dEJveCYgaW5saW5lVGV4dEJveCwgSQogICAgICAgICBtX2hhc1NlZW5CaWRpQ29udGVudCA9
IHRydWU7CiAKICAgICBhdXRvJiBzdHlsZSA9IGlubGluZVRleHRCb3guc3R5bGUoKTsKLSAgICBh
dXRvJiBmb250Q2FzY2FkZSA9IHN0eWxlLmZvbnRDYXNjYWRlKCk7Ci0gICAgYXV0byB3aGl0ZVNw
YWNlV2lkdGggPSBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IHsgZm9udENhc2NhZGUu
c3BhY2VXaWR0aCgpIH07CiAgICAgYXV0byBzaG91bGRQcmVzZXJ2ZVNwYWNlc0FuZFRhYnMgPSBU
ZXh0VXRpbDo6c2hvdWxkUHJlc2VydmVTcGFjZXNBbmRUYWJzKGlubGluZVRleHRCb3gpOwotICAg
IGF1dG8gd2hpdGVzcGFjZUNvbnRlbnRJc1RyZWF0ZWRBc1NpbmdsZVNwYWNlID0gIXNob3VsZFBy
ZXNlcnZlU3BhY2VzQW5kVGFiczsKICAgICBhdXRvIHNob3VsZFByZXNlcnZlTmV3bGluZSA9IFRl
eHRVdGlsOjpzaG91bGRQcmVzZXJ2ZU5ld2xpbmUoaW5saW5lVGV4dEJveCk7CiAgICAgYXV0byBz
aG91bGRUcmVhdE5vbkJyZWFraW5nU3BhY2VBc1JlZ3VsYXJTcGFjZSA9IHN0eWxlLm5ic3BNb2Rl
KCkgPT0gTkJTUE1vZGU6OlNwYWNlOwogICAgIGF1dG8gbGluZUJyZWFrSXRlcmF0b3IgPSBMYXp5
TGluZUJyZWFrSXRlcmF0b3IgeyB0ZXh0LCBzdHlsZS5jb21wdXRlZExvY2FsZSgpLCBUZXh0VXRp
bDo6bGluZUJyZWFrSXRlcmF0b3JNb2RlKHN0eWxlLmxpbmVCcmVhaygpKSB9OwpAQCAtNDAwLDMw
ICs0MjQsMjAgQEAgdm9pZCBJbmxpbmVJdGVtc0J1aWxkZXI6OmhhbmRsZVRleHRDb250ZW50KGNv
bnN0IElubGluZVRleHRCb3gmIGlubGluZVRleHRCb3gsIEkKICAgICAgICAgICAgIGNvbnRpbnVl
OwogCiAgICAgICAgIGF1dG8gaGFuZGxlV2hpdGVzcGFjZSA9IFsmXSB7Ci0gICAgICAgICAgICBh
dXRvIHN0b3BBdFdvcmRTZXBhcmF0b3JCb3VuZGFyeSA9IHNob3VsZFByZXNlcnZlU3BhY2VzQW5k
VGFicyAmJiBmb250Q2FzY2FkZS53b3JkU3BhY2luZygpOworICAgICAgICAgICAgYXV0byBzdG9w
QXRXb3JkU2VwYXJhdG9yQm91bmRhcnkgPSBzaG91bGRQcmVzZXJ2ZVNwYWNlc0FuZFRhYnMgJiYg
c3R5bGUuZm9udENhc2NhZGUoKS53b3JkU3BhY2luZygpOwogICAgICAgICAgICAgYXV0byB3aGl0
ZXNwYWNlQ29udGVudCA9IG1vdmVUb05leHROb25XaGl0ZXNwYWNlUG9zaXRpb24odGV4dCwgY3Vy
cmVudFBvc2l0aW9uLCBzaG91bGRQcmVzZXJ2ZU5ld2xpbmUsIHNob3VsZFByZXNlcnZlU3BhY2Vz
QW5kVGFicywgc2hvdWxkVHJlYXROb25CcmVha2luZ1NwYWNlQXNSZWd1bGFyU3BhY2UsIHN0b3BB
dFdvcmRTZXBhcmF0b3JCb3VuZGFyeSk7CiAgICAgICAgICAgICBpZiAoIXdoaXRlc3BhY2VDb250
ZW50KQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAgICAgQVNTRVJU
KHdoaXRlc3BhY2VDb250ZW50LT5sZW5ndGgpOwotICAgICAgICAgICAgYXV0byBhcHBlbmRXaGl0
ZXNwYWNlSXRlbSA9IFsmXSAoYXV0byBzdGFydFBvc2l0aW9uLCBhdXRvIGl0ZW1MZW5ndGgpIHsK
LSAgICAgICAgICAgICAgICBhdXRvIHdpZHRoID0gWyZdKCkgLT4gc3RkOjpvcHRpb25hbDxJbmxp
bmVMYXlvdXRVbml0PiB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghY2FuQ2FjaGVNZWFzdXJl
ZFdpZHRoT25JbmxpbmVUZXh0SXRlbShpbmxpbmVUZXh0Qm94LCBzdGFydFBvc2l0aW9uLCBpdGVt
TGVuZ3RoLCB0cnVlKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICh3aGl0ZXNwYWNlQ29udGVudElzVHJlYXRlZEFzU2luZ2xlU3Bh
Y2UgfHwgKGl0ZW1MZW5ndGggPT0gMSAmJiBpbmxpbmVUZXh0Qm94LmNhblVzZVNpbXBsaWZpZWRD
b250ZW50TWVhc3VyaW5nKCkpKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdoaXRl
U3BhY2VXaWR0aDsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRleHRVdGlsOjp3aWR0aChp
bmxpbmVUZXh0Qm94LCBmb250Q2FzY2FkZSwgc3RhcnRQb3NpdGlvbiwgc3RhcnRQb3NpdGlvbiAr
IGl0ZW1MZW5ndGgsIHsgfSk7Ci0gICAgICAgICAgICAgICAgfSgpOwotICAgICAgICAgICAgICAg
IGlubGluZUl0ZW1zLmFwcGVuZChJbmxpbmVUZXh0SXRlbTo6Y3JlYXRlV2hpdGVzcGFjZUl0ZW0o
aW5saW5lVGV4dEJveCwgc3RhcnRQb3NpdGlvbiwgaXRlbUxlbmd0aCwgVUJJRElfREVGQVVMVF9M
VFIsIHdoaXRlc3BhY2VDb250ZW50LT5pc1dvcmRTZXBhcmF0b3IsIHdpZHRoKSk7Ci0gICAgICAg
ICAgICB9OwogICAgICAgICAgICAgaWYgKHN0eWxlLndoaXRlU3BhY2UoKSA9PSBXaGl0ZVNwYWNl
OjpCcmVha1NwYWNlcykgewogICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9jc3MtdGV4dC0zLyN3aGl0ZS1zcGFjZS1waGFzZS0xCiAgICAgICAgICAgICAgICAgLy8gRm9y
IGJyZWFrLXNwYWNlcywgYSBzb2Z0IHdyYXAgb3Bwb3J0dW5pdHkgZXhpc3RzIGFmdGVyIGV2ZXJ5
IHNwYWNlIGFuZCBldmVyeSB0YWIuCiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IGlmIHRoaXMg
dHVybnMgb3V0IHRvIGJlIGEgcGVyZiBoaXQgd2l0aCB0b28gbWFueSBpbmRpdmlkdWFsIHdoaXRl
c3BhY2UgaW5saW5lIGl0ZW1zLCB3ZSBzaG91bGQgdHJhbnNpdGlvbiB0aGlzIGxvZ2ljIHRvIGxp
bmUgYnJlYWtpbmcuCiAgICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB3aGl0
ZXNwYWNlQ29udGVudC0+bGVuZ3RoOyArK2kpCi0gICAgICAgICAgICAgICAgICAgIGFwcGVuZFdo
aXRlc3BhY2VJdGVtKGN1cnJlbnRQb3NpdGlvbiArIGksIDEpOworICAgICAgICAgICAgICAgICAg
ICBpbmxpbmVJdGVtcy5hcHBlbmQoSW5saW5lVGV4dEl0ZW06OmNyZWF0ZVdoaXRlc3BhY2VJdGVt
KGlubGluZVRleHRCb3gsIGN1cnJlbnRQb3NpdGlvbiArIGksIDEsIFVCSURJX0RFRkFVTFRfTFRS
LCB3aGl0ZXNwYWNlQ29udGVudC0+aXNXb3JkU2VwYXJhdG9yLCB7IH0pKTsKICAgICAgICAgICAg
IH0gZWxzZQotICAgICAgICAgICAgICAgIGFwcGVuZFdoaXRlc3BhY2VJdGVtKGN1cnJlbnRQb3Np
dGlvbiwgd2hpdGVzcGFjZUNvbnRlbnQtPmxlbmd0aCk7CisgICAgICAgICAgICAgICAgaW5saW5l
SXRlbXMuYXBwZW5kKElubGluZVRleHRJdGVtOjpjcmVhdGVXaGl0ZXNwYWNlSXRlbShpbmxpbmVU
ZXh0Qm94LCBjdXJyZW50UG9zaXRpb24sIHdoaXRlc3BhY2VDb250ZW50LT5sZW5ndGgsIFVCSURJ
X0RFRkFVTFRfTFRSLCB3aGl0ZXNwYWNlQ29udGVudC0+aXNXb3JkU2VwYXJhdG9yLCB7IH0pKTsK
ICAgICAgICAgICAgIGN1cnJlbnRQb3NpdGlvbiArPSB3aGl0ZXNwYWNlQ29udGVudC0+bGVuZ3Ro
OwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH07CkBAIC00NDYsMTQgKzQ2MCw3
IEBAIHZvaWQgSW5saW5lSXRlbXNCdWlsZGVyOjpoYW5kbGVUZXh0Q29udGVudChjb25zdCBJbmxp
bmVUZXh0Qm94JiBpbmxpbmVUZXh0Qm94LCBJCiAgICAgICAgICAgICAgICAgaGFzVHJhaWxpbmdT
b2Z0SHlwaGVuID0gdGV4dFtlbmRQb3NpdGlvbiAtIDFdID09IHNvZnRIeXBoZW47CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBBU1NFUlRfSU1QTElFUyhzdHlsZS5oeXBoZW5zKCkgPT0gSHlw
aGVuczo6Tm9uZSwgIWhhc1RyYWlsaW5nU29mdEh5cGhlbik7Ci0gICAgICAgICAgICBhdXRvIGxl
bmd0aCA9IGVuZFBvc2l0aW9uIC0gc3RhcnRQb3NpdGlvbjsKLSAgICAgICAgICAgIGF1dG8gdGV4
dFdpZHRoID0gWyZdKCkgLT4gc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiB7Ci0gICAg
ICAgICAgICAgICAgLy8gRGVsYXkgbm9uLXdoaXRlc3BhY2UgY29udGVudCBtZWFzdXJpbmcgdW50
aWwgYWZ0ZXIgYmlkaSBzcGxpdC4KLSAgICAgICAgICAgICAgICBpZiAoaGFzU2VlbkJpZGlDb250
ZW50KCkgfHwgIWNhbkNhY2hlTWVhc3VyZWRXaWR0aE9uSW5saW5lVGV4dEl0ZW0oaW5saW5lVGV4
dEJveCwgc3RhcnRQb3NpdGlvbiwgbGVuZ3RoLCBmYWxzZSkpCi0gICAgICAgICAgICAgICAgICAg
IHJldHVybiB7IH07Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRleHRVdGlsOjp3aWR0aChpbmxp
bmVUZXh0Qm94LCBmb250Q2FzY2FkZSwgc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24sIHsgfSk7
Ci0gICAgICAgICAgICB9KCk7Ci0gICAgICAgICAgICBpbmxpbmVJdGVtcy5hcHBlbmQoSW5saW5l
VGV4dEl0ZW06OmNyZWF0ZU5vbldoaXRlc3BhY2VJdGVtKGlubGluZVRleHRCb3gsIHN0YXJ0UG9z
aXRpb24sIGxlbmd0aCwgVUJJRElfREVGQVVMVF9MVFIsIGhhc1RyYWlsaW5nU29mdEh5cGhlbiwg
dGV4dFdpZHRoKSk7CisgICAgICAgICAgICBpbmxpbmVJdGVtcy5hcHBlbmQoSW5saW5lVGV4dEl0
ZW06OmNyZWF0ZU5vbldoaXRlc3BhY2VJdGVtKGlubGluZVRleHRCb3gsIHN0YXJ0UG9zaXRpb24s
IGVuZFBvc2l0aW9uIC0gc3RhcnRQb3NpdGlvbiwgVUJJRElfREVGQVVMVF9MVFIsIGhhc1RyYWls
aW5nU29mdEh5cGhlbiwgeyB9KSk7CiAgICAgICAgICAgICBjdXJyZW50UG9zaXRpb24gPSBlbmRQ
b3NpdGlvbjsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
SXRlbXNCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVJdGVtc0J1aWxkZXIuaAppbmRleCAwNmNmNGM3MGMxNzE5MDc4MmI2YzUz
ZmZjNjZhMTVhNDYwODg2ZDc2Li45ZGFhYjIwN2U1ZGVjOTgwMjA3ZjFjYzhhNWUyOWVmYmJiMTQ2
MzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVJdGVtc0J1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVJdGVtc0J1aWxkZXIuaApAQCAtNDMsNiAr
NDMsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZvaWQgY29sbGVjdElubGluZUl0ZW1zKElu
bGluZUl0ZW1zJik7CiAgICAgdm9pZCBicmVha0FuZENvbXB1dGVCaWRpTGV2ZWxzKElubGluZUl0
ZW1zJik7CisgICAgdm9pZCBjb21wdXRlSW5saW5lVGV4dEl0ZW1XaWR0aHMoSW5saW5lSXRlbXMm
KTsKIAogICAgIHZvaWQgaGFuZGxlVGV4dENvbnRlbnQoY29uc3QgSW5saW5lVGV4dEJveCYsIElu
bGluZUl0ZW1zJik7CiAgICAgdm9pZCBoYW5kbGVJbmxpbmVCb3hTdGFydChjb25zdCBCb3gmLCBJ
bmxpbmVJdGVtcyYpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>