<?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>137058</bug_id>
          
          <creation_ts>2014-09-23 23:50:29 -0700</creation_ts>
          <short_desc>Use is&lt;SVG*Element&gt;() instead of isSVG*Element()</short_desc>
          <delta_ts>2014-09-24 08:56:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</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>
          <dependson>137015</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1036920</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-23 23:50:29 -0700</bug_when>
    <thetext>Use is&lt;SVG*Element&gt;() instead of isSVG*Element() and drop support for generated isSVG*Element().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036922</commentid>
    <comment_count>1</comment_count>
      <attachid>238587</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-23 23:58:33 -0700</bug_when>
    <thetext>Created attachment 238587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036932</commentid>
    <comment_count>2</comment_count>
      <attachid>238587</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-09-24 01:02:35 -0700</bug_when>
    <thetext>Comment on attachment 238587
Patch

r=me. Did I miss the discussion about the change on webkit-dev?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036935</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-24 01:17:30 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 238587 [details])
&gt; r=me. Did I miss the discussion about the change on webkit-dev?

That&apos;s a good point. It would be good to announce the new operators on webkit-dev.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036969</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-24 08:25:05 -0700</bug_when>
    <thetext>Yes, sorry about that. I will email webkit-dev about the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036973</commentid>
    <comment_count>5</comment_count>
      <attachid>238587</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-24 08:56:30 -0700</bug_when>
    <thetext>Comment on attachment 238587
Patch

Clearing flags on attachment: 238587

Committed r173921: &lt;http://trac.webkit.org/changeset/173921&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036974</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-24 08:56:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238587</attachid>
            <date>2014-09-23 23:58:33 -0700</date>
            <delta_ts>2014-09-24 08:56:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137058-20140923235832.patch</filename>
            <type>text/plain</type>
            <size>38052</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczOTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWFkM2Y2ODA2NTg4NzU2
NjIxMWFhZjRmNDU5NWZmMTEwNzQ5YTk3Ny4uYjliYzYzNjM4YmI0NTM1MzJkOWI1ODEyYjg4MmUx
ZGEyMWI0ODk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkxIEBACisyMDE0LTA5LTIzICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgaXM8U1ZHKkVs
ZW1lbnQ+KCkgaW5zdGVhZCBvZiBpc1NWRypFbGVtZW50KCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzA1OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBpczxTVkcqRWxlbWVudD4oKSBpbnN0ZWFk
IG9mIGlzU1ZHKkVsZW1lbnQoKSBhbmQgZHJvcCBzdXBwb3J0IGZvcgorICAgICAgICBnZW5lcmF0
ZWQgaXNTVkcqRWxlbWVudCgpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3Ig
Y2hhbmdlLgorCisgICAgICAgICogY3NzL0NTU0N1cnNvckltYWdlVmFsdWUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6cmVzb3VyY2VSZWZlcmVuY2VkQnlDdXJzb3JFbGVtZW50KToKKyAgICAgICAg
KiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVy
Ojp1c2VTVkdab29tUnVsZXNGb3JMZW5ndGgpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudFN0eWxl
U2hlZXRDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50U3R5bGVTaGVl
dENvbGxlY3Rpb246OmNvbGxlY3RBY3RpdmVTdHlsZVNoZWV0cyk6CisgICAgICAgICogZG9tL1Nj
cmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9TY3JpcHRFbGVtZW50SWZQb3Nz
aWJsZSk6CisgICAgICAgICogZG9tL21ha2VfbmFtZXMucGw6CisgICAgICAgIChwcmludFR5cGVI
ZWxwZXJzKToKKyAgICAgICAgKiBlZGl0aW5nL2d0ay9FZGl0b3JHdGsuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZWxlbWVudFVSTCk6CisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6YWJzb2x1dGVJbWFnZVVSTCk6
CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0Ojppc0xpdmVMaW5rKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0VsbGlwc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU1ZHRWxsaXBzZTo6Y2FsY3VsYXRlUmFkaWlBbmRDZW50ZXIpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyOjpjYWxjdWxhdGVMb2Nh
bFRyYW5zZm9ybSk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjp1cGRhdGVQYXRoRnJvbUNpcmNsZUVsZW1lbnQpOgorICAgICAgICAq
IHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpvcGVyYXRvcjw8KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0YXJnZXRSZWZlcmVuY2VGcm9tUmVzb3VyY2UpOgorICAgICAg
ICAqIHN2Zy9TVkdBbHRHbHlwaERlZkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
QWx0R2x5cGhEZWZFbGVtZW50OjpoYXNWYWxpZEdseXBoRWxlbWVudHMpOgorICAgICAgICAqIHN2
Zy9TVkdBbHRHbHlwaEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQWx0R2x5cGhF
bGVtZW50OjpoYXNWYWxpZEdseXBoRWxlbWVudHMpOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRl
TW90aW9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlTW90aW9uRWxl
bWVudDo6aGFzVmFsaWRBdHRyaWJ1dGVUeXBlKToKKyAgICAgICAgKiBzdmcvU1ZHRG9jdW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnQ6OnJvb3RFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojpp
c091dGVybW9zdFNWR1NWR0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6
b3duZXJTVkdFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnZpZXdwb3J0
RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50OjpidWls
ZCk6CisgICAgICAgICogc3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0ZFTGlnaHRFbGVtZW50OjpmaW5kTGlnaHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcv
U1ZHRm9udERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9udERhdGE6OmFwcGx5U1ZH
R2x5cGhTZWxlY3Rpb24pOgorICAgICAgICAqIHN2Zy9TVkdGb250RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdGb250RWxlbWVudDo6ZW5zdXJlR2x5cGhDYWNoZSk6CisgICAgICAg
ICogc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGb250
RmFjZUVsZW1lbnQ6OmFzc29jaWF0ZWRGb250RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdGb250RmFjZUVsZW1lbnQ6OnJlYnVpbGRGb250RmFjZSk6CisgICAgICAgICogc3ZnL1NWR0Zv
bnRGYWNlU3JjRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGb250RmFjZVNyY0Vs
ZW1lbnQ6OnNyY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRGYWNlU3JjRWxlbWVu
dDo6Y2hpbGRyZW5DaGFuZ2VkKToKKyAgICAgICAgKiBzdmcvU1ZHR2x5cGhFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0dseXBoRWxlbWVudDo6aW52YWxpZGF0ZUdseXBoQ2FjaGUp
OgorICAgICAgICAqIHN2Zy9TVkdIS2VybkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHSEtlcm5FbGVtZW50OjppbnNlcnRlZEludG8pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSEtl
cm5FbGVtZW50OjpyZW1vdmVkRnJvbSk6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aENvbnRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoQ29udGV4dDo6ZGV0ZXJtaW5lVmlld3Bv
cnQpOgorICAgICAgICAqIHN2Zy9TVkdMb2NhdGFibGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
aXNWaWV3cG9ydEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdNUGF0aEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHTVBhdGhFbGVtZW50OjpwYXRoRWxlbWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdNUGF0aEVsZW1lbnQ6Om5vdGlmeVBhcmVudE9mUGF0aENoYW5nZSk6Cisg
ICAgICAgICogc3ZnL1NWR1BhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Bh
dGhFbGVtZW50OjppbnZhbGlkYXRlTVBhdGhEZXBlbmRlbmNpZXMpOgorICAgICAgICAqIHN2Zy9T
VkdQYXR0ZXJuRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXR0ZXJuRWxlbWVu
dDo6Y29sbGVjdFBhdHRlcm5BdHRyaWJ1dGVzKToKKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpzZXR1cEluaXRpYWxWaWV3
KToKKyAgICAgICAgKiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpk
dW1wSW5zdGFuY2VUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OmV4cGFu
ZFVzZUVsZW1lbnRzSW5TaGFkb3dUcmVlKToKKyAgICAgICAgKiBzdmcvU1ZHVktlcm5FbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZLZXJuRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1ZLZXJuRWxlbWVudDo6cmVtb3ZlZEZyb20pOgorCiAyMDE0
LTA5LTIzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIGlzPEhUTUwqRWxlbWVudD4oKSBmb3IgdHlwZSBjaGVja2luZwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1cnNvckltYWdlVmFsdWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0N1cnNvckltYWdlVmFsdWUuY3BwCmluZGV4IDkxZTdkMDJiNWZiM2NhM2I5
YWI3ZWVhNmM4MTZjYTkwOWE5ZmIyMWYuLjU4NmI4ZmRhZjc3MTY5YTIyODNkYTA1YmQwZTc4NTc5
YzU0MjhhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDdXJzb3JJbWFnZVZh
bHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5jcHAK
QEAgLTQ3LDcgKzQ3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGlubGluZSBTVkdD
dXJzb3JFbGVtZW50KiByZXNvdXJjZVJlZmVyZW5jZWRCeUN1cnNvckVsZW1lbnQoY29uc3QgU3Ry
aW5nJiB1cmwsIERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICBFbGVtZW50KiBlbGVtZW50ID0g
U1ZHVVJJUmVmZXJlbmNlOjp0YXJnZXRFbGVtZW50RnJvbUlSSVN0cmluZyh1cmwsIGRvY3VtZW50
KTsKLSAgICBpZiAoZWxlbWVudCAmJiBpc1NWR0N1cnNvckVsZW1lbnQoZWxlbWVudCkpCisgICAg
aWYgKGVsZW1lbnQgJiYgaXM8U1ZHQ3Vyc29yRWxlbWVudD4oZWxlbWVudCkpCiAgICAgICAgIHJl
dHVybiBkb3duY2FzdDxTVkdDdXJzb3JFbGVtZW50PihlbGVtZW50KTsKIAogICAgIHJldHVybiBu
dWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDE2ZDI2N2JjMjFh
YjFmZTZjYzhkZjI4NDQ0NTlhNjc1YTQ2NzQ1MGIuLjJlYWVkNTM1YzhkNjhiZjA4MWNmZmY3ZjBl
Yzg0N2M5ZjEyNGMxM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTE4
ODMsNyArMTg4Myw3IEBAIGJvb2wgU3R5bGVSZXNvbHZlcjo6dXNlU1ZHWm9vbVJ1bGVzKCkKIC8v
IFNjYWxlIHdpdGgvaGVpZ2h0IHByb3BlcnRpZXMgb24gaW5saW5lIFNWRyByb290LgogYm9vbCBT
dHlsZVJlc29sdmVyOjp1c2VTVkdab29tUnVsZXNGb3JMZW5ndGgoKQogewotICAgIHJldHVybiBt
X3N0YXRlLmVsZW1lbnQoKSAmJiBtX3N0YXRlLmVsZW1lbnQoKS0+aXNTVkdFbGVtZW50KCkgJiYg
IShpc1NWR1NWR0VsZW1lbnQobV9zdGF0ZS5lbGVtZW50KCkpICYmIG1fc3RhdGUuZWxlbWVudCgp
LT5wYXJlbnROb2RlKCkpOworICAgIHJldHVybiBtX3N0YXRlLmVsZW1lbnQoKSAmJiBtX3N0YXRl
LmVsZW1lbnQoKS0+aXNTVkdFbGVtZW50KCkgJiYgIShpczxTVkdTVkdFbGVtZW50PihtX3N0YXRl
LmVsZW1lbnQoKSkgJiYgbV9zdGF0ZS5lbGVtZW50KCktPnBhcmVudE5vZGUoKSk7CiB9CiAKICNp
ZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24uY3BwCmluZGV4IDYxZDk5YTcxYzRiOWMxOTYwMzg2
NGNjYjIwMjlhYzgwMGM3YjQ5MTMuLjg4OWFlNjJiMGIwMGI1ZGY4MjcxNjZmNDk1YjBjZmFjNDA1
YjI3NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFN0eWxlU2hlZXRD
b2xsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRTdHlsZVNoZWV0
Q29sbGVjdGlvbi5jcHAKQEAgLTMwNSw3ICszMDUsNyBAQCB2b2lkIERvY3VtZW50U3R5bGVTaGVl
dENvbGxlY3Rpb246OmNvbGxlY3RBY3RpdmVTdHlsZVNoZWV0cyhWZWN0b3I8UmVmUHRyPFN0eWxl
UwogICAgICAgICAgICAgfQogICAgICAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IHByZWZlcnJl
ZCBzdHlsZXNldC4gVGhpcyBpcyB0aGUKICAgICAgICAgICAgIC8vIHNldCBvZiBzaGVldHMgdGhh
dCB3aWxsIGJlIGVuYWJsZWQuCi0gICAgICAgICAgICBpZiAoaXNTVkdTdHlsZUVsZW1lbnQoZWxl
bWVudCkpCisgICAgICAgICAgICBpZiAoaXM8U1ZHU3R5bGVFbGVtZW50PihlbGVtZW50KSkKICAg
ICAgICAgICAgICAgICBzaGVldCA9IGRvd25jYXN0PFNWR1N0eWxlRWxlbWVudD4oZWxlbWVudCku
c2hlZXQoKTsKICAgICAgICAgICAgIGVsc2UgaWYgKGlzSFRNTExpbmtFbGVtZW50KGVsZW1lbnQp
KQogICAgICAgICAgICAgICAgIHNoZWV0ID0gZG93bmNhc3Q8SFRNTExpbmtFbGVtZW50PihlbGVt
ZW50KS5zaGVldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IGUzMDU2
YzM2MDEyNDllZTM5ZTMxODI3Y2FkMmNiODhlY2EyNmFjODIuLmE1YzJkMzJiZmEwNjRlM2I1OGRh
NjYwYzk3ZWQ2MTlhNDFiYTZkZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAK
QEAgLTM4NSw3ICszODUsNyBAQCBTY3JpcHRFbGVtZW50KiB0b1NjcmlwdEVsZW1lbnRJZlBvc3Np
YmxlKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgaWYgKGlzSFRNTFNjcmlwdEVsZW1lbnQoZWxlbWVu
dCkpCiAgICAgICAgIHJldHVybiBkb3duY2FzdDxIVE1MU2NyaXB0RWxlbWVudD4oZWxlbWVudCk7
CiAKLSAgICBpZiAoaXNTVkdTY3JpcHRFbGVtZW50KGVsZW1lbnQpKQorICAgIGlmIChpczxTVkdT
Y3JpcHRFbGVtZW50PihlbGVtZW50KSkKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFNWR1Njcmlw
dEVsZW1lbnQ+KGVsZW1lbnQpOwogCiAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtl
X25hbWVzLnBsCmluZGV4IGQ4ZjkwY2QzYWYzNmI0NWU3NTI0ZjY4M2E4OGE0ZjA2ZjM2ZjhlNWMu
LjE4YTcxZjgxNjEwNjc0NmIzMjI4Nzc0NDEyYWNlYzQ3MDM1ZGNmYjAgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9t
YWtlX25hbWVzLnBsCkBAIC02NTcsMTIgKzY1NywxNiBAQCBFTkQKICAgICAgICB9CiAgICAgICAg
cHJpbnQgRiA8PEVORAogfTsKLQorRU5ECisgICAgICAgOworICAgICAgIGlmICgkcGFyYW1ldGVy
c3tuYW1lc3BhY2V9IGVxICJIVE1MIikgeworICAgICAgICAgICBwcmludCBGIDw8RU5ECiAvLyBG
SVhNRTogUmVtb3ZlIHRoZXNlIG1hY3JvcyBvbmNlIHRoZSBjb2RlIGhhcyBiZWVuIHBvcnRlZCB0
byB1c2luZwogLy8gaXM8KkVsZW1lbnQ+KCkuCiAjZGVmaW5lIGlzJGNsYXNzKHgpIFdlYkNvcmU6
OmlzPFdlYkNvcmU6OiRjbGFzcz4oeCkKIEVORAotICAgICAgICA7CisgICAgICAgICAgIDsKKyAg
ICAgICAgfQogICAgICAgICBwcmludCBGICJcbiI7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9ndGsvRWRpdG9yR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvZ3RrL0VkaXRvckd0ay5jcHAKaW5kZXggYzc3MmVjNjczNDcyYWFiNjBiMGRkZDZlOGE3
ZWU0MGVlNGRhNWZhMC4uZmUwYjFkYWMxOTFiNDM2OTc4ZTRlNjU4NDUyMjc4ODA4ZTE1ODI5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9ndGsvRWRpdG9yR3RrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2d0ay9FZGl0b3JHdGsuY3BwCkBAIC04NCw3ICs4NCw3
IEBAIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIGVsZW1lbnRVUkwoRWxlbWVudCYgZWxlbWVu
dCkKIHsKICAgICBpZiAoaXNIVE1MSW1hZ2VFbGVtZW50KGVsZW1lbnQpIHx8IGlzSFRNTElucHV0
RWxlbWVudChlbGVtZW50KSkKICAgICAgICAgcmV0dXJuIGVsZW1lbnQuZmFzdEdldEF0dHJpYnV0
ZShIVE1MTmFtZXM6OnNyY0F0dHIpOwotICAgIGlmIChpc1NWR0ltYWdlRWxlbWVudChlbGVtZW50
KSkKKyAgICBpZiAoaXM8U1ZHSW1hZ2VFbGVtZW50PihlbGVtZW50KSkKICAgICAgICAgcmV0dXJu
IGVsZW1lbnQuZmFzdEdldEF0dHJpYnV0ZShYTGlua05hbWVzOjpocmVmQXR0cik7CiAgICAgaWYg
KGlzSFRNTEVtYmVkRWxlbWVudChlbGVtZW50KSB8fCBpc0hUTUxPYmplY3RFbGVtZW50KGVsZW1l
bnQpKQogICAgICAgICByZXR1cm4gZWxlbWVudC5pbWFnZVNvdXJjZVVSTCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCmluZGV4IDY5NWIyNTczZWNjYWRmODFj
NjJjNDU0M2Y0OWZiYjIyMmFiZjFlZmYuLjBjYzQ1NTBkMDgyMDA0Njc5Njc2MDgwZmJkODgwYWQz
YzNhZmIxNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAK
QEAgLTMyMSw3ICszMjEsNyBAQCBVUkwgSGl0VGVzdFJlc3VsdDo6YWJzb2x1dGVJbWFnZVVSTCgp
IGNvbnN0CiAgICAgICAgIHx8IGlzSFRNTEltYWdlRWxlbWVudChtX2lubmVyTm9uU2hhcmVkTm9k
ZS5nZXQoKSkKICAgICAgICAgfHwgaXNIVE1MSW5wdXRFbGVtZW50KG1faW5uZXJOb25TaGFyZWRO
b2RlLmdldCgpKQogICAgICAgICB8fCBtX2lubmVyTm9uU2hhcmVkTm9kZS0+aGFzVGFnTmFtZShv
YmplY3RUYWcpCi0gICAgICAgIHx8IGlzU1ZHSW1hZ2VFbGVtZW50KG1faW5uZXJOb25TaGFyZWRO
b2RlLmdldCgpKSkgCisgICAgICAgIHx8IGlzPFNWR0ltYWdlRWxlbWVudD4obV9pbm5lck5vblNo
YXJlZE5vZGUuZ2V0KCkpKQogICAgICAgICB7CiAgICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSB0
b0VsZW1lbnQobV9pbm5lck5vblNoYXJlZE5vZGUuZ2V0KCkpOwogICAgICAgICB1cmxTdHJpbmcg
PSBlbGVtZW50LT5pbWFnZVNvdXJjZVVSTCgpOwpAQCAtNTIxLDcgKzUyMSw3IEBAIGJvb2wgSGl0
VGVzdFJlc3VsdDo6aXNMaXZlTGluaygpIGNvbnN0CiAgICAgaWYgKGlzSFRNTEFuY2hvckVsZW1l
bnQoKm1faW5uZXJVUkxFbGVtZW50KSkKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PEhUTUxBbmNo
b3JFbGVtZW50PigqbV9pbm5lclVSTEVsZW1lbnQpLmlzTGl2ZUxpbmsoKTsKIAotICAgIGlmIChp
c1NWR0FFbGVtZW50KCptX2lubmVyVVJMRWxlbWVudCkpCisgICAgaWYgKGlzPFNWR0FFbGVtZW50
PigqbV9pbm5lclVSTEVsZW1lbnQpKQogICAgICAgICByZXR1cm4gbV9pbm5lclVSTEVsZW1lbnQt
PmlzTGluaygpOwogCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdFbGxpcHNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHRWxsaXBzZS5jcHAKaW5kZXggMWQ2YjMzNTEwOGI1MDAyNDI1
N2U2NTI4OGZlOGIzZWZmOWY3YzI1NS4uZjE2NmUwMDk4Y2JmMzJkYjFlM2NjMjAxNTZlNjgxOTQy
YzY1ZDllNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdFbGxpcHNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R0VsbGlwc2UuY3BwCkBAIC04MSwxMyArODEsMTMgQEAgdm9pZCBSZW5kZXJTVkdFbGxpcHNlOjpj
YWxjdWxhdGVSYWRpaUFuZENlbnRlcigpCiAgICAgbV9jZW50ZXIgPSBGbG9hdFBvaW50KAogICAg
ICAgICBsZW5ndGhDb250ZXh0LnZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkuc3ZnU3R5bGUoKS5jeCgp
LCBMZW5ndGhNb2RlV2lkdGgpLAogICAgICAgICBsZW5ndGhDb250ZXh0LnZhbHVlRm9yTGVuZ3Ro
KHN0eWxlKCkuc3ZnU3R5bGUoKS5jeSgpLCBMZW5ndGhNb2RlSGVpZ2h0KSk7Ci0gICAgaWYgKGlz
U1ZHQ2lyY2xlRWxlbWVudChncmFwaGljc0VsZW1lbnQoKSkpIHsKKyAgICBpZiAoaXM8U1ZHQ2ly
Y2xlRWxlbWVudD4oZ3JhcGhpY3NFbGVtZW50KCkpKSB7CiAgICAgICAgIGZsb2F0IHJhZGl1cyA9
IGxlbmd0aENvbnRleHQudmFsdWVGb3JMZW5ndGgoc3R5bGUoKS5zdmdTdHlsZSgpLnIoKSk7CiAg
ICAgICAgIG1fcmFkaWkgPSBGbG9hdFNpemUocmFkaXVzLCByYWRpdXMpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgQVNTRVJUKGlzU1ZHRWxsaXBzZUVsZW1lbnQoZ3JhcGhpY3NFbGVt
ZW50KCkpKTsKKyAgICBBU1NFUlQoaXM8U1ZHRWxsaXBzZUVsZW1lbnQ+KGdyYXBoaWNzRWxlbWVu
dCgpKSk7CiAgICAgbV9yYWRpaSA9IEZsb2F0U2l6ZSgKICAgICAgICAgbGVuZ3RoQ29udGV4dC52
YWx1ZUZvckxlbmd0aChzdHlsZSgpLnN2Z1N0eWxlKCkucngoKSwgTGVuZ3RoTW9kZVdpZHRoKSwK
ICAgICAgICAgbGVuZ3RoQ29udGV4dC52YWx1ZUZvckxlbmd0aChzdHlsZSgpLnN2Z1N0eWxlKCku
cnkoKSwgTGVuZ3RoTW9kZUhlaWdodCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5jcHAK
aW5kZXggODVmZDhiNTNmMTY3Nzc3ZjllZTgzODMyNDc1N2I4YTk1NmNjMjE3Ni4uOTBiYThhMDY2
M2JiMDFiYWU1MjNhOGE5ODMxYmNlOGQ0YzU1NDQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RyYW5zZm9ybWFibGVDb250
YWluZXIuY3BwCkBAIC00MiwxMSArNDIsMTEgQEAgYm9vbCBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxl
Q29udGFpbmVyOjpjYWxjdWxhdGVMb2NhbFRyYW5zZm9ybSgpCiAgICAgLy8gdHJlZSwgdGhhdCB3
YXMgY3JlYXRlZCBkdXJpbmcgdGhlIHVzZS9zeW1ib2wvc3ZnIGV4cGFuc2lvbiBpbiBTVkdVc2VF
bGVtZW50LiBUaGVzZSBjb250YWluZXJzCiAgICAgLy8gbmVlZCB0byByZXNwZWN0IHRoZSB0cmFu
c2xhdGlvbnMgaW5kdWNlZCBieSB0aGVpciBjb3JyZXNwb25kaW5nIHVzZSBlbGVtZW50cyB4L3kg
YXR0cmlidXRlcy4KICAgICBTVkdVc2VFbGVtZW50KiB1c2VFbGVtZW50ID0gbnVsbHB0cjsKLSAg
ICBpZiAoaXNTVkdVc2VFbGVtZW50KGVsZW1lbnQpKQorICAgIGlmIChpczxTVkdVc2VFbGVtZW50
PihlbGVtZW50KSkKICAgICAgICAgdXNlRWxlbWVudCA9ICZkb3duY2FzdDxTVkdVc2VFbGVtZW50
PihlbGVtZW50KTsKLSAgICBlbHNlIGlmIChlbGVtZW50LmlzSW5TaGFkb3dUcmVlKCkgJiYgaXNT
VkdHRWxlbWVudChlbGVtZW50KSkgeworICAgIGVsc2UgaWYgKGVsZW1lbnQuaXNJblNoYWRvd1Ry
ZWUoKSAmJiBpczxTVkdHRWxlbWVudD4oZWxlbWVudCkpIHsKICAgICAgICAgU1ZHRWxlbWVudCog
Y29ycmVzcG9uZGluZ0VsZW1lbnQgPSBlbGVtZW50LmNvcnJlc3BvbmRpbmdFbGVtZW50KCk7Ci0g
ICAgICAgIGlmIChjb3JyZXNwb25kaW5nRWxlbWVudCAmJiBpc1NWR1VzZUVsZW1lbnQoY29ycmVz
cG9uZGluZ0VsZW1lbnQpKQorICAgICAgICBpZiAoY29ycmVzcG9uZGluZ0VsZW1lbnQgJiYgaXM8
U1ZHVXNlRWxlbWVudD4oY29ycmVzcG9uZGluZ0VsZW1lbnQpKQogICAgICAgICAgICAgdXNlRWxl
bWVudCA9IGRvd25jYXN0PFNWR1VzZUVsZW1lbnQ+KGNvcnJlc3BvbmRpbmdFbGVtZW50KTsKICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUGF0aERh
dGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAKaW5k
ZXggODcwZjQ4YmE2YzBmOTRhNTcwZDRmZjZkNzExMmFlYmZmZGRiMjI2YS4uMjc0M2Y1MmE5YmI2
OTIzZTgyODIwMGM3OWJlZTIxM2I0MTMxMjZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBzdGF0aWMgdm9pZCB1cGRhdGVQYXRoRnJvbUNpcmNsZUVsZW1lbnQoU1ZHRWxlbWVu
dCogZWxlbWVudCwgUGF0aCYgcGF0aCkKIHsKLSAgICBBU1NFUlQoaXNTVkdDaXJjbGVFbGVtZW50
KGVsZW1lbnQpKTsKKyAgICBBU1NFUlQoaXM8U1ZHQ2lyY2xlRWxlbWVudD4oZWxlbWVudCkpOwog
CiAgICAgU1ZHTGVuZ3RoQ29udGV4dCBsZW5ndGhDb250ZXh0KGVsZW1lbnQpOwogICAgIFJlbmRl
ckVsZW1lbnQqIHJlbmRlcmVyID0gZWxlbWVudC0+cmVuZGVyZXIoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCmluZGV4IGVm
MmI5YWNlYjY2YTQwOTNkZWQyNzVkZWRkNTUxYzU1OTdmNzkxZGUuLjQzODZjOGNhYzJhN2FkNzIx
ZjQxZjlhYmFmMjg1Nzc0MWQzNjIzZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcApAQCAtMzIwLDI1ICszMjAsMjUgQEAg
c3RhdGljIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRl
clNWR1NoYXBlJiBzaGFwZSkKICAgICBTVkdHcmFwaGljc0VsZW1lbnQmIHN2Z0VsZW1lbnQgPSBz
aGFwZS5ncmFwaGljc0VsZW1lbnQoKTsKICAgICBTVkdMZW5ndGhDb250ZXh0IGxlbmd0aENvbnRl
eHQoJnN2Z0VsZW1lbnQpOwogCi0gICAgaWYgKGlzU1ZHUmVjdEVsZW1lbnQoc3ZnRWxlbWVudCkp
IHsKKyAgICBpZiAoaXM8U1ZHUmVjdEVsZW1lbnQ+KHN2Z0VsZW1lbnQpKSB7CiAgICAgICAgIGNv
bnN0IFNWR1JlY3RFbGVtZW50JiBlbGVtZW50ID0gZG93bmNhc3Q8U1ZHUmVjdEVsZW1lbnQ+KHN2
Z0VsZW1lbnQpOwogICAgICAgICB3cml0ZU5hbWVWYWx1ZVBhaXIodHMsICJ4IiwgZWxlbWVudC54
KCkudmFsdWUobGVuZ3RoQ29udGV4dCkpOwogICAgICAgICB3cml0ZU5hbWVWYWx1ZVBhaXIodHMs
ICJ5IiwgZWxlbWVudC55KCkudmFsdWUobGVuZ3RoQ29udGV4dCkpOwogICAgICAgICB3cml0ZU5h
bWVWYWx1ZVBhaXIodHMsICJ3aWR0aCIsIGVsZW1lbnQud2lkdGgoKS52YWx1ZShsZW5ndGhDb250
ZXh0KSk7CiAgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgImhlaWdodCIsIGVsZW1lbnQu
aGVpZ2h0KCkudmFsdWUobGVuZ3RoQ29udGV4dCkpOwotICAgIH0gZWxzZSBpZiAoaXNTVkdMaW5l
RWxlbWVudChzdmdFbGVtZW50KSkgeworICAgIH0gZWxzZSBpZiAoaXM8U1ZHTGluZUVsZW1lbnQ+
KHN2Z0VsZW1lbnQpKSB7CiAgICAgICAgIGNvbnN0IFNWR0xpbmVFbGVtZW50JiBlbGVtZW50ID0g
ZG93bmNhc3Q8U1ZHTGluZUVsZW1lbnQ+KHN2Z0VsZW1lbnQpOwogICAgICAgICB3cml0ZU5hbWVW
YWx1ZVBhaXIodHMsICJ4MSIsIGVsZW1lbnQueDEoKS52YWx1ZShsZW5ndGhDb250ZXh0KSk7CiAg
ICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgInkxIiwgZWxlbWVudC55MSgpLnZhbHVlKGxl
bmd0aENvbnRleHQpKTsKICAgICAgICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAieDIiLCBlbGVt
ZW50LngyKCkudmFsdWUobGVuZ3RoQ29udGV4dCkpOwogICAgICAgICB3cml0ZU5hbWVWYWx1ZVBh
aXIodHMsICJ5MiIsIGVsZW1lbnQueTIoKS52YWx1ZShsZW5ndGhDb250ZXh0KSk7Ci0gICAgfSBl
bHNlIGlmIChpc1NWR0VsbGlwc2VFbGVtZW50KHN2Z0VsZW1lbnQpKSB7CisgICAgfSBlbHNlIGlm
IChpczxTVkdFbGxpcHNlRWxlbWVudD4oc3ZnRWxlbWVudCkpIHsKICAgICAgICAgY29uc3QgU1ZH
RWxsaXBzZUVsZW1lbnQmIGVsZW1lbnQgPSBkb3duY2FzdDxTVkdFbGxpcHNlRWxlbWVudD4oc3Zn
RWxlbWVudCk7CiAgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgImN4IiwgZWxlbWVudC5j
eCgpLnZhbHVlKGxlbmd0aENvbnRleHQpKTsKICAgICAgICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRz
LCAiY3kiLCBlbGVtZW50LmN5KCkudmFsdWUobGVuZ3RoQ29udGV4dCkpOwogICAgICAgICB3cml0
ZU5hbWVWYWx1ZVBhaXIodHMsICJyeCIsIGVsZW1lbnQucngoKS52YWx1ZShsZW5ndGhDb250ZXh0
KSk7CiAgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgInJ5IiwgZWxlbWVudC5yeSgpLnZh
bHVlKGxlbmd0aENvbnRleHQpKTsKLSAgICB9IGVsc2UgaWYgKGlzU1ZHQ2lyY2xlRWxlbWVudChz
dmdFbGVtZW50KSkgeworICAgIH0gZWxzZSBpZiAoaXM8U1ZHQ2lyY2xlRWxlbWVudD4oc3ZnRWxl
bWVudCkpIHsKICAgICAgICAgY29uc3QgU1ZHQ2lyY2xlRWxlbWVudCYgZWxlbWVudCA9IGRvd25j
YXN0PFNWR0NpcmNsZUVsZW1lbnQ+KHN2Z0VsZW1lbnQpOwogICAgICAgICB3cml0ZU5hbWVWYWx1
ZVBhaXIodHMsICJjeCIsIGVsZW1lbnQuY3goKS52YWx1ZShsZW5ndGhDb250ZXh0KSk7CiAgICAg
ICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgImN5IiwgZWxlbWVudC5jeSgpLnZhbHVlKGxlbmd0
aENvbnRleHQpKTsKQEAgLTM0Niw3ICszNDYsNyBAQCBzdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0
b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyU1ZHU2hhcGUmIHNoYXBlKQogICAgIH0g
ZWxzZSBpZiAoc3ZnRWxlbWVudC5oYXNUYWdOYW1lKFNWR05hbWVzOjpwb2x5Z29uVGFnKSB8fCBz
dmdFbGVtZW50Lmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnBvbHlsaW5lVGFnKSkgewogICAgICAgICBj
b25zdCBTVkdQb2x5RWxlbWVudCYgZWxlbWVudCA9IHRvU1ZHUG9seUVsZW1lbnQoc3ZnRWxlbWVu
dCk7CiAgICAgICAgIHdyaXRlTmFtZUFuZFF1b3RlZFZhbHVlKHRzLCAicG9pbnRzIiwgZWxlbWVu
dC5wb2ludExpc3QoKS52YWx1ZUFzU3RyaW5nKCkpOwotICAgIH0gZWxzZSBpZiAoaXNTVkdQYXRo
RWxlbWVudChzdmdFbGVtZW50KSkgeworICAgIH0gZWxzZSBpZiAoaXM8U1ZHUGF0aEVsZW1lbnQ+
KHN2Z0VsZW1lbnQpKSB7CiAgICAgICAgIGNvbnN0IFNWR1BhdGhFbGVtZW50JiBlbGVtZW50ID0g
ZG93bmNhc3Q8U1ZHUGF0aEVsZW1lbnQ+KHN2Z0VsZW1lbnQpOwogICAgICAgICBTdHJpbmcgcGF0
aFN0cmluZzsKICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBzd2l0Y2ggdG8gVW5hbHRlcmVk
UGFyc2luZyBoZXJlIC0gdGhpcyB3aWxsIGFmZmVjdCB0aGUgcGF0aCBkdW1waW5nIG91dHB1dCBv
ZiBkb3plbnMgb2YgdGVzdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1Jlc291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jl
c291cmNlcy5jcHAKaW5kZXggOGNkYzg2MjQwZTJkOGJhMWZhNTMzM2U4N2MwMzY1NjMzYjUxZGJm
Zi4uNTcwOTg2ZWIwMWYyODNlODcxYzcxZjFkM2M2MWE4NzYwZTNhNWZjZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzLmNwcApAQCAtMTQxLDExICsxNDEs
MTEgQEAgc3RhdGljIEhhc2hTZXQ8QXRvbWljU3RyaW5nPiYgY2hhaW5hYmxlUmVzb3VyY2VUYWdz
KCkKIHN0YXRpYyBpbmxpbmUgU3RyaW5nIHRhcmdldFJlZmVyZW5jZUZyb21SZXNvdXJjZShTVkdF
bGVtZW50JiBlbGVtZW50KQogewogICAgIFN0cmluZyB0YXJnZXQ7Ci0gICAgaWYgKGlzU1ZHUGF0
dGVybkVsZW1lbnQoZWxlbWVudCkpCisgICAgaWYgKGlzPFNWR1BhdHRlcm5FbGVtZW50PihlbGVt
ZW50KSkKICAgICAgICAgdGFyZ2V0ID0gZG93bmNhc3Q8U1ZHUGF0dGVybkVsZW1lbnQ+KGVsZW1l
bnQpLmhyZWYoKTsKICAgICBlbHNlIGlmIChpc1NWR0dyYWRpZW50RWxlbWVudChlbGVtZW50KSkK
ICAgICAgICAgdGFyZ2V0ID0gdG9TVkdHcmFkaWVudEVsZW1lbnQoZWxlbWVudCkuaHJlZigpOwot
ICAgIGVsc2UgaWYgKGlzU1ZHRmlsdGVyRWxlbWVudChlbGVtZW50KSkKKyAgICBlbHNlIGlmIChp
czxTVkdGaWx0ZXJFbGVtZW50PihlbGVtZW50KSkKICAgICAgICAgdGFyZ2V0ID0gZG93bmNhc3Q8
U1ZHRmlsdGVyRWxlbWVudD4oZWxlbWVudCkuaHJlZigpOwogICAgIGVsc2UKICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0
R2x5cGhEZWZFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaERlZkVs
ZW1lbnQuY3BwCmluZGV4IDYyMDExN2QwM2M2MDUxNzgyYTc1NzY3NWFhNWE2MDRiZTlkZGFjZjcu
Ljk4ODgwMGJiMjdmOTNjMGFhMTg4NDIzZTg1MjM0OTM0NDdmMDc0OTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaERlZkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaERlZkVsZW1lbnQuY3BwCkBAIC05MCw3ICs5MCw3IEBAIGJv
b2wgU1ZHQWx0R2x5cGhEZWZFbGVtZW50OjpoYXNWYWxpZEdseXBoRWxlbWVudHMoVmVjdG9yPFN0
cmluZz4mIGdseXBoTmFtZXMpIGNvCiAgICAgYm9vbCBmb3VuZEZpcnN0QWx0R2x5cGhJdGVtID0g
ZmFsc2U7CiAKICAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8U1ZHRWxlbWVu
dD4oKnRoaXMpKSB7Ci0gICAgICAgIGlmICghZm91bmRGaXJzdEFsdEdseXBoSXRlbSAmJiBpc1NW
R0dseXBoUmVmRWxlbWVudChjaGlsZCkpIHsKKyAgICAgICAgaWYgKCFmb3VuZEZpcnN0QWx0R2x5
cGhJdGVtICYmIGlzPFNWR0dseXBoUmVmRWxlbWVudD4oY2hpbGQpKSB7CiAgICAgICAgICAgICBm
b3VudEZpcnN0R2x5cGhSZWYgPSB0cnVlOwogICAgICAgICAgICAgU3RyaW5nIHJlZmVycmVkR2x5
cGhOYW1lOwogCkBAIC0xMDQsNyArMTA0LDcgQEAgYm9vbCBTVkdBbHRHbHlwaERlZkVsZW1lbnQ6
Omhhc1ZhbGlkR2x5cGhFbGVtZW50cyhWZWN0b3I8U3RyaW5nPiYgZ2x5cGhOYW1lcykgY28KICAg
ICAgICAgICAgICAgICBnbHlwaE5hbWVzLmNsZWFyKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgaWYgKCFmb3VudEZpcnN0R2x5
cGhSZWYgJiYgaXNTVkdBbHRHbHlwaEl0ZW1FbGVtZW50KGNoaWxkKSkgeworICAgICAgICB9IGVs
c2UgaWYgKCFmb3VudEZpcnN0R2x5cGhSZWYgJiYgaXM8U1ZHQWx0R2x5cGhJdGVtRWxlbWVudD4o
Y2hpbGQpKSB7CiAgICAgICAgICAgICBmb3VuZEZpcnN0QWx0R2x5cGhJdGVtID0gdHJ1ZTsKIAog
ICAgICAgICAgICAgLy8gQXMgdGhlIHNwZWMgc2F5cyAiVGhlIGZpcnN0ICdhbHRHbHlwaEl0ZW0n
IGluIHdoaWNoIGFsbCByZWZlcmVuY2VkIGdseXBocwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0
R2x5cGhFbGVtZW50LmNwcAppbmRleCBjN2IzNDJlNWM4ZmI1OTQwOTY4MWVjM2VjNmU3MmY4MTUz
Y2FiYTQ0Li5hNmYwN2I4MTYwNTBlMGU0MGFiZmZjNWYwYzNiZWY0MmY3ZGIyNGUwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmNwcApAQCAtOTQsMTIgKzk0LDEyIEBA
IGJvb2wgU1ZHQWx0R2x5cGhFbGVtZW50OjpoYXNWYWxpZEdseXBoRWxlbWVudHMoVmVjdG9yPFN0
cmluZz4mIGdseXBoTmFtZXMpIGNvbnN0CiAgICAgaWYgKCFlbGVtZW50KQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICBpZiAoaXNTVkdHbHlwaEVsZW1lbnQoZWxlbWVudCkpIHsKKyAgICBp
ZiAoaXM8U1ZHR2x5cGhFbGVtZW50PihlbGVtZW50KSkgewogICAgICAgICBnbHlwaE5hbWVzLmFw
cGVuZCh0YXJnZXQpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBpZiAoaXNT
VkdBbHRHbHlwaERlZkVsZW1lbnQoZWxlbWVudCkKKyAgICBpZiAoaXM8U1ZHQWx0R2x5cGhEZWZF
bGVtZW50PihlbGVtZW50KQogICAgICAgICAmJiBkb3duY2FzdDxTVkdBbHRHbHlwaERlZkVsZW1l
bnQ+KCplbGVtZW50KS5oYXNWYWxpZEdseXBoRWxlbWVudHMoZ2x5cGhOYW1lcykpCiAgICAgICAg
IHJldHVybiB0cnVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
ZU1vdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVNb3Rpb25F
bGVtZW50LmNwcAppbmRleCAwYTk4M2RmZDFhM2NjNTZkMWY5YmRjZGU3MGZhYjBiYzAwMTE2NmJj
Li44NTVhMjM4NmRhMzBmYzQyNzk3ODgzYWQzMTE1NjhkOTYwNzY5YTgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlTW90aW9uRWxlbWVudC5jcHAKQEAgLTcyLDcgKzcyLDcg
QEAgYm9vbCBTVkdBbmltYXRlTW90aW9uRWxlbWVudDo6aGFzVmFsaWRBdHRyaWJ1dGVUeXBlKCkK
ICAgICBpZiAodGFyZ2V0RWxlbWVudC0+aGFzVGFnTmFtZShnVGFnKQogICAgICAgICB8fCB0YXJn
ZXRFbGVtZW50LT5oYXNUYWdOYW1lKGRlZnNUYWcpCiAgICAgICAgIHx8IHRhcmdldEVsZW1lbnQt
Pmhhc1RhZ05hbWUodXNlVGFnKQotICAgICAgICB8fCBpc1NWR0ltYWdlRWxlbWVudCh0YXJnZXRF
bGVtZW50KQorICAgICAgICB8fCBpczxTVkdJbWFnZUVsZW1lbnQ+KHRhcmdldEVsZW1lbnQpCiAg
ICAgICAgIHx8IHRhcmdldEVsZW1lbnQtPmhhc1RhZ05hbWUoc3dpdGNoVGFnKQogICAgICAgICB8
fCB0YXJnZXRFbGVtZW50LT5oYXNUYWdOYW1lKHBhdGhUYWcpCiAgICAgICAgIHx8IHRhcmdldEVs
ZW1lbnQtPmhhc1RhZ05hbWUocmVjdFRhZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnQuY3BwCmlu
ZGV4IGQyNzI3N2FiM2MwNTcwYTVhYWRjOWNiYWY1MzRjOWM2YTNjNWQyZGQuLjE0MTNkZjRjOTc5
ZWExNjYzM2I1YmY4YWNjZDA4ZTIzMTMxODNhNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50
LmNwcApAQCAtNDIsNyArNDIsNyBAQCBTVkdEb2N1bWVudDo6U1ZHRG9jdW1lbnQoRnJhbWUqIGZy
YW1lLCBjb25zdCBVUkwmIHVybCkKIFNWR1NWR0VsZW1lbnQqIFNWR0RvY3VtZW50Ojpyb290RWxl
bWVudCgpIGNvbnN0CiB7CiAgICAgRWxlbWVudCogZWxlbWVudCA9IGRvY3VtZW50RWxlbWVudCgp
OwotICAgIGlmIChlbGVtZW50ICYmIGlzU1ZHU1ZHRWxlbWVudChlbGVtZW50KSkKKyAgICBpZiAo
ZWxlbWVudCAmJiBpczxTVkdTVkdFbGVtZW50PihlbGVtZW50KSkKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PFNWR1NWR0VsZW1lbnQ+KGVsZW1lbnQpOwogCiAgICAgcmV0dXJuIG51bGxwdHI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKaW5kZXggMjVjMTE2MGQwNGIwMjhjNzY4YWVlY2I0MzU1
NWRjZWMzYmY5MWRmNi4uNzA2NTVhZGVmOWY2YTY5NTY2MDIxYTBkMzY4YzFlOGU5MTBlZDQyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcApAQCAtMzIwLDcgKzMyMCw3IEBAIFNWR0VsZW1l
bnRSYXJlRGF0YSYgU1ZHRWxlbWVudDo6ZW5zdXJlU1ZHUmFyZURhdGEoKQogCiBib29sIFNWR0Vs
ZW1lbnQ6OmlzT3V0ZXJtb3N0U1ZHU1ZHRWxlbWVudCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFpc1NW
R1NWR0VsZW1lbnQodGhpcykpCisgICAgaWYgKCFpczxTVkdTVkdFbGVtZW50Pih0aGlzKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gSWYgd2UncmUgbGl2aW5nIGluIGEgc2hhZG93
IHRyZWUsIHdlJ3JlIGEgPHN2Zz4gZWxlbWVudCB0aGF0IGdvdCBjcmVhdGVkIGFzIHJlcGxhY2Vt
ZW50CkBAIC0zOTYsNyArMzk2LDcgQEAgU1ZHU1ZHRWxlbWVudCogU1ZHRWxlbWVudDo6b3duZXJT
VkdFbGVtZW50KCkgY29uc3QKIHsKICAgICBDb250YWluZXJOb2RlKiBub2RlID0gcGFyZW50T3JT
aGFkb3dIb3N0Tm9kZSgpOwogICAgIHdoaWxlIChub2RlKSB7Ci0gICAgICAgIGlmIChpc1NWR1NW
R0VsZW1lbnQobm9kZSkpCisgICAgICAgIGlmIChpczxTVkdTVkdFbGVtZW50Pihub2RlKSkKICAg
ICAgICAgICAgIHJldHVybiBkb3duY2FzdDxTVkdTVkdFbGVtZW50Pihub2RlKTsKIAogICAgICAg
ICBub2RlID0gbm9kZS0+cGFyZW50T3JTaGFkb3dIb3N0Tm9kZSgpOwpAQCAtNDExLDcgKzQxMSw3
IEBAIFNWR0VsZW1lbnQqIFNWR0VsZW1lbnQ6OnZpZXdwb3J0RWxlbWVudCgpIGNvbnN0CiAgICAg
Ly8gdG8gZGV0ZXJtaW5lIHRoZSAib3ZlcmZsb3ciIHByb3BlcnR5LiA8dXNlPiBvbiA8c3ltYm9s
PiB3b3VsZG4ndCB3b3JrIG90aGVyd2hpc2UuCiAgICAgQ29udGFpbmVyTm9kZSogbm9kZSA9IHBh
cmVudE9yU2hhZG93SG9zdE5vZGUoKTsKICAgICB3aGlsZSAobm9kZSkgewotICAgICAgICBpZiAo
aXNTVkdTVkdFbGVtZW50KG5vZGUpIHx8IGlzU1ZHSW1hZ2VFbGVtZW50KG5vZGUpIHx8IG5vZGUt
Pmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnN5bWJvbFRhZykpCisgICAgICAgIGlmIChpczxTVkdTVkdF
bGVtZW50Pihub2RlKSB8fCBpczxTVkdJbWFnZUVsZW1lbnQ+KG5vZGUpIHx8IG5vZGUtPmhhc1Rh
Z05hbWUoU1ZHTmFtZXM6OnN5bWJvbFRhZykpCiAgICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8
U1ZHRWxlbWVudD4obm9kZSk7CiAKICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE9yU2hhZG93
SG9zdE5vZGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVu
dFRyYW5zZmVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRU
cmFuc2ZlckVsZW1lbnQuY3BwCmluZGV4IDE0ZDZmYjAzODY0NjQ3Y2YzZThhMWYwM2E2NmI4Njc2
YmQ4NTg5NzIuLjQ2YWU0NWQ4N2M2ZmYxMGM2MjcyODJkOWI4M2JkZDRiNThlNWM5OGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50
LmNwcApAQCAtOTAsMTMgKzkwLDEzIEBAIFBhc3NSZWZQdHI8RmlsdGVyRWZmZWN0PiBTVkdGRUNv
bXBvbmVudFRyYW5zZmVyRWxlbWVudDo6YnVpbGQoU1ZHRmlsdGVyQnVpbGRlcioKICAgICBDb21w
b25lbnRUcmFuc2ZlckZ1bmN0aW9uIGFscGhhOwogCiAgICAgZm9yIChhdXRvJiBjaGlsZCA6IGNo
aWxkcmVuT2ZUeXBlPFNWR0VsZW1lbnQ+KCp0aGlzKSkgewotICAgICAgICBpZiAoaXNTVkdGRUZ1
bmNSRWxlbWVudChjaGlsZCkpCisgICAgICAgIGlmIChpczxTVkdGRUZ1bmNSRWxlbWVudD4oY2hp
bGQpKQogICAgICAgICAgICAgcmVkID0gZG93bmNhc3Q8U1ZHRkVGdW5jUkVsZW1lbnQ+KGNoaWxk
KS50cmFuc2ZlckZ1bmN0aW9uKCk7Ci0gICAgICAgIGVsc2UgaWYgKGlzU1ZHRkVGdW5jR0VsZW1l
bnQoY2hpbGQpKQorICAgICAgICBlbHNlIGlmIChpczxTVkdGRUZ1bmNHRWxlbWVudD4oY2hpbGQp
KQogICAgICAgICAgICAgZ3JlZW4gPSBkb3duY2FzdDxTVkdGRUZ1bmNHRWxlbWVudD4oY2hpbGQp
LnRyYW5zZmVyRnVuY3Rpb24oKTsKLSAgICAgICAgZWxzZSBpZiAoaXNTVkdGRUZ1bmNCRWxlbWVu
dChjaGlsZCkpCisgICAgICAgIGVsc2UgaWYgKGlzPFNWR0ZFRnVuY0JFbGVtZW50PihjaGlsZCkp
CiAgICAgICAgICAgICBibHVlID0gZG93bmNhc3Q8U1ZHRkVGdW5jQkVsZW1lbnQ+KGNoaWxkKS50
cmFuc2ZlckZ1bmN0aW9uKCk7Ci0gICAgICAgIGVsc2UgaWYgKGlzU1ZHRkVGdW5jQUVsZW1lbnQo
Y2hpbGQpKQorICAgICAgICBlbHNlIGlmIChpczxTVkdGRUZ1bmNBRWxlbWVudD4oY2hpbGQpKQog
ICAgICAgICAgICAgYWxwaGEgPSBkb3duY2FzdDxTVkdGRUZ1bmNBRWxlbWVudD4oY2hpbGQpLnRy
YW5zZmVyRnVuY3Rpb24oKTsKICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTGln
aHRFbGVtZW50LmNwcAppbmRleCA2MTY4ZDJkMjFmZGZiNGE2NThlYWY1MzIxNDQ5Y2VmYTBhZDUz
OWMyLi43ZmYxM2EwNWJkNzA4M2MwZjIyZWRlMGFmZmI2ZTE1MTFjZmEyNzk1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRUxpZ2h0RWxlbWVudC5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgU1ZHRkVM
aWdodEVsZW1lbnQ6OlNWR0ZFTGlnaHRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50JiBkb2MKIFNWR0ZFTGlnaHRFbGVtZW50KiBTVkdGRUxpZ2h0RWxlbWVudDo6
ZmluZExpZ2h0RWxlbWVudChjb25zdCBTVkdFbGVtZW50KiBzdmdFbGVtZW50KQogewogICAgIGZv
ciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbk9mVHlwZTxTVkdFbGVtZW50Pigqc3ZnRWxlbWVudCkp
IHsKLSAgICAgICAgaWYgKGlzU1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50KGNoaWxkKSB8fCBpc1NW
R0ZFUG9pbnRMaWdodEVsZW1lbnQoY2hpbGQpIHx8IGlzU1ZHRkVTcG90TGlnaHRFbGVtZW50KGNo
aWxkKSkKKyAgICAgICAgaWYgKGlzPFNWR0ZFRGlzdGFudExpZ2h0RWxlbWVudD4oY2hpbGQpIHx8
IGlzPFNWR0ZFUG9pbnRMaWdodEVsZW1lbnQ+KGNoaWxkKSB8fCBpczxTVkdGRVNwb3RMaWdodEVs
ZW1lbnQ+KGNoaWxkKSkKICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTVkdGRUxpZ2h0
RWxlbWVudCo+KGNvbnN0X2Nhc3Q8U1ZHRWxlbWVudCo+KCZjaGlsZCkpOwogICAgIH0KICAgICBy
ZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0
YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuY3BwCmluZGV4IGViNDY5ZWNl
OTAzZDljYjBiODEyN2FiMGMzNGJkNjNhMDJlYTI2YmUuLjUwOTNiMmVkMWI3ZWE2MjM4Zjc2NjZk
OGE4OTgwZDc0NzlhMDNkYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250
RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmNwcApAQCAtMTU5
LDcgKzE1OSw3IEBAIGJvb2wgU1ZHRm9udERhdGE6OmFwcGx5U1ZHR2x5cGhTZWxlY3Rpb24oV2lk
dGhJdGVyYXRvciYgaXRlcmF0b3IsIEdseXBoRGF0YSYgZ2x5CiAgICAgICAgIGlmIChFbGVtZW50
KiBwYXJlbnRSZW5kZXJlckVsZW1lbnQgPSBwYXJlbnRSZW5kZXJlci0+ZWxlbWVudCgpKSB7CiAg
ICAgICAgICAgICBsYW5ndWFnZSA9IHBhcmVudFJlbmRlcmVyRWxlbWVudC0+Z2V0QXR0cmlidXRl
KFhNTE5hbWVzOjpsYW5nQXR0cik7CiAKLSAgICAgICAgICAgIGlmIChpc1NWR0FsdEdseXBoRWxl
bWVudChwYXJlbnRSZW5kZXJlckVsZW1lbnQpKSB7CisgICAgICAgICAgICBpZiAoaXM8U1ZHQWx0
R2x5cGhFbGVtZW50PihwYXJlbnRSZW5kZXJlckVsZW1lbnQpKSB7CiAgICAgICAgICAgICAgICAg
U1ZHQWx0R2x5cGhFbGVtZW50JiBhbHRHbHlwaCA9IGRvd25jYXN0PFNWR0FsdEdseXBoRWxlbWVu
dD4oKnBhcmVudFJlbmRlcmVyRWxlbWVudCk7CiAgICAgICAgICAgICAgICAgaWYgKCFhbHRHbHlw
aC5oYXNWYWxpZEdseXBoRWxlbWVudHMoYWx0R2x5cGhOYW1lcykpCiAgICAgICAgICAgICAgICAg
ICAgIGFsdEdseXBoTmFtZXMuY2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb250RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQu
Y3BwCmluZGV4IGM2Mjk5ZTc0YjZhMzM3NzFjN2E3YmNiNGJlMjIyYmNhNjkzYzdlZjQuLmMzM2Zm
Yjc3YjZkOGY5OTU3YjEyNmYxYmYzOTE3YTg1N2ZkZmI1MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZvbnRFbGVtZW50LmNwcApAQCAtMTE5LDcgKzExOSw3IEBAIHZvaWQgU1ZHRm9udEVsZW1lbnQ6
OmVuc3VyZUdseXBoQ2FjaGUoKQogICAgIGNvbnN0IFNWR01pc3NpbmdHbHlwaEVsZW1lbnQqIGZp
cnN0TWlzc2luZ0dseXBoRWxlbWVudCA9IG51bGxwdHI7CiAgICAgVmVjdG9yPFN0cmluZz4gbGln
YXR1cmVzOwogICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbk9mVHlwZTxTVkdFbGVtZW50
PigqdGhpcykpIHsKLSAgICAgICAgaWYgKGlzU1ZHR2x5cGhFbGVtZW50KGNoaWxkKSkgeworICAg
ICAgICBpZiAoaXM8U1ZHR2x5cGhFbGVtZW50PihjaGlsZCkpIHsKICAgICAgICAgICAgIFNWR0ds
eXBoRWxlbWVudCYgZ2x5cGggPSBkb3duY2FzdDxTVkdHbHlwaEVsZW1lbnQ+KGNoaWxkKTsKICAg
ICAgICAgICAgIEF0b21pY1N0cmluZyB1bmljb2RlID0gZ2x5cGguZmFzdEdldEF0dHJpYnV0ZShT
VkdOYW1lczo6dW5pY29kZUF0dHIpOwogICAgICAgICAgICAgQXRvbWljU3RyaW5nIGdseXBoSWQg
PSBnbHlwaC5nZXRJZEF0dHJpYnV0ZSgpOwpAQCAtMTMxLDE3ICsxMzEsMTcgQEAgdm9pZCBTVkdG
b250RWxlbWVudDo6ZW5zdXJlR2x5cGhDYWNoZSgpCiAgICAgICAgICAgICAvLyBSZWdpc3RlciBs
aWdhdHVyZXMsIGlmIG5lZWRlZCwgZG9uJ3QgbWl4IHVwIHdpdGggc3Vycm9nYXRlIHBhaXJzIHRo
b3VnaCEKICAgICAgICAgICAgIGlmICh1bmljb2RlLmxlbmd0aCgpID4gMSAmJiAhVTE2X0lTX1NV
UlJPR0FURSh1bmljb2RlWzBdKSkKICAgICAgICAgICAgICAgICBsaWdhdHVyZXMuYXBwZW5kKHVu
aWNvZGUuc3RyaW5nKCkpOwotICAgICAgICB9IGVsc2UgaWYgKGlzU1ZHSEtlcm5FbGVtZW50KGNo
aWxkKSkgeworICAgICAgICB9IGVsc2UgaWYgKGlzPFNWR0hLZXJuRWxlbWVudD4oY2hpbGQpKSB7
CiAgICAgICAgICAgICBTVkdIS2VybkVsZW1lbnQmIGhrZXJuID0gZG93bmNhc3Q8U1ZHSEtlcm5F
bGVtZW50PihjaGlsZCk7CiAgICAgICAgICAgICBTVkdLZXJuaW5nUGFpciBrZXJuaW5nUGFpcjsK
ICAgICAgICAgICAgIGlmIChoa2Vybi5idWlsZEhvcml6b250YWxLZXJuaW5nUGFpcihrZXJuaW5n
UGFpcikpCiAgICAgICAgICAgICAgICAgbV9ob3Jpem9udGFsS2VybmluZ01hcC5pbnNlcnQoa2Vy
bmluZ1BhaXIpOwotICAgICAgICB9IGVsc2UgaWYgKGlzU1ZHVktlcm5FbGVtZW50KGNoaWxkKSkg
eworICAgICAgICB9IGVsc2UgaWYgKGlzPFNWR1ZLZXJuRWxlbWVudD4oY2hpbGQpKSB7CiAgICAg
ICAgICAgICBTVkdWS2VybkVsZW1lbnQmIHZrZXJuID0gZG93bmNhc3Q8U1ZHVktlcm5FbGVtZW50
PihjaGlsZCk7CiAgICAgICAgICAgICBTVkdLZXJuaW5nUGFpciBrZXJuaW5nUGFpcjsKICAgICAg
ICAgICAgIGlmICh2a2Vybi5idWlsZFZlcnRpY2FsS2VybmluZ1BhaXIoa2VybmluZ1BhaXIpKQog
ICAgICAgICAgICAgICAgIG1fdmVydGljYWxLZXJuaW5nTWFwLmluc2VydChrZXJuaW5nUGFpcik7
Ci0gICAgICAgIH0gZWxzZSBpZiAoaXNTVkdNaXNzaW5nR2x5cGhFbGVtZW50KGNoaWxkKSAmJiAh
Zmlyc3RNaXNzaW5nR2x5cGhFbGVtZW50KQorICAgICAgICB9IGVsc2UgaWYgKGlzPFNWR01pc3Np
bmdHbHlwaEVsZW1lbnQ+KGNoaWxkKSAmJiAhZmlyc3RNaXNzaW5nR2x5cGhFbGVtZW50KQogICAg
ICAgICAgICAgZmlyc3RNaXNzaW5nR2x5cGhFbGVtZW50ID0gJmRvd25jYXN0PFNWR01pc3NpbmdH
bHlwaEVsZW1lbnQ+KGNoaWxkKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRG
YWNlRWxlbWVudC5jcHAKaW5kZXggNTg0MDNjZTcxY2FjYWY5YzIyOTI2YzA5NjI5ZjBkYzgyNTU3
MWFhNC4uMmRmYzc2ZTViMjJlMGM3YWM2NDRhMTkyMGFmZWJjNzIyZjZhOTNiYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAKQEAgLTIxNiw3ICsyMTYsNyBAQCBT
dHJpbmcgU1ZHRm9udEZhY2VFbGVtZW50Ojpmb250RmFtaWx5KCkgY29uc3QKIFNWR0ZvbnRFbGVt
ZW50KiBTVkdGb250RmFjZUVsZW1lbnQ6OmFzc29jaWF0ZWRGb250RWxlbWVudCgpIGNvbnN0CiB7
CiAgICAgQVNTRVJUKHBhcmVudE5vZGUoKSA9PSBtX2ZvbnRFbGVtZW50KTsKLSAgICBBU1NFUlQo
IXBhcmVudE5vZGUoKSB8fCBpc1NWR0ZvbnRFbGVtZW50KHBhcmVudE5vZGUoKSkpOworICAgIEFT
U0VSVCghcGFyZW50Tm9kZSgpIHx8IGlzPFNWR0ZvbnRFbGVtZW50PihwYXJlbnROb2RlKCkpKTsK
ICAgICByZXR1cm4gbV9mb250RWxlbWVudDsKIH0KIApAQCAtMjMwLDcgKzIzMCw3IEBAIHZvaWQg
U1ZHRm9udEZhY2VFbGVtZW50OjpyZWJ1aWxkRm9udEZhY2UoKQogICAgIC8vIHdlIGN1cnJlbnRs
eSBpZ25vcmUgYWxsIGJ1dCB0aGUgZmlyc3Qgc3JjIGVsZW1lbnQsIGFsdGVybmF0aXZlbHkgd2Ug
Y291bGQgY29uY2F0IHRoZW0KICAgICBhdXRvIHNyY0VsZW1lbnQgPSBjaGlsZHJlbk9mVHlwZTxT
VkdGb250RmFjZVNyY0VsZW1lbnQ+KCp0aGlzKS5maXJzdCgpOwogCi0gICAgYm9vbCBkZXNjcmli
ZXNQYXJlbnRGb250ID0gaXNTVkdGb250RWxlbWVudChwYXJlbnROb2RlKCkpOworICAgIGJvb2wg
ZGVzY3JpYmVzUGFyZW50Rm9udCA9IGlzPFNWR0ZvbnRFbGVtZW50PihwYXJlbnROb2RlKCkpOwog
ICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3Q7CiAKICAgICBpZiAoZGVzY3JpYmVzUGFyZW50
Rm9udCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlU3JjRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VTcmNFbGVtZW50LmNwcApp
bmRleCAwZTY5YWU2ZjFkYjQ5N2ExNThhMzM3OWNjMzkzOTczYWFlZGIxYWQ2Li4yZjgwNmJiYmIy
NmRkYzg2NGE1ZjFmMzBiOWFiZGRhYmM4ZjVkZTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRm9udEZhY2VTcmNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRm9udEZhY2VTcmNFbGVtZW50LmNwcApAQCAtNTAsOSArNTAsOSBAQCBQYXNzUmVmUHRyPENT
U1ZhbHVlTGlzdD4gU1ZHRm9udEZhY2VTcmNFbGVtZW50OjpzcmNWYWx1ZSgpIGNvbnN0CiAgICAg
UmVmUHRyPENTU1ZhbHVlTGlzdD4gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBh
cmF0ZWQoKTsKICAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8U1ZHRWxlbWVu
dD4oKnRoaXMpKSB7CiAgICAgICAgIFJlZlB0cjxDU1NGb250RmFjZVNyY1ZhbHVlPiBzcmNWYWx1
ZTsKLSAgICAgICAgaWYgKGlzU1ZHRm9udEZhY2VVcmlFbGVtZW50KGNoaWxkKSkKKyAgICAgICAg
aWYgKGlzPFNWR0ZvbnRGYWNlVXJpRWxlbWVudD4oY2hpbGQpKQogICAgICAgICAgICAgc3JjVmFs
dWUgPSBkb3duY2FzdDxTVkdGb250RmFjZVVyaUVsZW1lbnQ+KGNoaWxkKS5zcmNWYWx1ZSgpOwot
ICAgICAgICBlbHNlIGlmIChpc1NWR0ZvbnRGYWNlTmFtZUVsZW1lbnQoY2hpbGQpKQorICAgICAg
ICBlbHNlIGlmIChpczxTVkdGb250RmFjZU5hbWVFbGVtZW50PihjaGlsZCkpCiAgICAgICAgICAg
ICBzcmNWYWx1ZSA9IGRvd25jYXN0PFNWR0ZvbnRGYWNlTmFtZUVsZW1lbnQ+KGNoaWxkKS5zcmNW
YWx1ZSgpOwogICAgICAgICBpZiAoc3JjVmFsdWUgJiYgc3JjVmFsdWUtPnJlc291cmNlKCkubGVu
Z3RoKCkpCiAgICAgICAgICAgICBsaXN0LT5hcHBlbmQoc3JjVmFsdWUucmVsZWFzZU5vbk51bGwo
KSk7CkBAIC02Myw3ICs2Myw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBTVkdGb250RmFj
ZVNyY0VsZW1lbnQ6OnNyY1ZhbHVlKCkgY29uc3QKIHZvaWQgU1ZHRm9udEZhY2VTcmNFbGVtZW50
OjpjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKIHsKICAgICBTVkdF
bGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlKTsKLSAgICBpZiAocGFyZW50Tm9kZSgpICYm
IGlzU1ZHRm9udEZhY2VFbGVtZW50KHBhcmVudE5vZGUoKSkpCisgICAgaWYgKHBhcmVudE5vZGUo
KSAmJiBpczxTVkdGb250RmFjZUVsZW1lbnQ+KHBhcmVudE5vZGUoKSkpCiAgICAgICAgIGRvd25j
YXN0PFNWR0ZvbnRGYWNlRWxlbWVudD4oKnBhcmVudE5vZGUoKSkucmVidWlsZEZvbnRGYWNlKCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoRWxlbWVudC5jcHAKaW5kZXggNjNkYzFmYWVl
NTMwNWFlYTJjYjY4MjIyMjBiOTg0MGI0MzFkNzhkMi4uZDkxYTQ3YmFmOWEzNTQzMmY1ZjExY2Fj
YzVkM2FhOWQzMGE3OWZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBo
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoRWxlbWVudC5jcHAK
QEAgLTQ3LDcgKzQ3LDcgQEAgUGFzc1JlZlB0cjxTVkdHbHlwaEVsZW1lbnQ+IFNWR0dseXBoRWxl
bWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUKIHZvaWQgU1ZHR2x5cGhF
bGVtZW50OjppbnZhbGlkYXRlR2x5cGhDYWNoZSgpCiB7CiAgICAgQ29udGFpbmVyTm9kZSogZm9u
dE5vZGUgPSBwYXJlbnROb2RlKCk7Ci0gICAgaWYgKGZvbnROb2RlICYmIGlzU1ZHRm9udEVsZW1l
bnQoZm9udE5vZGUpKQorICAgIGlmIChmb250Tm9kZSAmJiBpczxTVkdGb250RWxlbWVudD4oZm9u
dE5vZGUpKQogICAgICAgICBkb3duY2FzdDxTVkdGb250RWxlbWVudD4oKmZvbnROb2RlKS5pbnZh
bGlkYXRlR2x5cGhDYWNoZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHSEtlcm5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdIS2VybkVsZW1lbnQu
Y3BwCmluZGV4IDU4OTQ3MTQ5MjBkNDEyZmMzNjQxYjNiNTBlZWY4NWZjMzk1NTVjZTIuLjQ3MmE2
MzM5MGU5OTFjMGE4NWQ0MTM4NjY2Y2E1OWVhMDBjMmI5ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdIS2VybkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdIS2VybkVsZW1lbnQuY3BwCkBAIC00NCw3ICs0NCw3IEBAIFBhc3NSZWZQdHI8U1ZHSEtlcm5F
bGVtZW50PiBTVkdIS2VybkVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lCiBOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IFNWR0hLZXJuRWxlbWVudDo6
aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUmIHJvb3RQYXJlbnQpCiB7CiAgICAgQ29udGFpbmVy
Tm9kZSogZm9udE5vZGUgPSBwYXJlbnROb2RlKCk7Ci0gICAgaWYgKGZvbnROb2RlICYmIGlzU1ZH
Rm9udEVsZW1lbnQoZm9udE5vZGUpKQorICAgIGlmIChmb250Tm9kZSAmJiBpczxTVkdGb250RWxl
bWVudD4oZm9udE5vZGUpKQogICAgICAgICBkb3duY2FzdDxTVkdGb250RWxlbWVudD4oKmZvbnRO
b2RlKS5pbnZhbGlkYXRlR2x5cGhDYWNoZSgpOwogCiAgICAgcmV0dXJuIFNWR0VsZW1lbnQ6Omlu
c2VydGVkSW50byhyb290UGFyZW50KTsKQEAgLTUzLDcgKzUzLDcgQEAgTm9kZTo6SW5zZXJ0aW9u
Tm90aWZpY2F0aW9uUmVxdWVzdCBTVkdIS2VybkVsZW1lbnQ6Omluc2VydGVkSW50byhDb250YWlu
ZXJOb2RlJgogdm9pZCBTVkdIS2VybkVsZW1lbnQ6OnJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUm
IHJvb3RQYXJlbnQpCiB7CiAgICAgQ29udGFpbmVyTm9kZSogZm9udE5vZGUgPSBwYXJlbnROb2Rl
KCk7Ci0gICAgaWYgKGZvbnROb2RlICYmIGlzU1ZHRm9udEVsZW1lbnQoZm9udE5vZGUpKQorICAg
IGlmIChmb250Tm9kZSAmJiBpczxTVkdGb250RWxlbWVudD4oZm9udE5vZGUpKQogICAgICAgICBk
b3duY2FzdDxTVkdGb250RWxlbWVudD4oKmZvbnROb2RlKS5pbnZhbGlkYXRlR2x5cGhDYWNoZSgp
OwogCiAgICAgU1ZHRWxlbWVudDo6cmVtb3ZlZEZyb20ocm9vdFBhcmVudCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTGVuZ3RoQ29udGV4dC5jcHAKaW5kZXggMzc4MzMzNWVjNWE5YWYzNjYzNjQwYjcy
YmRkNjc5OTFmNGE0MTI0Zi4uYzA1YTczZTllMDJjNmUxNjEyZWI4ZjQ4N2U2YzhkMjkxOTk3N2I1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aENvbnRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhDb250ZXh0LmNwcApAQCAtMzE4LDcgKzMx
OCw3IEBAIGJvb2wgU1ZHTGVuZ3RoQ29udGV4dDo6ZGV0ZXJtaW5lVmlld3BvcnQoRmxvYXRTaXpl
JiB2aWV3cG9ydFNpemUpIGNvbnN0CiAKICAgICAvLyBUYWtlIHNpemUgZnJvbSBuZWFyZXN0IHZp
ZXdwb3J0IGVsZW1lbnQuCiAgICAgU1ZHRWxlbWVudCogdmlld3BvcnRFbGVtZW50ID0gbV9jb250
ZXh0LT52aWV3cG9ydEVsZW1lbnQoKTsKLSAgICBpZiAoIXZpZXdwb3J0RWxlbWVudCB8fCAhaXNT
VkdTVkdFbGVtZW50KHZpZXdwb3J0RWxlbWVudCkpCisgICAgaWYgKCF2aWV3cG9ydEVsZW1lbnQg
fHwgIWlzPFNWR1NWR0VsZW1lbnQ+KHZpZXdwb3J0RWxlbWVudCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIGNvbnN0IFNWR1NWR0VsZW1lbnQmIHN2ZyA9IGRvd25jYXN0PFNWR1NWR0Vs
ZW1lbnQ+KCp2aWV3cG9ydEVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0xvY2F0YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcApp
bmRleCA5ZjU4NzAyMTRiNWUwNDI2MGNkMmVjYWY1NDM2ZTgyMzE0MjYyNjIzLi5hZjE3MTExMmIw
NDM2ZjdhZDhlYmZmODU3NjNkZWZiYTU3MDllMDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRh
YmxlLmNwcApAQCAtMzYsNyArMzYsNyBAQCBzdGF0aWMgYm9vbCBpc1ZpZXdwb3J0RWxlbWVudChO
b2RlKiBub2RlKQogICAgIHJldHVybiAobm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6c3ZnVGFn
KQogICAgICAgICB8fCBub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpzeW1ib2xUYWcpCiAgICAg
ICAgIHx8IG5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZvcmVpZ25PYmplY3RUYWcpCi0gICAg
ICAgIHx8IGlzU1ZHSW1hZ2VFbGVtZW50KG5vZGUpKTsKKyAgICAgICAgfHwgaXM8U1ZHSW1hZ2VF
bGVtZW50Pihub2RlKSk7CiB9CiAKIFNWR0VsZW1lbnQqIFNWR0xvY2F0YWJsZTo6bmVhcmVzdFZp
ZXdwb3J0RWxlbWVudChjb25zdCBTVkdFbGVtZW50KiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHTVBhdGhFbGVtZW50LmNwcAppbmRleCAyYzNjZTdhNTk5OTM1OGZhZTFiMjk2MzQwYmY2MDAz
ZGQ2OTczMDQxLi5iNWY4YTcyOGE0NGIwYjRkNTNmOWNkMTk4ODM3YjI2NjM3OTkxNDQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmNwcApAQCAtMTU2LDcgKzE1Niw3IEBAIHZv
aWQgU1ZHTVBhdGhFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5h
bWUmIGF0dHJOYW1lKQogU1ZHUGF0aEVsZW1lbnQqIFNWR01QYXRoRWxlbWVudDo6cGF0aEVsZW1l
bnQoKQogewogICAgIEVsZW1lbnQqIHRhcmdldCA9IHRhcmdldEVsZW1lbnRGcm9tSVJJU3RyaW5n
KGhyZWYoKSwgZG9jdW1lbnQoKSk7Ci0gICAgaWYgKHRhcmdldCAmJiBpc1NWR1BhdGhFbGVtZW50
KHRhcmdldCkpCisgICAgaWYgKHRhcmdldCAmJiBpczxTVkdQYXRoRWxlbWVudD4odGFyZ2V0KSkK
ICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFNWR1BhdGhFbGVtZW50Pih0YXJnZXQpOwogICAgIHJl
dHVybiBudWxscHRyOwogfQpAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgU1ZHTVBhdGhFbGVtZW50
Ojp0YXJnZXRQYXRoQ2hhbmdlZCgpCiAKIHZvaWQgU1ZHTVBhdGhFbGVtZW50Ojpub3RpZnlQYXJl
bnRPZlBhdGhDaGFuZ2UoQ29udGFpbmVyTm9kZSogcGFyZW50KQogewotICAgIGlmIChwYXJlbnQg
JiYgaXNTVkdBbmltYXRlTW90aW9uRWxlbWVudChwYXJlbnQpKQorICAgIGlmIChwYXJlbnQgJiYg
aXM8U1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQ+KHBhcmVudCkpCiAgICAgICAgIGRvd25jYXN0PFNW
R0FuaW1hdGVNb3Rpb25FbGVtZW50PigqcGFyZW50KS51cGRhdGVBbmltYXRpb25QYXRoKCk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCmluZGV4IGYzMjM5OThlMjRlMGZj
NTRjZjgwNzRlMWU0N2M0NTg5ZGUxZjc3MDUuLjEyYzRhMzg1YTk0MGFmM2E2ZGJjM2UyYTNjZGFl
NDBlMWJhMWJmN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcApAQCAtMjg2
LDcgKzI4Niw3IEBAIHZvaWQgU1ZHUGF0aEVsZW1lbnQ6OmludmFsaWRhdGVNUGF0aERlcGVuZGVu
Y2llcygpCiAgICAgLy8gbWFya0ZvckxheW91dEFuZFBhcmVudFJlc291cmNlSW52YWxpZGF0aW9u
IHNvIHdlIHVwZGF0ZSBhbnkgbXBhdGggZGVwZW5kZW5jaWVzIG1hbnVhbGx5LgogICAgIGlmIChI
YXNoU2V0PFNWR0VsZW1lbnQqPiogZGVwZW5kZW5jaWVzID0gZG9jdW1lbnQoKS5hY2Nlc3NTVkdF
eHRlbnNpb25zKCkuc2V0T2ZFbGVtZW50c1JlZmVyZW5jaW5nVGFyZ2V0KHRoaXMpKSB7CiAgICAg
ICAgIGZvciAoYXV0byogZWxlbWVudCA6ICpkZXBlbmRlbmNpZXMpIHsKLSAgICAgICAgICAgIGlm
IChpc1NWR01QYXRoRWxlbWVudChlbGVtZW50KSkKKyAgICAgICAgICAgIGlmIChpczxTVkdNUGF0
aEVsZW1lbnQ+KGVsZW1lbnQpKQogICAgICAgICAgICAgICAgIGRvd25jYXN0PFNWR01QYXRoRWxl
bWVudD4oKmVsZW1lbnQpLnRhcmdldFBhdGhDaGFuZ2VkKCk7CiAgICAgICAgIH0KICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAppbmRleCA5YmNkYjg2N2Q3ZWQ5
MzU1Mzk2NmQzMjExN2IxNjBhMDgxY2M5ZjAzLi45YmQ0ZTg1Y2ViNWI4MzhmMDdhMTQ2ZmEzNWE2
ZjE0ZmM0Y2Y2YWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAK
QEAgLTIzNiw3ICsyMzYsNyBAQCB2b2lkIFNWR1BhdHRlcm5FbGVtZW50Ojpjb2xsZWN0UGF0dGVy
bkF0dHJpYnV0ZXMoUGF0dGVybkF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMpCiAKICAgICAgICAgLy8g
UmVzcGVjdCB4bGluazpocmVmLCB0YWtlIGF0dHJpYnV0ZXMgZnJvbSByZWZlcmVuY2VkIGVsZW1l
bnQKICAgICAgICAgRWxlbWVudCogcmVmRWxlbWVudCA9IFNWR1VSSVJlZmVyZW5jZTo6dGFyZ2V0
RWxlbWVudEZyb21JUklTdHJpbmcoY3VycmVudC0+aHJlZigpLCBkb2N1bWVudCgpKTsKLSAgICAg
ICAgaWYgKHJlZkVsZW1lbnQgJiYgaXNTVkdQYXR0ZXJuRWxlbWVudChyZWZFbGVtZW50KSkgewor
ICAgICAgICBpZiAocmVmRWxlbWVudCAmJiBpczxTVkdQYXR0ZXJuRWxlbWVudD4ocmVmRWxlbWVu
dCkpIHsKICAgICAgICAgICAgIGN1cnJlbnQgPSBkb3duY2FzdDxTVkdQYXR0ZXJuRWxlbWVudD4o
cmVmRWxlbWVudCk7CiAKICAgICAgICAgICAgIC8vIEN5Y2xlIGRldGVjdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1NWR0VsZW1lbnQuY3BwCmluZGV4IDdkMDhkMTg5ZjE0NjM2OGRhMGIwMWRmM2Q4Mzg1
MDFiNGNkZDMxZDYuLmMxNGNjM2I1NmZhMjQ5ZjQ0OGExNGUyOTgxOTdlMzAwYWIyYTRjNzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKQEAgLTY2MSwxMCArNjYxLDEwIEBAIHZv
aWQgU1ZHU1ZHRWxlbWVudDo6c2V0dXBJbml0aWFsVmlldyhjb25zdCBTdHJpbmcmIGZyYWdtZW50
SWRlbnRpZmllciwgRWxlbWVudCoKICAgICAvLyBvciBNeURyYXdpbmcuc3ZnI3hwb2ludGVyKGlk
KCdNeVZpZXcnKSkpIHRoZW4gdGhlIGNsb3Nlc3QgYW5jZXN0b3Ig4oCYc3Zn4oCZIGVsZW1lbnQg
aXMgZGlzcGxheWVkIGluIHRoZSB2aWV3cG9ydC4KICAgICAvLyBBbnkgdmlldyBzcGVjaWZpY2F0
aW9uIGF0dHJpYnV0ZXMgaW5jbHVkZWQgb24gdGhlIGdpdmVuIOKAmHZpZXfigJkgZWxlbWVudCBv
dmVycmlkZSB0aGUgY29ycmVzcG9uZGluZyB2aWV3IHNwZWNpZmljYXRpb24KICAgICAvLyBhdHRy
aWJ1dGVzIG9uIHRoZSBjbG9zZXN0IGFuY2VzdG9yIOKAmHN2Z+KAmSBlbGVtZW50LgotICAgIGlm
IChhbmNob3JOb2RlICYmIGlzU1ZHVmlld0VsZW1lbnQoYW5jaG9yTm9kZSkpIHsKKyAgICBpZiAo
YW5jaG9yTm9kZSAmJiBpczxTVkdWaWV3RWxlbWVudD4oYW5jaG9yTm9kZSkpIHsKICAgICAgICAg
U1ZHVmlld0VsZW1lbnQmIHZpZXdFbGVtZW50ID0gZG93bmNhc3Q8U1ZHVmlld0VsZW1lbnQ+KCph
bmNob3JOb2RlKTsKICAgICAgICAgU1ZHRWxlbWVudCogZWxlbWVudCA9IFNWR0xvY2F0YWJsZTo6
bmVhcmVzdFZpZXdwb3J0RWxlbWVudCgmdmlld0VsZW1lbnQpOwotICAgICAgICBpZiAoaXNTVkdT
VkdFbGVtZW50KGVsZW1lbnQpKSB7CisgICAgICAgIGlmIChpczxTVkdTVkdFbGVtZW50PihlbGVt
ZW50KSkgewogICAgICAgICAgICAgU1ZHU1ZHRWxlbWVudCYgc3ZnID0gZG93bmNhc3Q8U1ZHU1ZH
RWxlbWVudD4oKmVsZW1lbnQpOwogICAgICAgICAgICAgc3ZnLmluaGVyaXRWaWV3QXR0cmlidXRl
cygmdmlld0VsZW1lbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNl
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKaW5kZXgg
ZGUwYWM4ZDQ2MTk2OGIwMzg4ZWJkNWExMGY0YzI1MjdhZDRhOTJkNy4uYTM5NDQwNTQ5NWI1MmVh
NTVmNDdkZjA2NWI4MWJmODE3ODMwMDlmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1VzZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50
LmNwcApAQCAtMjgyLDcgKzI4Miw3IEBAIHN0YXRpYyB2b2lkIGR1bXBJbnN0YW5jZVRyZWUodW5z
aWduZWQgaW50JiBkZXB0aCwgU3RyaW5nJiB0ZXh0LCBTVkdFbGVtZW50SW5zdGFuCiAgICAgU1ZH
RWxlbWVudCogZWxlbWVudCA9IHRhcmdldEluc3RhbmNlLT5jb3JyZXNwb25kaW5nRWxlbWVudCgp
OwogICAgIEFTU0VSVChlbGVtZW50KTsKIAotICAgIGlmIChpc1NWR1VzZUVsZW1lbnQoZWxlbWVu
dCkpIHsKKyAgICBpZiAoaXM8U1ZHVXNlRWxlbWVudD4oZWxlbWVudCkpIHsKICAgICAgICAgaWYg
KGRvd25jYXN0PFNWR1VzZUVsZW1lbnQ+KCplbGVtZW50KS5jYWNoZWREb2N1bWVudElzU3RpbGxM
b2FkaW5nKCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNzEwLDcgKzcxMCw3IEBA
IHZvaWQgU1ZHVXNlRWxlbWVudDo6ZXhwYW5kVXNlRWxlbWVudHNJblNoYWRvd1RyZWUoTm9kZSog
ZWxlbWVudCkKICAgICAvLyBjb250YWlucyA8dXNlPiB0YWdzLCB3ZSdkIG1pc3MgdGhlbS4gU28g
b25jZSB3ZSdyZSBkb25lIHdpdGggc2V0dGluJyB1cCB0aGUKICAgICAvLyBhY3R1YWwgc2hhZG93
IHRyZWUgKGFmdGVyIHRoZSBzcGVjaWFsIGNhc2UgbW9kaWZpY2F0aW9uIGZvciBzdmcvc3ltYm9s
KSB3ZSBoYXZlCiAgICAgLy8gdG8gd2FsayBpdCBjb21wbGV0ZWx5IGFuZCBleHBhbmQgYWxsIDx1
c2U+IGVsZW1lbnRzLgotICAgIGlmIChpc1NWR1VzZUVsZW1lbnQoZWxlbWVudCkpIHsKKyAgICBp
ZiAoaXM8U1ZHVXNlRWxlbWVudD4oZWxlbWVudCkpIHsKICAgICAgICAgU1ZHVXNlRWxlbWVudCYg
dXNlID0gZG93bmNhc3Q8U1ZHVXNlRWxlbWVudD4oKmVsZW1lbnQpOwogICAgICAgICBBU1NFUlQo
IXVzZS5jYWNoZWREb2N1bWVudElzU3RpbGxMb2FkaW5nKCkpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVktlcm5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdWS2VybkVsZW1lbnQuY3BwCmluZGV4IGUzYjRhMDExNDA3MjE3NjU0YjcxOWQ0Yzg5Y2JlMmZj
Mzc3ZTM5MjIuLjgxOWFiMWUwOTRjODc0YTBkNGM5MTVkMTg5MjE0YzlkN2ZiMGZlN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWS2VybkVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdWS2VybkVsZW1lbnQuY3BwCkBAIC00NCw3ICs0NCw3IEBAIE5vZGU6
Okluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgU1ZHVktlcm5FbGVtZW50OjppbnNlcnRlZElu
dG8oQ29udGFpbmVyTm9kZSYKIHsKICAgICBpZiAocm9vdFBhcmVudC5pbkRvY3VtZW50KCkpIHsK
ICAgICAgICAgQ29udGFpbmVyTm9kZSogZm9udE5vZGUgPSBwYXJlbnROb2RlKCk7Ci0gICAgICAg
IGlmIChmb250Tm9kZSAmJiBpc1NWR0ZvbnRFbGVtZW50KGZvbnROb2RlKSkKKyAgICAgICAgaWYg
KGZvbnROb2RlICYmIGlzPFNWR0ZvbnRFbGVtZW50Pihmb250Tm9kZSkpCiAgICAgICAgICAgICBk
b3duY2FzdDxTVkdGb250RWxlbWVudD4oKmZvbnROb2RlKS5pbnZhbGlkYXRlR2x5cGhDYWNoZSgp
OwogICAgIH0KIApAQCAtNTQsNyArNTQsNyBAQCBOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25S
ZXF1ZXN0IFNWR1ZLZXJuRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUmCiB2b2lk
IFNWR1ZLZXJuRWxlbWVudDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSYgcm9vdFBhcmVudCkK
IHsKICAgICBDb250YWluZXJOb2RlKiBmb250Tm9kZSA9IHBhcmVudE5vZGUoKTsKLSAgICBpZiAo
Zm9udE5vZGUgJiYgaXNTVkdGb250RWxlbWVudChmb250Tm9kZSkpCisgICAgaWYgKGZvbnROb2Rl
ICYmIGlzPFNWR0ZvbnRFbGVtZW50Pihmb250Tm9kZSkpCiAgICAgICAgIGRvd25jYXN0PFNWR0Zv
bnRFbGVtZW50PigqZm9udE5vZGUpLmludmFsaWRhdGVHbHlwaENhY2hlKCk7CiAKICAgICBTVkdF
bGVtZW50OjpyZW1vdmVkRnJvbShyb290UGFyZW50KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>