<?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>159622</bug_id>
          
          <creation_ts>2016-07-11 07:07:42 -0700</creation_ts>
          <short_desc>Move parsing of subscriptshift and superscriptshift from rendering to element classes</short_desc>
          <delta_ts>2016-07-18 22:43:46 -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>MathML</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>120069</dependson>
    
    <dependson>156792</dependson>
          <blocked>156536</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>bfulgham</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1209633</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-11 07:07:42 -0700</bug_when>
    <thetext>This is bug 156536 for the subscriptshift and superscriptshift attributes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209635</commentid>
    <comment_count>1</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-11 07:09:48 -0700</bug_when>
    <thetext>These attributes are currently parsed in RenderMathMLScripts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1211964</commentid>
    <comment_count>2</comment_count>
      <attachid>283902</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-18 06:06:49 -0700</bug_when>
    <thetext>Created attachment 283902
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1212000</commentid>
    <comment_count>3</comment_count>
      <attachid>283902</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-18 10:02:30 -0700</bug_when>
    <thetext>Comment on attachment 283902
Patch

The constructor of RenderMathMLScripts should also be changed to take MathMLScriptsElement&amp; instead of Element&amp;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1212273</commentid>
    <comment_count>4</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-18 21:57:23 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; The constructor of RenderMathMLScripts should also be changed to take
&gt; MathMLScriptsElement&amp; instead of Element&amp;.

I can not do that now since this renderer is also used for munder/mover/munderover but will consider it in bug 159625 and keep it in mind for other renderers too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1212277</commentid>
    <comment_count>5</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-18 22:43:46 -0700</bug_when>
    <thetext>Committed r203396: &lt;http://trac.webkit.org/changeset/203396&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283902</attachid>
            <date>2016-07-18 06:06:49 -0700</date>
            <delta_ts>2016-07-18 10:02:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159622-20160718150554.patch</filename>
            <type>text/plain</type>
            <size>19609</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzMzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjkzM2JhY2NiYzQ2NGJi
NGI3ODg2ZDA1YWJiZjE3NzYyMzAzMDRhOC4uMGY2Njk0MGIzZDhkNjZmMDYzYTY2NTZlZDYxN2Q1
OGY0MDhiMzQwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE2LTA3LTE4ICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBNb3ZlIHBhcnNpbmcgb2Yg
c3Vic2NyaXB0c2hpZnQgYW5kIHN1cGVyc2NyaXB0c2hpZnQgZnJvbSByZW5kZXJpbmcgdG8gZWxl
bWVudCBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTk2MjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSBpbnRyb2R1Y2UgYSBuZXcgTWF0aE1MU2NyaXB0c0VsZW1lbnQgdGhhdCBpcyB1c2Vk
IGZvciBlbGVtZW50cyBtc3ViLCBtc3VwLCBtc3Vic3VwIGFuZAorICAgICAgICBtbXVsdGlzY3Jp
cHRzIGluIG9yZGVyIHRvIGNyZWF0ZSBSZW5kZXJNYXRoTUxTY3JpcHRzIGFuZCBwYXJzZSBhbmQg
ZXhwb3NlIHRoZSB2YWx1ZXMgb2YgdGhlCisgICAgICAgIHN1YnNjcmlwdHNoaWZ0IGFuZCBzdXBl
cnNjcmlwdHNoaWZ0IGF0dHJpYnV0ZXMuIFRoaXMgaXMgb25lIG1vcmUgc3RlcCB0b3dhcmQgbW92
aW5nIE1hdGhNTAorICAgICAgICBhdHRyaWJ1dGUgcGFyc2luZyB0byB0aGUgRE9NIChidWcgMTU2
NTM2KS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlbmRlcmluZyBpcyB1bmNoYW5nZWQuCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkIE1hdGhNTFNjcmlwdHNFbGVtZW50IGZpbGVz
LgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisg
ICAgICAgICogbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcDogRGl0dG8uCisgICAgICAgICogbWF0
aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwOiBSZW1vdmUgaGFuZGxpbmcgb2Yg
c2NyaXB0cy4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6
OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6IERlbGV0ZWQuCisgICAgICAgICogbWF0aG1sL01hdGhN
TFNjcmlwdHNFbGVtZW50LmNwcDogQWRkZWQuIE5ldyBjbGFzcyB0byBoYW5kbGUgc2NyaXB0ZWQg
ZWxlbWVudHMgc3VwcG9ydGluZworICAgICAgICBwYXJzaW5nIGZvciB0aGUgc3Vic2NyaXB0c2hp
ZnQgYW5kIHN1cGVyc2NyaXB0c2hpZnQgTWF0aE1MIGxlbmd0aHMuCisgICAgICAgIChXZWJDb3Jl
OjpNYXRoTUxTY3JpcHRzRWxlbWVudDo6TWF0aE1MU2NyaXB0c0VsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6TWF0aE1MU2NyaXB0c0VsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNYXRoTUxTY3JpcHRzRWxlbWVudDo6c3Vic2NyaXB0U2hpZnQpOiBFeHBvc2UgdGhlIGNhY2hl
ZCBsZW5ndGggZm9yIHRoZSBzaGlmdCwKKyAgICAgICAgcGFyc2luZyB0aGUgYXR0cmlidXRlIGFn
YWluIGlmIG5lY2Vzc2FyeS4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFNjcmlwdHNFbGVtZW50
OjpzdXBlcnNjcmlwdFNoaWZ0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxTY3Jp
cHRzRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOiBNYXJrIGF0dHJpYnV0ZXMgZGlydHkuCisgICAg
ICAgIChXZWJDb3JlOjpNYXRoTUxTY3JpcHRzRWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVy
KTogQ3JlYXRlIFJlbmRlck1hdGhNTFNjcmlwdHMuCisgICAgICAgICogbWF0aG1sL01hdGhNTFNj
cmlwdHNFbGVtZW50Lmg6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9tYXRodGFncy5pbjogTWFw
IG1zdWIsIG1zdXAsIG1zdWJzdXAgYW5kIG1tdWx0aXNjcmlwdHMgdG8gTWF0aE1MU2NyaXB0c0Vs
ZW1lbnQuCisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFNjcmlwdHM6OnNjcmlwdHNFbGVtZW50
KTogSGVscGVyIGZ1bmN0aW9uIHRvIGNhc3QgdGhlIG5vZGUgdG8gYQorICAgICAgICBNYXRoTUxT
Y3JpcHRzRWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFNjcmlwdHM6Omdl
dFNjcmlwdE1ldHJpY3NBbmRMYXlvdXRJZk5lZWRlZCk6IFJlc29sdmUgdGhlIGF0dHJpYnV0ZXMK
KyAgICAgICAgdXNpbmcgdGhlIGZ1bmN0aW9ucyBmcm9tIHRoZSBNYXRoTUxTY3JpcHRzRWxlbWVu
dCBjbGFzcy4KKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNjcmlwdHMu
aDogRGVjbGFyZSBzY3JpcHRzRWxlbWVudC4KKwogMjAxNi0wNy0xOCAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgTWVtb3J5UHJlc3N1cmVIYW5k
bGVyIGRvZXNuJ3Qgd29yayBpZiBjZ3JvdXBzIGFyZW4ndCBwcmVzZW50IGluIExpbnV4CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CmluZGV4IDM0NzJjMWIzMzMxMTUxZmJlYmM2MzRhNDljNGY1OTI1YmM0MjBj
NjYuLjNkNzU2NjFlOWQ4NDllYjk5ZTcwMDc1MWM2MTQwN2RlYzJiODQwZjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC0xOTkxLDYgKzE5OTEsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAg
bWF0aG1sL01hdGhNTE1lbmNsb3NlRWxlbWVudC5jcHAKICAgICBtYXRobWwvTWF0aE1MT3BlcmF0
b3JEaWN0aW9uYXJ5LmNwcAogICAgIG1hdGhtbC9NYXRoTUxQYWRkZWRFbGVtZW50LmNwcAorICAg
IG1hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVudC5jcHAKICAgICBtYXRobWwvTWF0aE1MU2VsZWN0
RWxlbWVudC5jcHAKICAgICBtYXRobWwvTWF0aE1MU3BhY2VFbGVtZW50LmNwcAogICAgIG1hdGht
bC9NYXRoTUxUZXh0RWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1ZGMzMDYxZWZlYjdkZTJiNTIxZDJkOGU4YTJk
ZDY2M2JjMjI0YTYzLi4wMjQ1YmJmNzc1MDFkYTE5YjlkZjY0YmNjZWIwNGU1ZTUxNmY0NzExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC01Mzk5LDYgKzUzOTksNyBAQAogCQlCNTdDQjUyRDE4MkEzRUVEMDA3OUE2NDcgLyogSW5s
aW5lRWxlbWVudEJveC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCNTdDQjUyQzE4MkEzRUVEMDA3OUE2NDcgLyogSW5saW5lRWxlbWVudEJveC5jcHAg
Ki87IH07CiAJCUI1N0NCNTJFMTgyQTNFRkMwMDc5QTY0NyAvKiBJbmxpbmVFbGVtZW50Qm94Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNTdDQjUyQjE4
MkEzN0Y2MDA3OUE2NDcgLyogSW5saW5lRWxlbWVudEJveC5oICovOyB9OwogCQlCNTk1RkY0NzE4
MjRDRUUzMDBGRjUxQ0QgLyogUmVuZGVySXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1OTVGRjQ2MTgyNENFRTMwMEZGNTFDRCAvKiBSZW5k
ZXJJdGVyYXRvci5oICovOyB9OworCQlCNTlDQTM5MENFRDY2QzMyNTVGNzJCNDggLyogTWF0aE1M
U2NyaXB0c0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjU5Q0E1OUFGMTcwRDhGQUE1QjhDOUFEIC8qIE1hdGhNTFNjcmlwdHNFbGVtZW50
LmNwcCAqLzsgfTsKIAkJQjU5Q0EzOTBDRUQ2NkMzMjU1RjcyQzU5IC8qIE1hdGhNTFBhZGRlZEVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjU5Q0E1OUFGMTcwRDhGQUE1QjhDQUJFIC8qIE1hdGhNTFBhZGRlZEVsZW1lbnQuY3BwICovOyB9
OwogCQlCNTlERDY5OTExOTAyOUU1MDA3RTk2ODQgLyogSlNEYXRhYmFzZUNhbGxiYWNrLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNTlERDY5NzExOTAy
OUU1MDA3RTk2ODQgLyogSlNEYXRhYmFzZUNhbGxiYWNrLmggKi87IH07CiAJCUI1OURENjlBMTE5
MDI5RTUwMDdFOTY4NCAvKiBKU0RhdGFiYXNlQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU5REQ2OTgxMTkwMjlFNTAwN0U5Njg0IC8q
IEpTRGF0YWJhc2VDYWxsYmFjay5jcHAgKi87IH07CkBAIC0xMzM5NSw2ICsxMzM5Niw4IEBACiAJ
CUI1N0NCNTJCMTgyQTM3RjYwMDc5QTY0NyAvKiBJbmxpbmVFbGVtZW50Qm94LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZUVsZW1lbnRCb3guaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQjU3Q0I1MkMxODJBM0VFRDAwNzlBNjQ3IC8qIElubGluZUVsZW1l
bnRCb3guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5saW5lRWxl
bWVudEJveC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI1OTVGRjQ2MTgyNENF
RTMwMEZGNTFDRCAvKiBSZW5kZXJJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZW5kZXJJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
NTlDQTU5QUYxNzBEOEZBQTVCOEM5QUQgLyogTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNTlDQTg0OUQ0MUU2RjY1RDgxMTk3QUIg
LyogTWF0aE1MU2NyaXB0c0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTWF0aE1MU2NyaXB0c0VsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QjU5Q0E1OUFGMTcwRDhGQUE1QjhDQUJFIC8qIE1hdGhNTFBhZGRlZEVsZW1lbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MUGFkZGVkRWxlbWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI1OUNBODQ5RDQxRTZGNjVEODExOThCQyAv
KiBNYXRoTUxQYWRkZWRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE1hdGhNTFBhZGRlZEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjU5
REQ2OTcxMTkwMjlFNTAwN0U5Njg0IC8qIEpTRGF0YWJhc2VDYWxsYmFjay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RhdGFiYXNlQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTI0ODg0LDYgKzI0ODg3LDggQEAKIAkJCQlDRTZEODkyOTRDN0FB
Q0UwQUQ4OUIzREQgLyogTWF0aE1MTWVuY2xvc2VFbGVtZW50LmggKi8sCiAJCQkJRDRGNzJDNjUz
QTY0ODA3QTgzRTc2RkI4IC8qIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5jcHAgKi8sCiAJCQkJ
REY3RTlBMjk0QzdBQUNFMEFEODlCM0REIC8qIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5oICov
LAorCQkJCUI1OUNBNTlBRjE3MEQ4RkFBNUI4QzlBRCAvKiBNYXRoTUxTY3JpcHRzRWxlbWVudC5j
cHAgKi8sCisJCQkJQjU5Q0E4NDlENDFFNkY2NUQ4MTE5N0FCIC8qIE1hdGhNTFNjcmlwdHNFbGVt
ZW50LmggKi8sCiAJCQkJQjU5Q0E1OUFGMTcwRDhGQUE1QjhDQUJFIC8qIE1hdGhNTFBhZGRlZEVs
ZW1lbnQuY3BwICovLAogCQkJCUI1OUNBODQ5RDQxRTZGNjVEODExOThCQyAvKiBNYXRoTUxQYWRk
ZWRFbGVtZW50LmggKi8sCiAJCQkJRjc1QTA1OUFGMTcwRDhGQUE1QjhDQUJFIC8qIE1hdGhNTFNl
bGVjdEVsZW1lbnQuY3BwICovLApAQCAtMzEyNTQsNiArMzEyNTksNyBAQAogCQkJCTE2RUEyNENF
RUFCMkE2MDUzNDIxOEFDRiAvKiBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRkFCRTcyRkUxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTQzOTE3NkRGMTJEQTI1RTE3QkFGODBBMiAvKiBNYXRoTUxTdHls
ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCNTlDQTM5MENFRDY2QzMyNTVGNzJCNDggLyogTWF0
aE1MU2NyaXB0c0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjU5Q0EzOTBDRUQ2NkMz
MjU1RjcyQzU5IC8qIE1hdGhNTFBhZGRlZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkVENDgzOTBDRUQ2NkMzMjU1RjcyQzU5IC8qIE1hdGhNTFNlbGVjdEVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNEZBNjVBNkIxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFNwYWNlRWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGht
bC9NYXRoTUxBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MQWxsSW5P
bmUuY3BwCmluZGV4IDkyNjhiYjQyMmY5NGIwMDM3YjI1OWFhZTU1MjU4OTk3NTE2ODE5MTcuLjcz
NTMzMGM2MWRhYzQ1N2ZhNjdlMTI5ODVmYWZmYjBlYTNkOWJhZmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bWF0aG1sL01hdGhNTEFsbEluT25lLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIk1h
dGhNTE1lbmNsb3NlRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MT3BlcmF0b3JEaWN0aW9u
YXJ5LmNwcCIKICNpbmNsdWRlICJNYXRoTUxQYWRkZWRFbGVtZW50LmNwcCIKKyNpbmNsdWRlICJN
YXRoTUxTY3JpcHRzRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MU2VsZWN0RWxlbWVudC5j
cHAiCiAjaW5jbHVkZSAiTWF0aE1MVGV4dEVsZW1lbnQuY3BwIgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAKaW5kZXgg
NTRkY2MzNTBhMDU2MGEzYThlZDhlZTcwZmNjNzk2NWMyZDJjYTZlMi4uMzYyMTlkMmNiNWMwN2Y4
YTE3NzNiZjA1NmEyNjU1ZGExNzJlYjY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcApAQCAtMzYsNyArMzYsNiBA
QAogI2luY2x1ZGUgIlJlbmRlck1hdGhNTE1lbmNsb3NlLmgiCiAjaW5jbHVkZSAiUmVuZGVyTWF0
aE1MUm9vdC5oIgogI2luY2x1ZGUgIlJlbmRlck1hdGhNTFJvdy5oIgotI2luY2x1ZGUgIlJlbmRl
ck1hdGhNTFNjcmlwdHMuaCIKICNpbmNsdWRlICJSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjYsOCArNjUsNiBAQCBSZW5kZXJQdHI8UmVuZGVyRWxl
bWVudD4gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVy
KFJlbgogewogICAgIGlmIChoYXNUYWdOYW1lKGFubm90YXRpb25feG1sVGFnKSB8fCBoYXNUYWdO
YW1lKG1lcnJvclRhZykgfHwgaGFzVGFnTmFtZShtcGhhbnRvbVRhZykgfHwgaGFzVGFnTmFtZSht
cm93VGFnKSB8fCBoYXNUYWdOYW1lKG1zdHlsZVRhZykpCiAgICAgICAgIHJldHVybiBjcmVhdGVS
ZW5kZXJlcjxSZW5kZXJNYXRoTUxSb3c+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7Ci0gICAgaWYg
KGhhc1RhZ05hbWUobXN1YlRhZykgfHwgaGFzVGFnTmFtZShtc3VwVGFnKSB8fCBoYXNUYWdOYW1l
KG1zdWJzdXBUYWcpIHx8IGhhc1RhZ05hbWUobW11bHRpc2NyaXB0c1RhZykpCi0gICAgICAgIHJl
dHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJNYXRoTUxTY3JpcHRzPigqdGhpcywgV1RGTW92ZShz
dHlsZSkpOwogICAgIGlmIChoYXNUYWdOYW1lKG1vdmVyVGFnKSB8fCBoYXNUYWdOYW1lKG11bmRl
clRhZykgfHwgaGFzVGFnTmFtZShtdW5kZXJvdmVyVGFnKSkKICAgICAgICAgcmV0dXJuIGNyZWF0
ZVJlbmRlcmVyPFJlbmRlck1hdGhNTFVuZGVyT3Zlcj4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsK
ICAgICBpZiAoaGFzVGFnTmFtZShtc3FydFRhZykgfHwgaGFzVGFnTmFtZShtcm9vdFRhZykpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFNjcmlwdHNFbGVtZW50LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lMGJmNDg2NTRkZTdkMmIxNDIzOTRiZTU2MWQ1ZThkZTYyZjQxOWFjCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFNjcmlwdHNFbGVtZW50LmNwcApA
QCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaWYgRU5BQkxFKE1BVEhNTCkKKyNpbmNsdWRlICJNYXRoTUxTY3JpcHRzRWxl
bWVudC5oIgorCisjaW5jbHVkZSAiUmVuZGVyTWF0aE1MU2NyaXB0cy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKKworaW5saW5lIE1hdGhN
TFNjcmlwdHNFbGVtZW50OjpNYXRoTUxTY3JpcHRzRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgOiBNYXRoTUxJbmxpbmVDb250YWlu
ZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQoreworfQorCitSZWY8TWF0aE1MU2NyaXB0c0Vs
ZW1lbnQ+IE1hdGhNTFNjcmlwdHNFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IE1hdGhNTFNjcmlwdHNFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7Cit9CisKK2NvbnN0IE1h
dGhNTEVsZW1lbnQ6Okxlbmd0aCYgTWF0aE1MU2NyaXB0c0VsZW1lbnQ6OnN1YnNjcmlwdFNoaWZ0
KCkKK3sKKyAgICByZXR1cm4gY2FjaGVkTWF0aE1MTGVuZ3RoKHN1YnNjcmlwdHNoaWZ0QXR0ciwg
bV9zdWJzY3JpcHRTaGlmdCk7Cit9CisKK2NvbnN0IE1hdGhNTEVsZW1lbnQ6Okxlbmd0aCYgTWF0
aE1MU2NyaXB0c0VsZW1lbnQ6OnN1cGVyc2NyaXB0U2hpZnQoKQoreworICAgIHJldHVybiBjYWNo
ZWRNYXRoTUxMZW5ndGgoc3VwZXJzY3JpcHRzaGlmdEF0dHIsIG1fc3VwZXJzY3JpcHRTaGlmdCk7
Cit9CisKK3ZvaWQgTWF0aE1MU2NyaXB0c0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCit7CisgICAgaWYg
KG5hbWUgPT0gc3Vic2NyaXB0c2hpZnRBdHRyKQorICAgICAgICBtX3N1YnNjcmlwdFNoaWZ0LmRp
cnR5ID0gdHJ1ZTsKKyAgICBlbHNlIGlmIChuYW1lID09IHN1cGVyc2NyaXB0c2hpZnRBdHRyKQor
ICAgICAgICBtX3N1cGVyc2NyaXB0U2hpZnQuZGlydHkgPSB0cnVlOworCisgICAgTWF0aE1MRWxl
bWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOworfQorCitSZW5kZXJQdHI8UmVuZGVy
RWxlbWVudD4gTWF0aE1MU2NyaXB0c0VsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5k
ZXJTdHlsZSYmIHN0eWxlLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKQoreworICAgIEFTU0VS
VChoYXNUYWdOYW1lKG1zdWJUYWcpIHx8IGhhc1RhZ05hbWUobXN1cFRhZykgfHwgaGFzVGFnTmFt
ZShtc3Vic3VwVGFnKSB8fCBoYXNUYWdOYW1lKG1tdWx0aXNjcmlwdHNUYWcpKTsKKyAgICByZXR1
cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1MU2NyaXB0cz4oKnRoaXMsIFdURk1vdmUoc3R5
bGUpKTsKK30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTFNjcmlwdHNFbGVtZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzVlMTdjOWJlNDI0
NzZhYWVmYjNhZDk2NTNkYzczOGZkNmU3ZGViYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL21hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVudC5oCkBAIC0wLDAgKzEsNTAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKE1BVEhNTCkK
KyNpbmNsdWRlICJNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgTWF0aE1MU2NyaXB0c0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgTWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNYXRo
TUxTY3JpcHRzRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50Jik7CisgICAgY29uc3QgTGVuZ3RoJiBzdWJzY3JpcHRTaGlmdCgpOworICAgIGNvbnN0
IExlbmd0aCYgc3VwZXJzY3JpcHRTaGlmdCgpOworCitwcml2YXRlOgorICAgIE1hdGhNTFNjcmlw
dHNFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7CisgICAg
UmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHls
ZSYmLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBmaW5hbDsKKyAgICB2b2lkIHBhcnNlQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsK
KworICAgIExlbmd0aCBtX3N1YnNjcmlwdFNoaWZ0OworICAgIExlbmd0aCBtX3N1cGVyc2NyaXB0
U2hpZnQ7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbWF0aG1sL21hdGh0YWdzLmluIGIvU291cmNlL1dlYkNvcmUvbWF0aG1s
L21hdGh0YWdzLmluCmluZGV4IDgyYzhlYWNiM2YxZDQ5ZDZjOGQ0MTBiNDQ2NmM3YzMzZjE4OTY2
NzAuLmQ5OTJjZTQzNDViMmY5MzRkMjhhYTRjNmMxOWM2ZTU4MTY1ZTI0NjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL21hdGhtbC9tYXRodGFncy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9t
YXRobWwvbWF0aHRhZ3MuaW4KQEAgLTksNyArOSw3IEBAIG1hY3Rpb24gaW50ZXJmYWNlTmFtZT1N
YXRoTUxTZWxlY3RFbGVtZW50CiBtYXRoCiBtZnJhYyBpbnRlcmZhY2VOYW1lPU1hdGhNTEZyYWN0
aW9uRWxlbWVudAogbWZlbmNlZCBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQKLW1zdWJzdXAgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
Cittc3Vic3VwIGludGVyZmFjZU5hbWU9TWF0aE1MU2NyaXB0c0VsZW1lbnQKIG1lcnJvciBpbnRl
cmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKIG1wYWRkZWQgaW50ZXJmYWNl
TmFtZT1NYXRoTUxQYWRkZWRFbGVtZW50CiBtcGhhbnRvbSBpbnRlcmZhY2VOYW1lPU1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQKQEAgLTI2LDEyICsyNiwxMiBAQCBtbyBpbnRlcmZhY2VOYW1l
PU1hdGhNTFRleHRFbGVtZW50CiBtdGV4dCBpbnRlcmZhY2VOYW1lPU1hdGhNTFRleHRFbGVtZW50
CiBtcyBpbnRlcmZhY2VOYW1lPU1hdGhNTFRleHRFbGVtZW50CiBtc3BhY2UgaW50ZXJmYWNlTmFt
ZT1NYXRoTUxTcGFjZUVsZW1lbnQKLW1zdWIgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50Ci1tc3VwIGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudAorbXN1YiBpbnRlcmZhY2VOYW1lPU1hdGhNTFNjcmlwdHNFbGVtZW50Cittc3VwIGludGVy
ZmFjZU5hbWU9TWF0aE1MU2NyaXB0c0VsZW1lbnQKIG10YWJsZSBpbnRlcmZhY2VOYW1lPU1hdGhN
TElubGluZUNvbnRhaW5lckVsZW1lbnQKIG10ciBpbnRlcmZhY2VOYW1lPU1hdGhNTEVsZW1lbnQK
IG10ZCBpbnRlcmZhY2VOYW1lPU1hdGhNTEVsZW1lbnQKLW1tdWx0aXNjcmlwdHMgaW50ZXJmYWNl
TmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50CittbXVsdGlzY3JpcHRzIGludGVyZmFj
ZU5hbWU9TWF0aE1MU2NyaXB0c0VsZW1lbnQKIG1wcmVzY3JpcHRzIGludGVyZmFjZU5hbWU9TWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAogbWVuY2xvc2UgaW50ZXJmYWNlTmFtZT1NYXRoTUxN
ZW5jbG9zZUVsZW1lbnQKIG5vbmUgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJF
bGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTFNjcmlwdHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxTY3JpcHRzLmNwcAppbmRleCBkYTEyMmY2ODEyNzcxYzcyYzRhN2FkYzU3YzRlYjNh
ZDg3ZGY5MTUxLi4xM2ZiZmQ0M2NmYTcyNTA3NzQwYjk1NmI4NDY2Y2Y0MmEyYmQ0NmFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNjcmlw
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1M
U2NyaXB0cy5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJSZW5kZXJNYXRoTUxTY3Jp
cHRzLmgiCiAKICNpbmNsdWRlICJNYXRoTUxFbGVtZW50LmgiCisjaW5jbHVkZSAiTWF0aE1MU2Ny
aXB0c0VsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJNYXRoTUxPcGVyYXRvci5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC02NSw2ICs2NiwxMiBAQCBSZW5kZXJNYXRoTUxTY3JpcHRzOjpS
ZW5kZXJNYXRoTUxTY3JpcHRzKEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUp
CiAgICAgfQogfQogCitNYXRoTUxTY3JpcHRzRWxlbWVudCYgUmVuZGVyTWF0aE1MU2NyaXB0czo6
c2NyaXB0c0VsZW1lbnQoKSBjb25zdAoreworICAgIEFTU0VSVCghaXNSZW5kZXJNYXRoTUxVbmRl
ck92ZXIoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1hdGhNTFNjcmlwdHNFbGVtZW50Jj4o
bm9kZUZvck5vbkFub255bW91cygpKTsKK30KKwogUmVuZGVyTWF0aE1MT3BlcmF0b3IqIFJlbmRl
ck1hdGhNTFNjcmlwdHM6OnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpCiB7CiAgICAgYXV0byBiYXNl
ID0gZmlyc3RDaGlsZEJveCgpOwpAQCAtMjUxLDE2ICsyNTgsMTggQEAgdm9pZCBSZW5kZXJNYXRo
TUxTY3JpcHRzOjpnZXRTY3JpcHRNZXRyaWNzQW5kTGF5b3V0SWZOZWVkZWQoUmVuZGVyQm94KiBi
YXNlLCBSZW4KICAgICBpZiAobV9zY3JpcHRUeXBlID09IFN1YiB8fCBtX3NjcmlwdFR5cGUgPT0g
U3ViU3VwIHx8IG1fc2NyaXB0VHlwZSA9PSBNdWx0aXNjcmlwdHMgfHwgbV9zY3JpcHRUeXBlID09
IFVuZGVyIHx8IG1fc2NyaXB0VHlwZSA9PSBVbmRlck92ZXIpIHsKICAgICAgICAgbWluU3ViU2Ny
aXB0U2hpZnQgPSBzdGQ6Om1heChzdWJzY3JpcHRTaGlmdERvd24sIGJhc2VEZXNjZW50ICsgc3Vi
c2NyaXB0QmFzZWxpbmVEcm9wTWluKTsKICAgICAgICAgaWYgKCFpc1JlbmRlck1hdGhNTFVuZGVy
T3ZlcigpKSB7Ci0gICAgICAgICAgICBMYXlvdXRVbml0IHNwZWNpZmllZE1pblN1YlNoaWZ0ID0g
MDsKLSAgICAgICAgICAgIHBhcnNlTWF0aE1MTGVuZ3RoKGVsZW1lbnQoKS0+YXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihNYXRoTUxOYW1lczo6c3Vic2NyaXB0c2hpZnRBdHRyKSwgc3Bl
Y2lmaWVkTWluU3ViU2hpZnQsICZzdHlsZSgpLCBmYWxzZSk7CisgICAgICAgICAgICAvLyBJdCBp
cyBub3QgY2xlYXIgaG93IHRvIGludGVycHJldCB0aGUgZGVmYXVsdCBzaGlmdCBhbmQgaXQgaXMg
bm90IGF2YWlsYWJsZSB5ZXQgYW55d2F5LgorICAgICAgICAgICAgLy8gSGVuY2Ugd2UganVzdCBw
YXNzIDAgYXMgdGhlIGRlZmF1bHQgdmFsdWUgdXNlZCBieSB0b1VzZXJVbml0cy4KKyAgICAgICAg
ICAgIExheW91dFVuaXQgc3BlY2lmaWVkTWluU3ViU2hpZnQgPSB0b1VzZXJVbml0cyhzY3JpcHRz
RWxlbWVudCgpLnN1YnNjcmlwdFNoaWZ0KCksIHN0eWxlKCksIDApOwogICAgICAgICAgICAgbWlu
U3ViU2NyaXB0U2hpZnQgPSBzdGQ6Om1heChtaW5TdWJTY3JpcHRTaGlmdCwgc3BlY2lmaWVkTWlu
U3ViU2hpZnQpOwogICAgICAgICB9CiAgICAgfQogICAgIGlmIChtX3NjcmlwdFR5cGUgPT0gU3Vw
ZXIgfHwgbV9zY3JpcHRUeXBlID09IFN1YlN1cCB8fCBtX3NjcmlwdFR5cGUgPT0gTXVsdGlzY3Jp
cHRzICB8fCBtX3NjcmlwdFR5cGUgPT0gT3ZlciB8fCBtX3NjcmlwdFR5cGUgPT0gVW5kZXJPdmVy
KSB7CiAgICAgICAgIG1pblN1cFNjcmlwdFNoaWZ0ID0gc3RkOjptYXgoc3VwZXJzY3JpcHRTaGlm
dFVwLCBiYXNlQXNjZW50IC0gc3VwZXJTY3JpcHRCYXNlbGluZURyb3BNYXgpOwogICAgICAgICBp
ZiAoIWlzUmVuZGVyTWF0aE1MVW5kZXJPdmVyKCkpIHsKLSAgICAgICAgICAgIExheW91dFVuaXQg
c3BlY2lmaWVkTWluU3VwU2hpZnQgPSAwOwotICAgICAgICAgICAgcGFyc2VNYXRoTUxMZW5ndGgo
ZWxlbWVudCgpLT5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKE1hdGhNTE5hbWVzOjpz
dXBlcnNjcmlwdHNoaWZ0QXR0ciksIHNwZWNpZmllZE1pblN1cFNoaWZ0LCAmc3R5bGUoKSwgZmFs
c2UpOworICAgICAgICAgICAgLy8gSXQgaXMgbm90IGNsZWFyIGhvdyB0byBpbnRlcnByZXQgdGhl
IGRlZmF1bHQgc2hpZnQgYW5kIGl0IGlzIG5vdCBhdmFpbGFibGUgeWV0IGFueXdheS4KKyAgICAg
ICAgICAgIC8vIEhlbmNlIHdlIGp1c3QgcGFzcyAwIGFzIHRoZSBkZWZhdWx0IHZhbHVlIHVzZWQg
YnkgdG9Vc2VyVW5pdHMuCisgICAgICAgICAgICBMYXlvdXRVbml0IHNwZWNpZmllZE1pblN1cFNo
aWZ0ID0gdG9Vc2VyVW5pdHMoc2NyaXB0c0VsZW1lbnQoKS5zdXBlcnNjcmlwdFNoaWZ0KCksIHN0
eWxlKCksIDApOwogICAgICAgICAgICAgbWluU3VwU2NyaXB0U2hpZnQgPSBzdGQ6Om1heChtaW5T
dXBTY3JpcHRTaGlmdCwgc3BlY2lmaWVkTWluU3VwU2hpZnQpOwogICAgICAgICB9CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxT
Y3JpcHRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNj
cmlwdHMuaAppbmRleCA4ODU2ZWM2NmQ0YzVmYzRjYzEwOTRhYzE4ODEyMWQ3MTY2NjQyNTJkLi41
NTAzYzdhYjA0M2RhZTllNGZhNDllNTM2ODE4NzEwNWIwNzYyNjAxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNjcmlwdHMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNjcmlwdHMuaApAQCAt
MzIsNiArMzIsOSBAQAogI2luY2x1ZGUgIlJlbmRlck1hdGhNTEJsb2NrLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgTWF0aE1MU2NyaXB0c0VsZW1lbnQ7CisKIC8vIFJlbmRlciBh
IGJhc2Ugd2l0aCBzY3JpcHRzLgogY2xhc3MgUmVuZGVyTWF0aE1MU2NyaXB0cyA6IHB1YmxpYyBS
ZW5kZXJNYXRoTUxCbG9jayB7CiBwdWJsaWM6CkBAIC00OCw2ICs1MSw3IEBAIHByb3RlY3RlZDoK
ICAgICBTY3JpcHRzVHlwZSBtX3NjcmlwdFR5cGU7CiAKIHByaXZhdGU6CisgICAgTWF0aE1MU2Ny
aXB0c0VsZW1lbnQmIHNjcmlwdHNFbGVtZW50KCkgY29uc3Q7CiAgICAgT3B0aW9uYWw8aW50PiBm
aXJzdExpbmVCYXNlbGluZSgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgZ2V0QmFzZUFuZFNjcmlw
dHMoUmVuZGVyQm94KiYgYmFzZSwgUmVuZGVyQm94KiYgZmlyc3RQb3N0U2NyaXB0LCBSZW5kZXJC
b3gqJiBmaXJzdFByZVNjcmlwdCk7CiAgICAgTGF5b3V0VW5pdCBzcGFjZUFmdGVyU2NyaXB0KCk7
Cg==
</data>
<flag name="review"
          id="307560"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>