<?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>138036</bug_id>
          
          <creation_ts>2014-10-23 20:23:16 -0700</creation_ts>
          <short_desc>Move ComputeLength CSS properties to the new StyleBuilder</short_desc>
          <delta_ts>2014-10-24 11:32:37 -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>CSS</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>http://src.chromium.org/viewvc/blink?view=rev&amp;rev=154012</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>137910</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1043921</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-23 20:23:16 -0700</bug_when>
    <thetext>Move ComputeLength CSS properties from DeprecatedStyleBuilder to the new StyleBuilder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043929</commentid>
    <comment_count>1</comment_count>
      <attachid>240388</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-23 21:04:48 -0700</bug_when>
    <thetext>Created attachment 240388
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043973</commentid>
    <comment_count>2</comment_count>
      <attachid>240388</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-10-24 10:41:24 -0700</bug_when>
    <thetext>Comment on attachment 240388
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044002</commentid>
    <comment_count>3</comment_count>
      <attachid>240388</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-24 11:32:32 -0700</bug_when>
    <thetext>Comment on attachment 240388
Patch

Clearing flags on attachment: 240388

Committed r175169: &lt;http://trac.webkit.org/changeset/175169&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044003</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-24 11:32:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240388</attachid>
            <date>2014-10-23 21:04:48 -0700</date>
            <delta_ts>2014-10-24 11:32:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138036-20141023210456.patch</filename>
            <type>text/plain</type>
            <size>23004</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1MTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE1N2MzOTU1MzM0YWMz
NmExN2NiZjRjMTU3NzM1OWQ2NWRkYzNmNS4uN2E4YjRhY2NkNDRiMDM3NTI5N2RlMWVlYWQzZjU0
NmY2NzU0MTE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE0LTEwLTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBDb21wdXRlTGVuZ3Ro
IENTUyBwcm9wZXJ0aWVzIHRvIHRoZSBuZXcgU3R5bGVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzgwMzYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIENvbXB1dGVMZW5ndGggQ1NTIHBy
b3BlcnRpZXMgZnJvbSBEZXByZWNhdGVkU3R5bGVCdWlsZGVyIHRvIHRoZQorICAgICAgICBuZXcg
U3R5bGVCdWlsZGVyIHNvIHRoYXQgdGhleSBhcmUgbm93IGdlbmVyYXRlZC4gMyBDb252ZXJ0ZXJz
IGFyZQorICAgICAgICBwcm92aWRlZCBmb3IgdGhlc2UgcHJvcGVydGllczogQ29tcHV0ZWRMZW5n
dGggLyBMaW5lV2lkdGggLyBTcGFjaW5nLgorCisgICAgICAgIFRoaXMgaXMgaW5zcGlyZWQgYnkg
dGhlIGZvbGxvd2luZyBCbGluayByZXZpc2lvbiBieQorICAgICAgICA8dGltbG9oQGNocm9taXVt
Lm9yZz46CisgICAgICAgIGh0dHBzOi8vc3JjLmNocm9taXVtLm9yZy92aWV3dmMvYmxpbms/dmll
dz1yZXYmcmV2aXNpb249MTU0MDEyCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlv
ciBjaGFuZ2UuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAg
KiBjc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXBy
ZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVkU3R5bGVCdWlsZGVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkFwcGx5UHJvcGVydHlDb21wdXRlTGVuZ3RoOjpzZXRWYWx1ZSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5Q29tcHV0ZUxlbmd0aDo6YXBwbHlWYWx1ZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5Q29tcHV0ZUxlbmd0aDo6
Y3JlYXRlSGFuZGxlcik6IERlbGV0ZWQuCisgICAgICAgICogY3NzL1N0eWxlQnVpbGRlckNvbnZl
cnRlci5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0
Q29tcHV0ZWRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyQ29udmVydGVy
Ojpjb252ZXJ0TGluZVdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckNvbnZl
cnRlcjo6Y29udmVydFNwYWNpbmcpOgorCiAyMDE0LTEwLTIzICBHeXV5b3VuZyBLaW0gIDxneXV5
b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgUmVtb3ZlIEhhcmZCdXp6UnVuOjpjcmVh
dGUoKSBmYWN0b3J5IGZ1bmN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmlu
CmluZGV4IDk3N2Q4MTFjYThhMjA5Mjg5YmNiNjAwZWI1ZmYwMTliZjE0OWJlYmEuLmNlYzU2MGI4
MTUzM2YyN2ExODY1MTUwNjhiYWMyZTRhYTU2OGYzMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eU5hbWVzLmluCkBAIC02NCw3ICs2NCw3IEBAIGJvcmRlci1ib3R0b20tbGVmdC1yYWRp
dXMKIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzCiAtd2Via2l0LWJvcmRlci1ib3R0b20tcmln
aHQtcmFkaXVzID0gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMKIGJvcmRlci1ib3R0b20tc3R5
bGUgW05ld1N0eWxlQnVpbGRlciwgVHlwZU5hbWU9RUJvcmRlclN0eWxlLCBJbml0aWFsPWluaXRp
YWxCb3JkZXJTdHlsZV0KLWJvcmRlci1ib3R0b20td2lkdGgKK2JvcmRlci1ib3R0b20td2lkdGgg
W05ld1N0eWxlQnVpbGRlciwgSW5pdGlhbD1pbml0aWFsQm9yZGVyV2lkdGgsIENvbnZlcnRlcj1M
aW5lV2lkdGg8ZmxvYXQ+XQogYm9yZGVyLWNvbGxhcHNlIFtJbmhlcml0ZWQsIE5ld1N0eWxlQnVp
bGRlcl0KIGJvcmRlci1jb2xvcgogYm9yZGVyLWltYWdlCkBAIC03NiwxMiArNzYsMTIgQEAgYm9y
ZGVyLWltYWdlLXdpZHRoCiBib3JkZXItbGVmdAogYm9yZGVyLWxlZnQtY29sb3IKIGJvcmRlci1s
ZWZ0LXN0eWxlIFtOZXdTdHlsZUJ1aWxkZXIsIFR5cGVOYW1lPUVCb3JkZXJTdHlsZSwgSW5pdGlh
bD1pbml0aWFsQm9yZGVyU3R5bGVdCi1ib3JkZXItbGVmdC13aWR0aAorYm9yZGVyLWxlZnQtd2lk
dGggW05ld1N0eWxlQnVpbGRlciwgSW5pdGlhbD1pbml0aWFsQm9yZGVyV2lkdGgsIENvbnZlcnRl
cj1MaW5lV2lkdGg8ZmxvYXQ+XQogYm9yZGVyLXJhZGl1cwogYm9yZGVyLXJpZ2h0CiBib3JkZXIt
cmlnaHQtY29sb3IKIGJvcmRlci1yaWdodC1zdHlsZSBbTmV3U3R5bGVCdWlsZGVyLCBUeXBlTmFt
ZT1FQm9yZGVyU3R5bGUsIEluaXRpYWw9aW5pdGlhbEJvcmRlclN0eWxlXQotYm9yZGVyLXJpZ2h0
LXdpZHRoCitib3JkZXItcmlnaHQtd2lkdGggW05ld1N0eWxlQnVpbGRlciwgSW5pdGlhbD1pbml0
aWFsQm9yZGVyV2lkdGgsIENvbnZlcnRlcj1MaW5lV2lkdGg8ZmxvYXQ+XQogYm9yZGVyLXNwYWNp
bmcgW0luaGVyaXRlZF0KIGJvcmRlci1zdHlsZQogYm9yZGVyLXRvcApAQCAtOTEsNyArOTEsNyBA
QCBib3JkZXItdG9wLWxlZnQtcmFkaXVzCiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cwogLXdlYmtp
dC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyA9IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzCiBib3Jk
ZXItdG9wLXN0eWxlIFtOZXdTdHlsZUJ1aWxkZXIsIFR5cGVOYW1lPUVCb3JkZXJTdHlsZSwgSW5p
dGlhbD1pbml0aWFsQm9yZGVyU3R5bGVdCi1ib3JkZXItdG9wLXdpZHRoCitib3JkZXItdG9wLXdp
ZHRoIFtOZXdTdHlsZUJ1aWxkZXIsIEluaXRpYWw9aW5pdGlhbEJvcmRlcldpZHRoLCBDb252ZXJ0
ZXI9TGluZVdpZHRoPGZsb2F0Pl0KIGJvcmRlci13aWR0aAogYm90dG9tIFtOZXdTdHlsZUJ1aWxk
ZXIsIEluaXRpYWw9aW5pdGlhbE9mZnNldCwgQ29udmVydGVyPUxlbmd0aE9yQXV0b10KIGJveC1z
aGFkb3cKQEAgLTEyMiw3ICsxMjIsNyBAQCBpbWFnZS1yZW5kZXJpbmcgW0luaGVyaXRlZCwgTmV3
U3R5bGVCdWlsZGVyXQogaW1hZ2UtcmVzb2x1dGlvbiBbSW5oZXJpdGVkXQogI2VuZGlmCiBsZWZ0
IFtOZXdTdHlsZUJ1aWxkZXIsIEluaXRpYWw9aW5pdGlhbE9mZnNldCwgQ29udmVydGVyPUxlbmd0
aE9yQXV0b10KLWxldHRlci1zcGFjaW5nIFtJbmhlcml0ZWRdCitsZXR0ZXItc3BhY2luZyBbSW5o
ZXJpdGVkLCBOZXdTdHlsZUJ1aWxkZXIsIENvbnZlcnRlcj1TcGFjaW5nXQogbGlzdC1zdHlsZSBb
SW5oZXJpdGVkXQogbGlzdC1zdHlsZS1pbWFnZSBbSW5oZXJpdGVkXQogbGlzdC1zdHlsZS1wb3Np
dGlvbiBbSW5oZXJpdGVkLCBOZXdTdHlsZUJ1aWxkZXJdCkBAIC0xNDQsOSArMTQ0LDkgQEAgb3Bh
Y2l0eSBbTmV3U3R5bGVCdWlsZGVyLCBUeXBlTmFtZT1mbG9hdF0KIG9ycGhhbnMgW0luaGVyaXRl
ZF0KIG91dGxpbmUKIG91dGxpbmUtY29sb3IKLW91dGxpbmUtb2Zmc2V0CitvdXRsaW5lLW9mZnNl
dCBbTmV3U3R5bGVCdWlsZGVyLCBDb252ZXJ0ZXI9Q29tcHV0ZWRMZW5ndGg8aW50Pl0KIG91dGxp
bmUtc3R5bGUKLW91dGxpbmUtd2lkdGgKK291dGxpbmUtd2lkdGggW05ld1N0eWxlQnVpbGRlciwg
Q29udmVydGVyPUxpbmVXaWR0aDx1bnNpZ25lZCBzaG9ydD5dCiBvdmVyZmxvdwogb3ZlcmZsb3ct
d3JhcCBbTmV3U3R5bGVCdWlsZGVyXQogb3ZlcmZsb3cteCBbTmV3U3R5bGVCdWlsZGVyLCBUeXBl
TmFtZT1FT3ZlcmZsb3ddCkBAIC0yNDUsNyArMjQ1LDcgQEAgei1pbmRleAogLXdlYmtpdC1ib3Jk
ZXItZW5kLXN0eWxlCiAtd2Via2l0LWJvcmRlci1lbmQtd2lkdGgKIC13ZWJraXQtYm9yZGVyLWZp
dCBbTmV3U3R5bGVCdWlsZGVyXQotLXdlYmtpdC1ib3JkZXItaG9yaXpvbnRhbC1zcGFjaW5nIFtJ
bmhlcml0ZWRdCistd2Via2l0LWJvcmRlci1ob3Jpem9udGFsLXNwYWNpbmcgW0luaGVyaXRlZCwg
TmV3U3R5bGVCdWlsZGVyLCBOYW1lRm9yTWV0aG9kcz1Ib3Jpem9udGFsQm9yZGVyU3BhY2luZywg
Q29udmVydGVyPUNvbXB1dGVkTGVuZ3RoPHNob3J0Pl0KIC13ZWJraXQtYm9yZGVyLWltYWdlCiAv
LyAtd2Via2l0LWJvcmRlci1yYWRpdXMgZGlmZmVycyBmcm9tIGJvcmRlci1yYWRpdXMgb25seSBp
biB0aGUgaW50ZXJwcmV0YXRpb24gb2YKIC8vIGEgdmFsdWUgY29uc2lzdGluZyBvZiB0d28gbGVu
Z3RoczogIi13ZWJraXQtYm9yZGVyLXJhZGl1czogbDEgbDI7IiBpcyBlcXVpdmFsZW50CkBAIC0y
NTUsNyArMjU1LDcgQEAgei1pbmRleAogLXdlYmtpdC1ib3JkZXItc3RhcnQtY29sb3IKIC13ZWJr
aXQtYm9yZGVyLXN0YXJ0LXN0eWxlCiAtd2Via2l0LWJvcmRlci1zdGFydC13aWR0aAotLXdlYmtp
dC1ib3JkZXItdmVydGljYWwtc3BhY2luZyBbSW5oZXJpdGVkXQorLXdlYmtpdC1ib3JkZXItdmVy
dGljYWwtc3BhY2luZyBbSW5oZXJpdGVkLCBOZXdTdHlsZUJ1aWxkZXIsIE5hbWVGb3JNZXRob2Rz
PVZlcnRpY2FsQm9yZGVyU3BhY2luZywgQ29udmVydGVyPUNvbXB1dGVkTGVuZ3RoPHNob3J0Pl0K
IC13ZWJraXQtYm94LWFsaWduIFtOZXdTdHlsZUJ1aWxkZXIsIFR5cGVOYW1lPUVCb3hBbGlnbm1l
bnRdCiAtd2Via2l0LWJveC1kaXJlY3Rpb24gW0luaGVyaXRlZCwgTmV3U3R5bGVCdWlsZGVyXQog
LXdlYmtpdC1ib3gtZmxleCBbTmV3U3R5bGVCdWlsZGVyLCBUeXBlTmFtZT1mbG9hdF0KQEAgLTI4
MSw3ICsyODEsNyBAQCB6LWluZGV4CiAtd2Via2l0LWNvbHVtbi1ydWxlCiAtd2Via2l0LWNvbHVt
bi1ydWxlLWNvbG9yCiAtd2Via2l0LWNvbHVtbi1ydWxlLXN0eWxlIFtOZXdTdHlsZUJ1aWxkZXIs
IFR5cGVOYW1lPUVCb3JkZXJTdHlsZSwgSW5pdGlhbD1pbml0aWFsQm9yZGVyU3R5bGVdCi0td2Vi
a2l0LWNvbHVtbi1ydWxlLXdpZHRoCistd2Via2l0LWNvbHVtbi1ydWxlLXdpZHRoIFtOZXdTdHls
ZUJ1aWxkZXIsIENvbnZlcnRlcj1MaW5lV2lkdGg8dW5zaWduZWQgc2hvcnQ+XQogLXdlYmtpdC1j
b2x1bW4tc3BhbiBbTmV3U3R5bGVCdWlsZGVyLCBUeXBlTmFtZT1Db2x1bW5TcGFuXQogLXdlYmtp
dC1jb2x1bW4td2lkdGgKIC13ZWJraXQtY29sdW1ucwpAQCAtNDQwLDcgKzQ0MCw3IEBAIHRleHQt
ZW1waGFzaXMtc3R5bGUgPSAtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKIC13ZWJraXQtdHJh
bnNmb3JtLW9yaWdpbgogLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luLXggW05ld1N0eWxlQnVpbGRl
ciwgQ29udmVydGVyPUxlbmd0aF0KIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbi15IFtOZXdTdHls
ZUJ1aWxkZXIsIENvbnZlcnRlcj1MZW5ndGhdCi0td2Via2l0LXRyYW5zZm9ybS1vcmlnaW4tegor
LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luLXogW05ld1N0eWxlQnVpbGRlciwgQ29udmVydGVyPUNv
bXB1dGVkTGVuZ3RoPGZsb2F0Pl0KIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlIFtOZXdTdHlsZUJ1
aWxkZXIsIFR5cGVOYW1lPUVUcmFuc2Zvcm1TdHlsZTNELCBOYW1lRm9yTWV0aG9kcz1UcmFuc2Zv
cm1TdHlsZTNEXQogLXdlYmtpdC10cmFuc2l0aW9uCiAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcAppbmRleCBm
ZjFhZGUzZGIzNWNhODk3NjdiOWY0MjY1MzUxMDJlMGFlZWEwNjU5Li43ZjY4NWZmYmYwMTcwZWRh
ZDVhMDk0MTUxNjNlYjY5YzZjMWE4NTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
RGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJl
Y2F0ZWRTdHlsZUJ1aWxkZXIuY3BwCkBAIC01ODAsNjIgKzU4MCw2IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgUHJvcGVydHlIYW5kbGVyIGNyZWF0ZUhhbmRsZXIoKSB7IHJldHVybiBQcm9wZXJ0eUhh
bmRsZXIoJmFwcGx5SW5oZXJpdFZhbHVlLCAmYXBwbHlJbml0aWFsVmFsdWUsICZhcHBseVZhbHVl
KTsgfQogfTsKIAotZW51bSBDb21wdXRlTGVuZ3RoTm9ybWFsIHtOb3JtYWxEaXNhYmxlZCA9IDAs
IE5vcm1hbEVuYWJsZWR9OwotZW51bSBDb21wdXRlTGVuZ3RoVGhpY2tuZXNzIHtUaGlja25lc3NE
aXNhYmxlZCA9IDAsIFRoaWNrbmVzc0VuYWJsZWR9OwotZW51bSBDb21wdXRlTGVuZ3RoU1ZHWm9v
bSB7U1ZHWm9vbURpc2FibGVkID0gMCwgU1ZHWm9vbUVuYWJsZWR9OwotdGVtcGxhdGUgPHR5cGVu
YW1lIFQsCi0gICAgICAgICAgVCAoUmVuZGVyU3R5bGU6OipnZXR0ZXJGdW5jdGlvbikoKSBjb25z
dCwKLSAgICAgICAgICB2b2lkIChSZW5kZXJTdHlsZTo6KnNldHRlckZ1bmN0aW9uKShUKSwKLSAg
ICAgICAgICBUICgqaW5pdGlhbEZ1bmN0aW9uKSgpLAotICAgICAgICAgIENvbXB1dGVMZW5ndGhO
b3JtYWwgbm9ybWFsRW5hYmxlZCA9IE5vcm1hbERpc2FibGVkLAotICAgICAgICAgIENvbXB1dGVM
ZW5ndGhUaGlja25lc3MgdGhpY2tuZXNzRW5hYmxlZCA9IFRoaWNrbmVzc0Rpc2FibGVkLAotICAg
ICAgICAgIENvbXB1dGVMZW5ndGhTVkdab29tIHN2Z1pvb21FbmFibGVkID0gU1ZHWm9vbURpc2Fi
bGVkPgotY2xhc3MgQXBwbHlQcm9wZXJ0eUNvbXB1dGVMZW5ndGggewotcHVibGljOgotICAgIHN0
YXRpYyB2b2lkIHNldFZhbHVlKFJlbmRlclN0eWxlKiBzdHlsZSwgVCB2YWx1ZSkgeyAoc3R5bGUt
PipzZXR0ZXJGdW5jdGlvbikodmFsdWUpOyB9Ci0gICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZShD
U1NQcm9wZXJ0eUlELCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSogdmFs
dWUpCi0gICAgewotICAgICAgICAvLyBub3RlOiBDU1NQcm9wZXJ0eUxldHRlci9Xb3JkU3BhY2lu
ZyByaWdodCBub3cgc2V0cyB0byB6ZXJvIGlmIGl0J3Mgbm90IGEgcHJpbWl0aXZlIHZhbHVlIGZv
ciBzb21lIHJlYXNvbi4uLgotICAgICAgICBpZiAoIWlzPENTU1ByaW1pdGl2ZVZhbHVlPigqdmFs
dWUpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlJiBw
cmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpOwotCi0g
ICAgICAgIENTU1ZhbHVlSUQgaWRlbnQgPSBwcmltaXRpdmVWYWx1ZS5nZXRWYWx1ZUlEKCk7Ci0g
ICAgICAgIFQgbGVuZ3RoOwotICAgICAgICBpZiAobm9ybWFsRW5hYmxlZCAmJiBpZGVudCA9PSBD
U1NWYWx1ZU5vcm1hbCkgewotICAgICAgICAgICAgbGVuZ3RoID0gMDsKLSAgICAgICAgfSBlbHNl
IGlmICh0aGlja25lc3NFbmFibGVkICYmIGlkZW50ID09IENTU1ZhbHVlVGhpbikgewotICAgICAg
ICAgICAgbGVuZ3RoID0gMTsKLSAgICAgICAgfSBlbHNlIGlmICh0aGlja25lc3NFbmFibGVkICYm
IGlkZW50ID09IENTU1ZhbHVlTWVkaXVtKSB7Ci0gICAgICAgICAgICBsZW5ndGggPSAzOwotICAg
ICAgICB9IGVsc2UgaWYgKHRoaWNrbmVzc0VuYWJsZWQgJiYgaWRlbnQgPT0gQ1NTVmFsdWVUaGlj
aykgewotICAgICAgICAgICAgbGVuZ3RoID0gNTsKLSAgICAgICAgfSBlbHNlIGlmIChpZGVudCA9
PSBDU1NWYWx1ZUludmFsaWQpIHsKLSAgICAgICAgICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRh
dGEgY29udmVyc2lvbkRhdGEgPSAoc3ZnWm9vbUVuYWJsZWQgJiYgc3R5bGVSZXNvbHZlci0+dXNl
U1ZHWm9vbVJ1bGVzKCkpID8gc3R5bGVSZXNvbHZlci0+c3RhdGUoKS5jc3NUb0xlbmd0aENvbnZl
cnNpb25EYXRhKCkuY29weVdpdGhBZGp1c3RlZFpvb20oMS4wZikgOiBzdHlsZVJlc29sdmVyLT5z
dGF0ZSgpLmNzc1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoKTsKLQotICAgICAgICAgICAgLy8gQW55
IG9yaWdpbmFsIHJlc3VsdCB0aGF0IHdhcyA+PSAxIHNob3VsZCBub3QgYmUgYWxsb3dlZCB0byBm
YWxsIGJlbG93IDEuCi0gICAgICAgICAgICAvLyBUaGlzIGtlZXBzIGJvcmRlciBsaW5lcyBmcm9t
IHZhbmlzaGluZy4KLSAgICAgICAgICAgIGxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVM
ZW5ndGg8VD4oY29udmVyc2lvbkRhdGEpOwotICAgICAgICAgICAgaWYgKGNvbnZlcnNpb25EYXRh
Lnpvb20oKSA8IDEuMGYgJiYgbGVuZ3RoIDwgMS4wKSB7Ci0gICAgICAgICAgICAgICAgVCBvcmln
aW5hbExlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5ndGg8VD4oY29udmVyc2lvbkRh
dGEuY29weVdpdGhBZGp1c3RlZFpvb20oMS4wZikpOwotICAgICAgICAgICAgICAgIGlmIChvcmln
aW5hbExlbmd0aCA+PSAxLjApCi0gICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IDEuMDsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwotICAgICAgICAgICAgbGVuZ3RoID0gMDsKLSAgICAgICAgfQotCi0gICAgICAgIHNl
dFZhbHVlKHN0eWxlUmVzb2x2ZXItPnN0eWxlKCksIGxlbmd0aCk7Ci0gICAgfQotICAgIHN0YXRp
YyBQcm9wZXJ0eUhhbmRsZXIgY3JlYXRlSGFuZGxlcigpCi0gICAgewotICAgICAgICBQcm9wZXJ0
eUhhbmRsZXIgaGFuZGxlciA9IEFwcGx5UHJvcGVydHlEZWZhdWx0QmFzZTxULCBnZXR0ZXJGdW5j
dGlvbiwgVCwgc2V0dGVyRnVuY3Rpb24sIFQsIGluaXRpYWxGdW5jdGlvbj46OmNyZWF0ZUhhbmRs
ZXIoKTsKLSAgICAgICAgcmV0dXJuIFByb3BlcnR5SGFuZGxlcihoYW5kbGVyLmluaGVyaXRGdW5j
dGlvbigpLCBoYW5kbGVyLmluaXRpYWxGdW5jdGlvbigpLCAmYXBwbHlWYWx1ZSk7Ci0gICAgfQot
fTsKLQogdGVtcGxhdGUgPHR5cGVuYW1lIFQsIFQgKEZvbnREZXNjcmlwdGlvbjo6KmdldHRlckZ1
bmN0aW9uKSgpIGNvbnN0LCB2b2lkIChGb250RGVzY3JpcHRpb246OipzZXR0ZXJGdW5jdGlvbiko
VCksIFQgaW5pdGlhbFZhbHVlPgogY2xhc3MgQXBwbHlQcm9wZXJ0eUZvbnQgewogcHVibGljOgpA
QCAtMjM1OCwyMCArMjMwMiwxNiBAQCBEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVk
U3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlCb3JkZXJC
b3R0b21Db2xvciwgQXBwbHlQcm9wZXJ0eUNvbG9yPE5vSW5oZXJpdEZyb21QYXJlbnQsICZSZW5k
ZXJTdHlsZTo6Ym9yZGVyQm90dG9tQ29sb3IsICZSZW5kZXJTdHlsZTo6c2V0Qm9yZGVyQm90dG9t
Q29sb3IsICZSZW5kZXJTdHlsZTo6c2V0VmlzaXRlZExpbmtCb3JkZXJCb3R0b21Db2xvciwgJlJl
bmRlclN0eWxlOjpjb2xvcj46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5k
bGVyKENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tTGVmdFJhZGl1cywgQXBwbHlQcm9wZXJ0eUJvcmRl
clJhZGl1czwmUmVuZGVyU3R5bGU6OmJvcmRlckJvdHRvbUxlZnRSYWRpdXMsICZSZW5kZXJTdHls
ZTo6c2V0Qm9yZGVyQm90dG9tTGVmdFJhZGl1cywgJlJlbmRlclN0eWxlOjppbml0aWFsQm9yZGVy
UmFkaXVzPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlCb3JkZXJCb3R0b21SaWdodFJhZGl1cywgQXBwbHlQcm9wZXJ0eUJvcmRlclJhZGl1czwm
UmVuZGVyU3R5bGU6OmJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzLCAmUmVuZGVyU3R5bGU6OnNldEJv
cmRlckJvdHRvbVJpZ2h0UmFkaXVzLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxCb3JkZXJSYWRpdXM+
OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUJv
cmRlckJvdHRvbVdpZHRoLCBBcHBseVByb3BlcnR5Q29tcHV0ZUxlbmd0aDxmbG9hdCwgJlJlbmRl
clN0eWxlOjpib3JkZXJCb3R0b21XaWR0aCwgJlJlbmRlclN0eWxlOjpzZXRCb3JkZXJCb3R0b21X
aWR0aCwgJlJlbmRlclN0eWxlOjppbml0aWFsQm9yZGVyV2lkdGgsIE5vcm1hbERpc2FibGVkLCBU
aGlja25lc3NFbmFibGVkPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlCb3JkZXJJbWFnZU91dHNldCwgQXBwbHlQcm9wZXJ0eUJvcmRlckltYWdl
TW9kaWZpZXI8Qm9yZGVySW1hZ2UsIE91dHNldD46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0
UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5Qm9yZGVySW1hZ2VSZXBlYXQsIEFwcGx5UHJvcGVy
dHlCb3JkZXJJbWFnZU1vZGlmaWVyPEJvcmRlckltYWdlLCBSZXBlYXQ+OjpjcmVhdGVIYW5kbGVy
KCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUJvcmRlckltYWdlU2xpY2Us
IEFwcGx5UHJvcGVydHlCb3JkZXJJbWFnZU1vZGlmaWVyPEJvcmRlckltYWdlLCBTbGljZT46OmNy
ZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5Qm9yZGVy
SW1hZ2VTb3VyY2UsIEFwcGx5UHJvcGVydHlCb3JkZXJJbWFnZVNvdXJjZTxDU1NQcm9wZXJ0eUJv
cmRlckltYWdlU291cmNlLCAmUmVuZGVyU3R5bGU6OmJvcmRlckltYWdlU291cmNlLCAmUmVuZGVy
U3R5bGU6OnNldEJvcmRlckltYWdlU291cmNlLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxCb3JkZXJJ
bWFnZVNvdXJjZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENT
U1Byb3BlcnR5Qm9yZGVySW1hZ2VXaWR0aCwgQXBwbHlQcm9wZXJ0eUJvcmRlckltYWdlTW9kaWZp
ZXI8Qm9yZGVySW1hZ2UsIFdpZHRoPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlCb3JkZXJMZWZ0Q29sb3IsIEFwcGx5UHJvcGVydHlDb2xvcjxO
b0luaGVyaXRGcm9tUGFyZW50LCAmUmVuZGVyU3R5bGU6OmJvcmRlckxlZnRDb2xvciwgJlJlbmRl
clN0eWxlOjpzZXRCb3JkZXJMZWZ0Q29sb3IsICZSZW5kZXJTdHlsZTo6c2V0VmlzaXRlZExpbmtC
b3JkZXJMZWZ0Q29sb3IsICZSZW5kZXJTdHlsZTo6Y29sb3I+OjpjcmVhdGVIYW5kbGVyKCkpOwot
ICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUJvcmRlckxlZnRXaWR0aCwgQXBwbHlQ
cm9wZXJ0eUNvbXB1dGVMZW5ndGg8ZmxvYXQsICZSZW5kZXJTdHlsZTo6Ym9yZGVyTGVmdFdpZHRo
LCAmUmVuZGVyU3R5bGU6OnNldEJvcmRlckxlZnRXaWR0aCwgJlJlbmRlclN0eWxlOjppbml0aWFs
Qm9yZGVyV2lkdGgsIE5vcm1hbERpc2FibGVkLCBUaGlja25lc3NFbmFibGVkPjo6Y3JlYXRlSGFu
ZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlCb3JkZXJSaWdodENv
bG9yLCBBcHBseVByb3BlcnR5Q29sb3I8Tm9Jbmhlcml0RnJvbVBhcmVudCwgJlJlbmRlclN0eWxl
Ojpib3JkZXJSaWdodENvbG9yLCAmUmVuZGVyU3R5bGU6OnNldEJvcmRlclJpZ2h0Q29sb3IsICZS
ZW5kZXJTdHlsZTo6c2V0VmlzaXRlZExpbmtCb3JkZXJSaWdodENvbG9yLCAmUmVuZGVyU3R5bGU6
OmNvbG9yPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlCb3JkZXJSaWdodFdpZHRoLCBBcHBseVByb3BlcnR5Q29tcHV0ZUxlbmd0aDxmbG9hdCwg
JlJlbmRlclN0eWxlOjpib3JkZXJSaWdodFdpZHRoLCAmUmVuZGVyU3R5bGU6OnNldEJvcmRlclJp
Z2h0V2lkdGgsICZSZW5kZXJTdHlsZTo6aW5pdGlhbEJvcmRlcldpZHRoLCBOb3JtYWxEaXNhYmxl
ZCwgVGhpY2tuZXNzRW5hYmxlZD46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlI
YW5kbGVyKENTU1Byb3BlcnR5Qm9yZGVyVG9wQ29sb3IsIEFwcGx5UHJvcGVydHlDb2xvcjxOb0lu
aGVyaXRGcm9tUGFyZW50LCAmUmVuZGVyU3R5bGU6OmJvcmRlclRvcENvbG9yLCAmUmVuZGVyU3R5
bGU6OnNldEJvcmRlclRvcENvbG9yLCAmUmVuZGVyU3R5bGU6OnNldFZpc2l0ZWRMaW5rQm9yZGVy
VG9wQ29sb3IsICZSZW5kZXJTdHlsZTo6Y29sb3I+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNl
dFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUJvcmRlclRvcExlZnRSYWRpdXMsIEFwcGx5UHJv
cGVydHlCb3JkZXJSYWRpdXM8JlJlbmRlclN0eWxlOjpib3JkZXJUb3BMZWZ0UmFkaXVzLCAmUmVu
ZGVyU3R5bGU6OnNldEJvcmRlclRvcExlZnRSYWRpdXMsICZSZW5kZXJTdHlsZTo6aW5pdGlhbEJv
cmRlclJhZGl1cz46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENT
U1Byb3BlcnR5Qm9yZGVyVG9wUmlnaHRSYWRpdXMsIEFwcGx5UHJvcGVydHlCb3JkZXJSYWRpdXM8
JlJlbmRlclN0eWxlOjpib3JkZXJUb3BSaWdodFJhZGl1cywgJlJlbmRlclN0eWxlOjpzZXRCb3Jk
ZXJUb3BSaWdodFJhZGl1cywgJlJlbmRlclN0eWxlOjppbml0aWFsQm9yZGVyUmFkaXVzPjo6Y3Jl
YXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlCb3JkZXJU
b3BXaWR0aCwgQXBwbHlQcm9wZXJ0eUNvbXB1dGVMZW5ndGg8ZmxvYXQsICZSZW5kZXJTdHlsZTo6
Ym9yZGVyVG9wV2lkdGgsICZSZW5kZXJTdHlsZTo6c2V0Qm9yZGVyVG9wV2lkdGgsICZSZW5kZXJT
dHlsZTo6aW5pdGlhbEJvcmRlcldpZHRoLCBOb3JtYWxEaXNhYmxlZCwgVGhpY2tuZXNzRW5hYmxl
ZD46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5
Q2xpcCwgQXBwbHlQcm9wZXJ0eUNsaXA6OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVy
dHlIYW5kbGVyKENTU1Byb3BlcnR5Q29sb3IsIEFwcGx5UHJvcGVydHlDb2xvcjxJbmhlcml0RnJv
bVBhcmVudCwgJlJlbmRlclN0eWxlOjpjb2xvciwgJlJlbmRlclN0eWxlOjpzZXRDb2xvciwgJlJl
bmRlclN0eWxlOjpzZXRWaXNpdGVkTGlua0NvbG9yLCAmUmVuZGVyU3R5bGU6OmludmFsaWRDb2xv
ciwgUmVuZGVyU3R5bGU6OmluaXRpYWxDb2xvcj46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0
UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5Q291bnRlckluY3JlbWVudCwgQXBwbHlQcm9wZXJ0
eUNvdW50ZXI8SW5jcmVtZW50Pjo6Y3JlYXRlSGFuZGxlcigpKTsKQEAgLTIzODcsOCArMjMyNyw2
IEBAIERlcHJlY2F0ZWRTdHlsZUJ1aWxkZXI6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIoKQogI2lm
IEVOQUJMRShDU1NfSU1BR0VfUkVTT0xVVElPTikKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NT
UHJvcGVydHlJbWFnZVJlc29sdXRpb24sIEFwcGx5UHJvcGVydHlJbWFnZVJlc29sdXRpb246OmNy
ZWF0ZUhhbmRsZXIoKSk7CiAjZW5kaWYKLSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVy
dHlMZXR0ZXJTcGFjaW5nLCBBcHBseVByb3BlcnR5Q29tcHV0ZUxlbmd0aDxmbG9hdCwgJlJlbmRl
clN0eWxlOjpsZXR0ZXJTcGFjaW5nLCAmUmVuZGVyU3R5bGU6OnNldExldHRlclNwYWNpbmcsICZS
ZW5kZXJTdHlsZTo6aW5pdGlhbExldHRlclNwYWNpbmcsIE5vcm1hbEVuYWJsZWQsIFRoaWNrbmVz
c0Rpc2FibGVkLCBTVkdab29tRW5hYmxlZD46OmNyZWF0ZUhhbmRsZXIoKSk7Ci0KICNpZiBFTkFC
TEUoSU9TX1RFWFRfQVVUT1NJWklORykKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVy
dHlMaW5lSGVpZ2h0LCBBcHBseVByb3BlcnR5TGluZUhlaWdodEZvcklPU1RleHRBdXRvc2l6aW5n
OjpjcmVhdGVIYW5kbGVyKCkpOwogI2Vsc2UKQEAgLTIzOTcsOSArMjMzNSw3IEBAIERlcHJlY2F0
ZWRTdHlsZUJ1aWxkZXI6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIoKQogICAgIHNldFByb3BlcnR5
SGFuZGxlcihDU1NQcm9wZXJ0eUxpc3RTdHlsZUltYWdlLCBBcHBseVByb3BlcnR5U3R5bGVJbWFn
ZTwmUmVuZGVyU3R5bGU6Omxpc3RTdHlsZUltYWdlLCAmUmVuZGVyU3R5bGU6OnNldExpc3RTdHls
ZUltYWdlLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxMaXN0U3R5bGVJbWFnZSwgQ1NTUHJvcGVydHlM
aXN0U3R5bGVJbWFnZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVy
KENTU1Byb3BlcnR5T3JwaGFucywgQXBwbHlQcm9wZXJ0eUF1dG88c2hvcnQsICZSZW5kZXJTdHls
ZTo6b3JwaGFucywgJlJlbmRlclN0eWxlOjpzZXRPcnBoYW5zLCAmUmVuZGVyU3R5bGU6Omhhc0F1
dG9PcnBoYW5zLCAmUmVuZGVyU3R5bGU6OnNldEhhc0F1dG9PcnBoYW5zPjo6Y3JlYXRlSGFuZGxl
cigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlPdXRsaW5lQ29sb3IsIEFw
cGx5UHJvcGVydHlDb2xvcjxOb0luaGVyaXRGcm9tUGFyZW50LCAmUmVuZGVyU3R5bGU6Om91dGxp
bmVDb2xvciwgJlJlbmRlclN0eWxlOjpzZXRPdXRsaW5lQ29sb3IsICZSZW5kZXJTdHlsZTo6c2V0
VmlzaXRlZExpbmtPdXRsaW5lQ29sb3IsICZSZW5kZXJTdHlsZTo6Y29sb3I+OjpjcmVhdGVIYW5k
bGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eU91dGxpbmVPZmZzZXQs
IEFwcGx5UHJvcGVydHlDb21wdXRlTGVuZ3RoPGludCwgJlJlbmRlclN0eWxlOjpvdXRsaW5lT2Zm
c2V0LCAmUmVuZGVyU3R5bGU6OnNldE91dGxpbmVPZmZzZXQsICZSZW5kZXJTdHlsZTo6aW5pdGlh
bE91dGxpbmVPZmZzZXQ+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eU91dGxpbmVTdHlsZSwgQXBwbHlQcm9wZXJ0eU91dGxpbmVTdHlsZTo6Y3Jl
YXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlPdXRsaW5l
V2lkdGgsIEFwcGx5UHJvcGVydHlDb21wdXRlTGVuZ3RoPHVuc2lnbmVkIHNob3J0LCAmUmVuZGVy
U3R5bGU6Om91dGxpbmVXaWR0aCwgJlJlbmRlclN0eWxlOjpzZXRPdXRsaW5lV2lkdGgsICZSZW5k
ZXJTdHlsZTo6aW5pdGlhbE91dGxpbmVXaWR0aCwgTm9ybWFsRGlzYWJsZWQsIFRoaWNrbmVzc0Vu
YWJsZWQ+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9w
ZXJ0eVJlc2l6ZSwgQXBwbHlQcm9wZXJ0eVJlc2l6ZTo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlTaXplLCBBcHBseVByb3BlcnR5UGFnZVNpemU6
OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5VGV4
dEFsaWduLCBBcHBseVByb3BlcnR5VGV4dEFsaWduOjpjcmVhdGVIYW5kbGVyKCkpOwpAQCAtMjQy
NCwxMyArMjM2MCwxMCBAQCBEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVkU3R5bGVC
dWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRCYWNrZ3Jv
dW5kQ29tcG9zaXRlLCBBcHBseVByb3BlcnR5RmlsbExheWVyPENvbXBvc2l0ZU9wZXJhdG9yLCBD
U1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDb21wb3NpdGUsIEJhY2tncm91bmRGaWxsTGF5ZXIs
ICZSZW5kZXJTdHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVycywgJlJlbmRlclN0eWxlOjpiYWNr
Z3JvdW5kTGF5ZXJzLCAmRmlsbExheWVyOjppc0NvbXBvc2l0ZVNldCwgJkZpbGxMYXllcjo6Y29t
cG9zaXRlLCAmRmlsbExheWVyOjpzZXRDb21wb3NpdGUsICZGaWxsTGF5ZXI6OmNsZWFyQ29tcG9z
aXRlLCAmRmlsbExheWVyOjppbml0aWFsRmlsbENvbXBvc2l0ZSwgJkNTU1RvU3R5bGVNYXA6Om1h
cEZpbGxDb21wb3NpdGU+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRPcmlnaW4sIENTU1Byb3BlcnR5QmFja2dyb3Vu
ZE9yaWdpbik7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0QmFja2dy
b3VuZFNpemUsIENTU1Byb3BlcnR5QmFja2dyb3VuZFNpemUpOwotICAgIHNldFByb3BlcnR5SGFu
ZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckhvcml6b250YWxTcGFjaW5nLCBBcHBseVByb3Bl
cnR5Q29tcHV0ZUxlbmd0aDxzaG9ydCwgJlJlbmRlclN0eWxlOjpob3Jpem9udGFsQm9yZGVyU3Bh
Y2luZywgJlJlbmRlclN0eWxlOjpzZXRIb3Jpem9udGFsQm9yZGVyU3BhY2luZywgJlJlbmRlclN0
eWxlOjppbml0aWFsSG9yaXpvbnRhbEJvcmRlclNwYWNpbmc+OjpjcmVhdGVIYW5kbGVyKCkpOwog
ICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckltYWdlLCBBcHBs
eVByb3BlcnR5Qm9yZGVySW1hZ2U8Qm9yZGVySW1hZ2UsIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVy
SW1hZ2UsICZSZW5kZXJTdHlsZTo6Ym9yZGVySW1hZ2UsICZSZW5kZXJTdHlsZTo6c2V0Qm9yZGVy
SW1hZ2U+OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9w
ZXJ0eVdlYmtpdEJvcmRlclZlcnRpY2FsU3BhY2luZywgQXBwbHlQcm9wZXJ0eUNvbXB1dGVMZW5n
dGg8c2hvcnQsICZSZW5kZXJTdHlsZTo6dmVydGljYWxCb3JkZXJTcGFjaW5nLCAmUmVuZGVyU3R5
bGU6OnNldFZlcnRpY2FsQm9yZGVyU3BhY2luZywgJlJlbmRlclN0eWxlOjppbml0aWFsVmVydGlj
YWxCb3JkZXJTcGFjaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5Db3VudCwgQXBwbHlQcm9wZXJ0eUF1dG88dW5zaWdu
ZWQgc2hvcnQsICZSZW5kZXJTdHlsZTo6Y29sdW1uQ291bnQsICZSZW5kZXJTdHlsZTo6c2V0Q29s
dW1uQ291bnQsICZSZW5kZXJTdHlsZTo6aGFzQXV0b0NvbHVtbkNvdW50LCAmUmVuZGVyU3R5bGU6
OnNldEhhc0F1dG9Db2x1bW5Db3VudD46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVy
dHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Q29sdW1uR2FwLCBBcHBseVByb3BlcnR5QXV0bzxm
bG9hdCwgJlJlbmRlclN0eWxlOjpjb2x1bW5HYXAsICZSZW5kZXJTdHlsZTo6c2V0Q29sdW1uR2Fw
LCAmUmVuZGVyU3R5bGU6Omhhc05vcm1hbENvbHVtbkdhcCwgJlJlbmRlclN0eWxlOjpzZXRIYXNO
b3JtYWxDb2x1bW5HYXAsIENvbXB1dGVMZW5ndGgsIENTU1ZhbHVlTm9ybWFsPjo6Y3JlYXRlSGFu
ZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5S
dWxlQ29sb3IsIEFwcGx5UHJvcGVydHlDb2xvcjxOb0luaGVyaXRGcm9tUGFyZW50LCAmUmVuZGVy
U3R5bGU6OmNvbHVtblJ1bGVDb2xvciwgJlJlbmRlclN0eWxlOjpzZXRDb2x1bW5SdWxlQ29sb3Is
ICZSZW5kZXJTdHlsZTo6c2V0VmlzaXRlZExpbmtDb2x1bW5SdWxlQ29sb3IsICZSZW5kZXJTdHls
ZTo6Y29sb3I+OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQ
cm9wZXJ0eVdlYmtpdENvbHVtblJ1bGVXaWR0aCwgQXBwbHlQcm9wZXJ0eUNvbXB1dGVMZW5ndGg8
dW5zaWduZWQgc2hvcnQsICZSZW5kZXJTdHlsZTo6Y29sdW1uUnVsZVdpZHRoLCAmUmVuZGVyU3R5
bGU6OnNldENvbHVtblJ1bGVXaWR0aCwgJlJlbmRlclN0eWxlOjppbml0aWFsQ29sdW1uUnVsZVdp
ZHRoLCBOb3JtYWxEaXNhYmxlZCwgVGhpY2tuZXNzRW5hYmxlZD46OmNyZWF0ZUhhbmRsZXIoKSk7
CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Q29sdW1uV2lkdGgsIEFw
cGx5UHJvcGVydHlBdXRvPGZsb2F0LCAmUmVuZGVyU3R5bGU6OmNvbHVtbldpZHRoLCAmUmVuZGVy
U3R5bGU6OnNldENvbHVtbldpZHRoLCAmUmVuZGVyU3R5bGU6Omhhc0F1dG9Db2x1bW5XaWR0aCwg
JlJlbmRlclN0eWxlOjpzZXRIYXNBdXRvQ29sdW1uV2lkdGgsIENvbXB1dGVMZW5ndGg+OjpjcmVh
dGVIYW5kbGVyKCkpOwogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICBzZXRQcm9wZXJ0eUhh
bmRsZXIoQ1NTUHJvcGVydHlXZWJraXRGbG93RnJvbSwgQXBwbHlQcm9wZXJ0eVN0cmluZzxNYXBO
b25lVG9OdWxsLCAmUmVuZGVyU3R5bGU6OnJlZ2lvblRocmVhZCwgJlJlbmRlclN0eWxlOjpzZXRS
ZWdpb25UaHJlYWQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbFJlZ2lvblRocmVhZD46OmNyZWF0ZUhh
bmRsZXIoKSk7CkBAIC0yNDY5LDcgKzI0MDIsNiBAQCBEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpE
ZXByZWNhdGVkU3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVy
dHlXZWJraXRUZXh0RW1waGFzaXNTdHlsZSwgQXBwbHlQcm9wZXJ0eVRleHRFbXBoYXNpc1N0eWxl
OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdl
YmtpdFRleHRGaWxsQ29sb3IsIEFwcGx5UHJvcGVydHlDb2xvcjxOb0luaGVyaXRGcm9tUGFyZW50
LCAmUmVuZGVyU3R5bGU6OnRleHRGaWxsQ29sb3IsICZSZW5kZXJTdHlsZTo6c2V0VGV4dEZpbGxD
b2xvciwgJlJlbmRlclN0eWxlOjpzZXRWaXNpdGVkTGlua1RleHRGaWxsQ29sb3IsICZSZW5kZXJT
dHlsZTo6Y29sb3I+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihD
U1NQcm9wZXJ0eVdlYmtpdFRleHRTdHJva2VDb2xvciwgQXBwbHlQcm9wZXJ0eUNvbG9yPE5vSW5o
ZXJpdEZyb21QYXJlbnQsICZSZW5kZXJTdHlsZTo6dGV4dFN0cm9rZUNvbG9yLCAmUmVuZGVyU3R5
bGU6OnNldFRleHRTdHJva2VDb2xvciwgJlJlbmRlclN0eWxlOjpzZXRWaXNpdGVkTGlua1RleHRT
dHJva2VDb2xvciwgJlJlbmRlclN0eWxlOjpjb2xvcj46OmNyZWF0ZUhhbmRsZXIoKSk7Ci0gICAg
c2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VHJhbnNmb3JtT3JpZ2luWiwgQXBw
bHlQcm9wZXJ0eUNvbXB1dGVMZW5ndGg8ZmxvYXQsICZSZW5kZXJTdHlsZTo6dHJhbnNmb3JtT3Jp
Z2luWiwgJlJlbmRlclN0eWxlOjpzZXRUcmFuc2Zvcm1PcmlnaW5aLCAmUmVuZGVyU3R5bGU6Omlu
aXRpYWxUcmFuc2Zvcm1PcmlnaW5aPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uRGVsYXksIEFwcGx5UHJvcGVydHlB
bmltYXRpb248ZG91YmxlLCAmQW5pbWF0aW9uOjpkZWxheSwgJkFuaW1hdGlvbjo6c2V0RGVsYXks
ICZBbmltYXRpb246OmlzRGVsYXlTZXQsICZBbmltYXRpb246OmNsZWFyRGVsYXksICZBbmltYXRp
b246OmluaXRpYWxBbmltYXRpb25EZWxheSwgJkNTU1RvU3R5bGVNYXA6Om1hcEFuaW1hdGlvbkRl
bGF5LCAmUmVuZGVyU3R5bGU6OmFjY2Vzc1RyYW5zaXRpb25zLCAmUmVuZGVyU3R5bGU6OnRyYW5z
aXRpb25zPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlXZWJraXRUcmFuc2l0aW9uRHVyYXRpb24sIEFwcGx5UHJvcGVydHlBbmltYXRpb248ZG91
YmxlLCAmQW5pbWF0aW9uOjpkdXJhdGlvbiwgJkFuaW1hdGlvbjo6c2V0RHVyYXRpb24sICZBbmlt
YXRpb246OmlzRHVyYXRpb25TZXQsICZBbmltYXRpb246OmNsZWFyRHVyYXRpb24sICZBbmltYXRp
b246OmluaXRpYWxBbmltYXRpb25EdXJhdGlvbiwgJkNTU1RvU3R5bGVNYXA6Om1hcEFuaW1hdGlv
bkR1cmF0aW9uLCAmUmVuZGVyU3R5bGU6OmFjY2Vzc1RyYW5zaXRpb25zLCAmUmVuZGVyU3R5bGU6
OnRyYW5zaXRpb25zPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIo
Q1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uUHJvcGVydHksIEFwcGx5UHJvcGVydHlBbmltYXRp
b248Q1NTUHJvcGVydHlJRCwgJkFuaW1hdGlvbjo6cHJvcGVydHksICZBbmltYXRpb246OnNldFBy
b3BlcnR5LCAmQW5pbWF0aW9uOjppc1Byb3BlcnR5U2V0LCAmQW5pbWF0aW9uOjpjbGVhclByb3Bl
cnR5LCAmQW5pbWF0aW9uOjppbml0aWFsQW5pbWF0aW9uUHJvcGVydHksICZDU1NUb1N0eWxlTWFw
OjptYXBBbmltYXRpb25Qcm9wZXJ0eSwgJlJlbmRlclN0eWxlOjphY2Nlc3NUcmFuc2l0aW9ucywg
JlJlbmRlclN0eWxlOjp0cmFuc2l0aW9ucz46OmNyZWF0ZUhhbmRsZXIoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgKaW5kZXggMDU3ZDE2NTE2NzIxZjhiMWNi
NzIwNjY0NTRmMzM5M2JjN2UwMTUwYy4uMjQ2ODZiYjk2NGUyNjZhNjM3N2Y2OTJkNTYyOGZhZjY5
YjY0ZWIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckNvbnZl
cnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaApA
QCAtNDAsNiArNDAsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIExlbmd0aCBjb252ZXJ0TGVuZ3Ro
T3JBdXRvKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOwogICAgIHN0YXRpYyBMZW5ndGggY29u
dmVydExlbmd0aFNpemluZyhTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAgICBzdGF0aWMg
TGVuZ3RoIGNvbnZlcnRMZW5ndGhNYXhTaXppbmcoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7
CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0YXRpYyBUIGNvbnZlcnRDb21wdXRlZExlbmd0
aChTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
c3RhdGljIFQgY29udmVydExpbmVXaWR0aChTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKKyAg
ICBzdGF0aWMgZmxvYXQgY29udmVydFNwYWNpbmcoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7
CiB9OwogCiBpbmxpbmUgTGVuZ3RoIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydExlbmd0
aChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCkBAIC0xMDUs
NiArMTA4LDUyIEBAIGlubGluZSBMZW5ndGggU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0
TGVuZ3RoTWF4U2l6aW5nKFN0eWxlUmVzb2x2ZXImIHN0eWxlCiAgICAgcmV0dXJuIGNvbnZlcnRM
ZW5ndGhTaXppbmcoc3R5bGVSZXNvbHZlciwgdmFsdWUpOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4KK2lubGluZSBUIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydENvbXB1dGVkTGVu
Z3RoKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKK3sKKyAg
ICByZXR1cm4gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKS5jb21wdXRlTGVuZ3Ro
PFQ+KHN0eWxlUmVzb2x2ZXIuc3RhdGUoKS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCkpOwor
fQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK2lubGluZSBUIFN0eWxlQnVpbGRlckNvbnZlcnRl
cjo6Y29udmVydExpbmVXaWR0aChTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1
ZSYgdmFsdWUpCit7CisgICAgYXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmlt
aXRpdmVWYWx1ZT4odmFsdWUpOworICAgIHN3aXRjaCAocHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWVJ
RCgpKSB7CisgICAgY2FzZSBDU1NWYWx1ZVRoaW46CisgICAgICAgIHJldHVybiAxOworICAgIGNh
c2UgQ1NTVmFsdWVNZWRpdW06CisgICAgICAgIHJldHVybiAzOworICAgIGNhc2UgQ1NTVmFsdWVU
aGljazoKKyAgICAgICAgcmV0dXJuIDU7CisgICAgY2FzZSBDU1NWYWx1ZUludmFsaWQ6IHsKKyAg
ICAgICAgLy8gQW55IG9yaWdpbmFsIHJlc3VsdCB0aGF0IHdhcyA+PSAxIHNob3VsZCBub3QgYmUg
YWxsb3dlZCB0byBmYWxsIGJlbG93IDEuCisgICAgICAgIC8vIFRoaXMga2VlcHMgYm9yZGVyIGxp
bmVzIGZyb20gdmFuaXNoaW5nLgorICAgICAgICBUIHJlc3VsdCA9IGNvbnZlcnRDb21wdXRlZExl
bmd0aDxUPihzdHlsZVJlc29sdmVyLCB2YWx1ZSk7CisgICAgICAgIGlmIChzdHlsZVJlc29sdmVy
LnN0YXRlKCkuc3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpIDwgMS4wZiAmJiByZXN1bHQgPCAxLjAp
IHsKKyAgICAgICAgICAgIFQgb3JpZ2luYWxMZW5ndGggPSBwcmltaXRpdmVWYWx1ZS5jb21wdXRl
TGVuZ3RoPFQ+KHN0eWxlUmVzb2x2ZXIuc3RhdGUoKS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRh
KCkuY29weVdpdGhBZGp1c3RlZFpvb20oMS4wKSk7CisgICAgICAgICAgICBpZiAob3JpZ2luYWxM
ZW5ndGggPj0gMS4wKQorICAgICAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICB9CisgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cit9CisKK2lubGluZSBmbG9h
dCBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRTcGFjaW5nKFN0eWxlUmVzb2x2ZXImIHN0
eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKK3sKKyAgICBhdXRvJiBwcmltaXRpdmVWYWx1
ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSk7CisgICAgaWYgKHByaW1pdGl2
ZVZhbHVlLmdldFZhbHVlSUQoKSA9PSBDU1NWYWx1ZU5vcm1hbCkKKyAgICAgICAgcmV0dXJuIDAu
ZjsKKworICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY29udmVyc2lvbkRhdGEgPSBzdHls
ZVJlc29sdmVyLnVzZVNWR1pvb21SdWxlc0Zvckxlbmd0aCgpID8KKyAgICAgICAgc3R5bGVSZXNv
bHZlci5zdGF0ZSgpLmNzc1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoKS5jb3B5V2l0aEFkanVzdGVk
Wm9vbSgxLjBmKQorICAgICAgICA6IHN0eWxlUmVzb2x2ZXIuc3RhdGUoKS5jc3NUb0xlbmd0aENv
bnZlcnNpb25EYXRhKCk7CisgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5ndGg8
ZmxvYXQ+KGNvbnZlcnNpb25EYXRhKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gU3R5bGVCdWlsZGVyQ29udmVydGVyX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>