<?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>74369</bug_id>
          
          <creation_ts>2011-12-12 16:30:32 -0800</creation_ts>
          <short_desc>Make it possible to substitute a different CALayer implementation for the main root layer</short_desc>
          <delta_ts>2011-12-12 17:06:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>andersca</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>519659</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-12-12 16:30:32 -0800</bug_when>
    <thetext>Make it possible to substitute a different CALayer implementation for the main root layer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519668</commentid>
    <comment_count>1</comment_count>
      <attachid>118906</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-12-12 16:38:08 -0800</bug_when>
    <thetext>Created attachment 118906
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519689</commentid>
    <comment_count>2</comment_count>
      <attachid>118906</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-12-12 16:55:15 -0800</bug_when>
    <thetext>Comment on attachment 118906
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=118906&amp;action=review

&gt; Source/WebCore/ChangeLog:22
&gt; +        (WebCore::GraphicsLayerCA::GraphicsLayerCA): Ask the clilent, if any, whether to create a tile cache layer.

Typo, clilent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519705</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-12-12 17:06:18 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/102644</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118906</attachid>
            <date>2011-12-12 16:38:08 -0800</date>
            <delta_ts>2011-12-12 16:55:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74369-20111212163807.patch</filename>
            <type>text/plain</type>
            <size>25635</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWE5NTEzYWU2MWVjZDU0
OTliY2RiZjg2MDdhNGRlMzljNzk5ZWJmYS4uN2VkODM3ZTNhMzgwYWEzMjQyZWY3NTEyNjQxZDgx
N2Y4MzhkOWE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ4IEBACiAyMDExLTEyLTEyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gc3Vic3RpdHV0ZSBhIGRpZmZlcmVudCBDQUxheWVyIGltcGxlbWVudGF0aW9uIGZv
ciB0aGUgbWFpbiByb290IGxheWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NDM2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorICAgICAgICAKKyAgICAgICAgU29tZSBwbGF0Zm9ybXMgbWF5IHdpc2ggdG8gaGF2ZSB0aGUg
bWFpbiByb290IGxheWVyICh3aGljaCBjb3JyZXNwb25kcyB3aXRoCisgICAgICAgIHRoZSBtYWlu
IGZyYW1lJ3MgUmVuZGVyVmlldydzIGxheWVyKSBpbXBsZW1lbnRlZCBieSBhIGN1c3RvbSBwbGF0
Zm9ybSBsYXllciwKKyAgICAgICAgZm9yIGV4YW1wbGUgdG8gY29udGFpbiBhIGNhY2hlIG9mIHRp
bGVzLgorICAgICAgICAKKyAgICAgICAgTWFrZSB0aGlzIHBvc3NpYmxlIG9uIE1hYyBieSBhZGRp
bmcgYSBuZXcgbWV0aG9kIHRvIEdyYXBoaWNzTGF5ZXJDbGllbnQoKSwKKyAgICAgICAgYW5kIGlt
cGxlbWVudGluZyBpdCBpbiBSZW5kZXJMYXllckJhY2tpbmcuIFRoaXMgbmV3IGJlaGF2aW9yIGlz
IG5vdCB5ZXQgZW5hYmxlZC4KKyAgICAgICAgCisgICAgICAgIEFsc28gY2xlYW4gdXAgc29tZSBX
ZWJMYXllci9XZWJUaWxlZExheWVyIGNvZGUuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NM
YXllckNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsaWVudDo6c2hv
dWxkVXNlVGlsZUNhY2hlKTogTmV3IGNsaWVudCBtZXRob2QgdGhhdCBpbmRpY2F0ZXMgdGhhdCB0
aGUgR3JhcGhpY3NMYXllcgorICAgICAgICBzaG91bGQgaG9zdCBhIHRpbGUgY2FjaGUgbGF5ZXIg
aW5zdGVhZCBvZiBhIG5vcm1hbCBsYXllci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
YS9HcmFwaGljc0xheWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNB
OjpHcmFwaGljc0xheWVyQ0EpOiBBc2sgdGhlIGNsaWxlbnQsIGlmIGFueSwgd2hldGhlciB0byBj
cmVhdGUgYSB0aWxlIGNhY2hlIGxheWVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nh
L1BsYXRmb3JtQ0FMYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9Q
bGF0Zm9ybUNBTGF5ZXJNYWMubW06IE5TQ2xhc3NGcm9tU3RyaW5nKEAiQ0FUcmFuc2Zvcm1MYXll
ciIpIHdhcyBmb3IgTGVvcGFyZDsKKyAgICAgICAgd2UgY2FuIGp1c3QgdXNlIHRoZSBjbGFzc25h
bWUgbm93LiBIYW5kbGUgTGF5ZXJUeXBlVGlsZUNhY2hlTGF5ZXIuCisgICAgICAgIChQbGF0Zm9y
bUNBTGF5ZXI6OlBsYXRmb3JtQ0FMYXllcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvbWFjL1dlYlRpbGVDYWNoZUxheWVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9XZWJMYXllci5oLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NhL21hYy9XZWJUaWxlQ2FjaGVMYXllci5tbTogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkxheWVyLmguCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL1dlYkxheWVyLmg6IFJlbW92ZSB0aGUgc2V0TGF5ZXJOZWVkc0Rpc3BsYXlJ
blJlY3QoKSBoYWNrZXJ5LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJMYXll
ci5tbTogc2V0TGF5ZXJOZWVkc0Rpc3BsYXlJblJlY3QoKSB0cmllZCB0byBzaGFyZSBjb2RlIGJl
dHdlZW4gV2ViTGF5ZXIgYW5kIFdlYlRpbGVkTGF5ZXIKKyAgICAgICAgYnkgdXNpbmcgT2JqLUMg
cnVudGltZSBtZXRob2RzIHRvIGZpbmQgdGhlIHN1cGVyY2xhc3MuIFRoaXMgY2F1c2VzIGluZmlu
aXRlIHJlY3Vyc2lvbiBpZiBXZWJbVGlsZWRdTGF5ZXIgaXMgc3ViY2xhc3NlZCwKKyAgICAgICAg
c28gcmVtb3ZlIGl0LgorICAgICAgICAoLVtXZWJMYXllciBzZXROZWVkc0Rpc3BsYXlJblJlY3Q6
XSk6IENvZGUgbW92ZWQgaGVyZSBmcm9tIHNldExheWVyTmVlZHNEaXNwbGF5SW5SZWN0LgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJUaWxlZExheWVyLm1tOgorICAgICAgICAo
LVtXZWJUaWxlZExheWVyIHNldE5lZWRzRGlzcGxheUluUmVjdDpdKTogQ29kZSBjb3BpZWQgaGVy
ZSBmcm9tIHNldExheWVyTmVlZHNEaXNwbGF5SW5SZWN0LgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNr
aW5nOjpSZW5kZXJMYXllckJhY2tpbmcpOiBGaW5kIG91dCwgYW5kIGNhY2hlIGlmIHdlJ3JlIHRo
ZSBtYWluIGZyYW1lJ3MgbGF5ZXIuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tp
bmc6OnNob3VsZFVzZVRpbGVDYWNoZSk6IFJldHVybiBtX3VzaW5nVGlsZWRDYWNoZUxheWVyLCB3
aGljaCBpcyBhbHdheXMgZmFsc2UgZm9yIG5vdy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyQmFja2luZzo6Y3JlYXRlUHJpbWFyeUdyYXBoaWNzTGF5ZXIpOiBVc2UgbV9pc01haW5GcmFt
ZVJlbmRlclZpZXdMYXllci4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6
cGFpbnRpbmdHb2VzVG9XaW5kb3cpOiBUaGUgdGlsZSBjYWNoZSBsYXllciBuZWVkcyB0byBwYWlu
dCBpdHNlbGYuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDogbV9jb21wb3NpdGVGb3JG
aXhlZFBvc2l0aW9uIHdhcyB1bnVzZWQuCisKKzIwMTEtMTItMTIgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CisKICAgICAgICAgU2hhcmUgY29kZSB0aGF0IGNoZWNrcyBm
b3IgbWF0Y2hpbmcgc2V0cyBvZiB0cmFuc2Zvcm0gb3BlcmF0aW9ucwogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjUKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDBiZTQ1OTZmM2Vm
NmZkYWRiZmU4MmIxZWZjNDZlOTMxZGFjMWZhOGQuLjVmODBhZDYzY2NiZTFkZGM3ZDFjM2EwMGVl
ZWNiOGVkZmZhNzc0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTI0MSw2ICsyNDEsOCBAQAogCQkwRjU4MENGRTBGMTJERTlC
MDA1MUQ2ODkgLyogUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTgwQ0ZBMEYxMkRFOUIwMDUxRDY4OSAvKiBS
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwICovOyB9OwogCQkwRjU4MENGRjBGMTJERTlCMDA1MUQ2
ODkgLyogUmVuZGVyTGF5ZXJCYWNraW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjU4MENGQjBGMTJERTlCMDA1MUQ2ODkgLyogUmVuZGVyTGF5ZXJC
YWNraW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMEY1ODBEMDAwRjEyREU5QjAwNTFENjg5IC8qIFJlbmRlckxheWVyQmFja2luZy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU4MENGQzBGMTJE
RTlCMDA1MUQ2ODkgLyogUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCAqLzsgfTsKKwkJMEY1ODBGQTMx
NDk2OTM5MTAwRkI1QkQ4IC8qIFdlYlRpbGVDYWNoZUxheWVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU4MEZBMTE0OTY5MzkxMDBGQjVCRDggLyog
V2ViVGlsZUNhY2hlTGF5ZXIuaCAqLzsgfTsKKwkJMEY1ODBGQTQxNDk2OTM5MTAwRkI1QkQ4IC8q
IFdlYlRpbGVDYWNoZUxheWVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY1ODBGQTIxNDk2OTM5MTAwRkI1QkQ4IC8qIFdlYlRpbGVDYWNoZUxheWVy
Lm1tICovOyB9OwogCQkwRjVCN0E1NDEwRjY1RDdBMDAzNzYzMDIgLyogUmVuZGVyRW1iZWRkZWRP
YmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY1QjdBNTIxMEY2NUQ3QTAwMzc2MzAyIC8qIFJlbmRlckVtYmVkZGVkT2JqZWN0LmNwcCAqLzsg
fTsKIAkJMEY1QjdBNTUxMEY2NUQ3QTAwMzc2MzAyIC8qIFJlbmRlckVtYmVkZGVkT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjVCN0E1MzEw
RjY1RDdBMDAzNzYzMDIgLyogUmVuZGVyRW1iZWRkZWRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjZFQ0Q0NTBGMjUyRjM3MDBCREUy
NzEgLyogQ1NTUHJvcGVydHlMb25naGFuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEY2RUNENDMwRjI1MkYzNzAwQkRFMjcxIC8qIENTU1Byb3BlcnR5
TG9uZ2hhbmQuaCAqLzsgfTsKQEAgLTczMjAsNiArNzMyMiw4IEBACiAJCTBGNTgwQ0ZBMEYxMkRF
OUIwMDUxRDY4OSAvKiBSZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1ODBDRkIwRjEyREU5QjAwNTFENjg5IC8qIFJlbmRlckxh
eWVyQmFja2luZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJMYXll
ckJhY2tpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1ODBDRkMwRjEyREU5
QjAwNTFENjg5IC8qIFJlbmRlckxheWVyQmFja2luZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZW5kZXJMYXllckJhY2tpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjU4MEZBMTE0OTY5MzkxMDBGQjVCRDggLyogV2ViVGlsZUNhY2hlTGF5
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViVGlsZUNhY2hlTGF5ZXIu
aDsgcGF0aCA9IGNhL21hYy9XZWJUaWxlQ2FjaGVMYXllci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjU4MEZBMjE0OTY5MzkxMDBGQjVCRDggLyogV2ViVGlsZUNhY2hlTGF5ZXIu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXZWJUaWxlQ2FjaGVM
YXllci5tbTsgcGF0aCA9IGNhL21hYy9XZWJUaWxlQ2FjaGVMYXllci5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMEY1QjdBNTIxMEY2NUQ3QTAwMzc2MzAyIC8qIFJlbmRlckVtYmVk
ZGVkT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRl
ckVtYmVkZGVkT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1QjdB
NTMxMEY2NUQ3QTAwMzc2MzAyIC8qIFJlbmRlckVtYmVkZGVkT2JqZWN0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlckVtYmVkZGVkT2JqZWN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTBGNkVDRDQzMEYyNTJGMzcwMEJERTI3MSAvKiBDU1NQcm9wZXJ0
eUxvbmdoYW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1Byb3BlcnR5
TG9uZ2hhbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MDM2LDYgKzE1MDQw
LDggQEAKIAkJCQkyOTE3QjU2NTE0NzM0OTk1MDA1MkM5RDAgLyogTGF5ZXJGbHVzaFNjaGVkdWxl
ck1hYy5jcHAgKi8sCiAJCQkJNDk1ODc4MUYxMkE1N0RERjAwNzIzOEFDIC8qIFBsYXRmb3JtQ0FB
bmltYXRpb25NYWMubW0gKi8sCiAJCQkJNDk1ODc4MjAxMkE1N0RERjAwNzIzOEFDIC8qIFBsYXRm
b3JtQ0FMYXllck1hYy5tbSAqLywKKwkJCQkwRjU4MEZBMTE0OTY5MzkxMDBGQjVCRDggLyogV2Vi
VGlsZUNhY2hlTGF5ZXIuaCAqLywKKwkJCQkwRjU4MEZBMjE0OTY5MzkxMDBGQjVCRDggLyogV2Vi
VGlsZUNhY2hlTGF5ZXIubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IG1hYzsKIAkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CkBAIC0yNDgxMCw2ICsyNDgxNiw3IEBACiAJCQkJOEExOTU5MzQxNDdF
QTE2RTAwRDFFQTYxIC8qIERPTVdlYktpdE5hbWVkRmxvd0ludGVybmFsLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGMzVBRTVBQzE0OTI1RjVCMDA0RDU3NzYgLyogRE9NV3JhcHBlclZpc2l0b3IuaCBp
biBIZWFkZXJzICovLAogCQkJCTI2QzE3QTNFMTQ5MUQyRDQwMEQxMkJBMiAvKiBGaWxlU3lzdGVt
SU9TLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjU4MEZBMzE0OTY5MzkxMDBGQjVCRDggLyogV2Vi
VGlsZUNhY2hlTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjc2OTUsNiArMjc3MDIsNyBAQAog
CQkJCTI2QzE3QTNGMTQ5MUQyRDQwMEQxMkJBMiAvKiBGaWxlU3lzdGVtSU9TLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOEMxMDkxOTgxNDk0RkIxMjAwQjVEM0ZFIC8qIENTU0VsZW1lbnRTdHlsZURl
Y2xhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQzMDZFNEU2MTQ5NTU1NDMwMDdGMTdB
QyAvKiBLaWxsUmluZ05vbmUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY1ODBGQTQxNDk2OTM5
MTAwRkI1QkQ4IC8qIFdlYlRpbGVDYWNoZUxheWVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50
LmgKaW5kZXggZGJlNmY2ZjAxYzY3MGNlNmVkZGI3M2RjMTNmYzUzYTU1Yzg1NTEwNy4uZDkzMzgy
NjVjODQ1MGI1ZTJmYTZmNjdlZmYyYTA5NTIyNzYyNDk4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaApAQCAtNTQs
NiArNTQsOCBAQCBjbGFzcyBHcmFwaGljc0xheWVyQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0
dWFsIH5HcmFwaGljc0xheWVyQ2xpZW50KCkge30KIAorICAgIHZpcnR1YWwgYm9vbCBzaG91bGRV
c2VUaWxlQ2FjaGUoY29uc3QgR3JhcGhpY3NMYXllciopIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CisgICAgCiAgICAgLy8gQ2FsbGJhY2sgZm9yIHdoZW4gaGFyZHdhcmUtYWNjZWxlcmF0ZWQgYW5p
bWF0aW9uIHN0YXJ0ZWQuCiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQo
Y29uc3QgR3JhcGhpY3NMYXllciosIGRvdWJsZSB0aW1lKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCmlu
ZGV4IGJhOWYxYzY5ZWVmNWM2MjVkOTMyYzZiMThiOTY3N2UxY2M0YjczMDEuLjMyZDA2NmE0OTll
MjkzNGRlNWYxOGRkZGVkZmJkYzMyNzdjOGQyZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcApAQCAtMjQ5LDcg
KzI0OSwxMSBAQCBHcmFwaGljc0xheWVyQ0E6OkdyYXBoaWNzTGF5ZXJDQShHcmFwaGljc0xheWVy
Q2xpZW50KiBjbGllbnQpCiAgICAgLCBtX2FsbG93VGlsZWRMYXllcih0cnVlKQogICAgICwgbV91
bmNvbW1pdHRlZENoYW5nZXMoMCkKIHsKLSAgICBtX2xheWVyID0gUGxhdGZvcm1DQUxheWVyOjpj
cmVhdGUoUGxhdGZvcm1DQUxheWVyOjpMYXllclR5cGVXZWJMYXllciwgdGhpcyk7CisgICAgUGxh
dGZvcm1DQUxheWVyOjpMYXllclR5cGUgbGF5ZXJUeXBlID0gUGxhdGZvcm1DQUxheWVyOjpMYXll
clR5cGVXZWJMYXllcjsKKyAgICBpZiAoY2xpZW50ICYmIGNsaWVudC0+c2hvdWxkVXNlVGlsZUNh
Y2hlKHRoaXMpKQorICAgICAgICBsYXllclR5cGUgPSBQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlw
ZVRpbGVDYWNoZUxheWVyOworCisgICAgbV9sYXllciA9IFBsYXRmb3JtQ0FMYXllcjo6Y3JlYXRl
KGxheWVyVHlwZSwgdGhpcyk7CiAKICAgICB1cGRhdGVEZWJ1Z0luZGljYXRvcnMoKTsKICAgICBu
b3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWQoQ29udGVudHNTY2FsZUNoYW5nZWQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaApp
bmRleCBkYjUyYjQyNzJhYmYwYjA3NGYxNzU0MTIwNjZiNWY5ZmM0ZTUzMjhhLi5mMWM4ZWNlNGQw
OWYxMTRhM2FlYjdhZTUyMjc4ODYxYmI5NTA4MGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaApAQCAtNTQsNyArNTQs
MTUgQEAgcHVibGljOgogICAgIC8vIExheWVyVHlwZVJvb3RMYXllciBpcyB1c2VkIG9uIHNvbWUg
cGxhdGZvcm1zLiBJdCBoYXMgbm8gYmFja2luZyBzdG9yZSwgc28gc2V0TmVlZHNEaXNwbGF5CiAg
ICAgLy8gc2hvdWxkIG5vdCBjYWxsIENBQ0ZMYXllclNldE5lZWRzRGlzcGxheSwgYnV0IHJhdGhl
ciBqdXN0IG5vdGlmeSB0aGUgcmVuZGVyZXIgdGhhdCBpdAogICAgIC8vIGhhcyBjaGFuZ2VkIGFu
ZCBzaG91bGQgYmUgcmUtcmVuZGVyZWQuCi0gICAgZW51bSBMYXllclR5cGUgeyBMYXllclR5cGVM
YXllciwgTGF5ZXJUeXBlV2ViTGF5ZXIsIExheWVyVHlwZVRyYW5zZm9ybUxheWVyLCBMYXllclR5
cGVXZWJUaWxlZExheWVyLCBMYXllclR5cGVSb290TGF5ZXIsIExheWVyVHlwZUN1c3RvbSB9Owor
ICAgIGVudW0gTGF5ZXJUeXBlIHsKKyAgICAgICAgTGF5ZXJUeXBlTGF5ZXIsCisgICAgICAgIExh
eWVyVHlwZVdlYkxheWVyLAorICAgICAgICBMYXllclR5cGVUcmFuc2Zvcm1MYXllciwKKyAgICAg
ICAgTGF5ZXJUeXBlV2ViVGlsZWRMYXllciwKKyAgICAgICAgTGF5ZXJUeXBlVGlsZUNhY2hlTGF5
ZXIsCisgICAgICAgIExheWVyVHlwZVJvb3RMYXllciwKKyAgICAgICAgTGF5ZXJUeXBlQ3VzdG9t
CisgICAgfTsKICAgICBlbnVtIEZpbHRlclR5cGUgeyBMaW5lYXIsIE5lYXJlc3QsIFRyaWxpbmVh
ciB9OwogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBjcmVhdGUoTGF5
ZXJUeXBlLCBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1t
CmluZGV4IGRhZjA2ODA3NDE3MGJhN2UzZjY1OGI3N2MwZTE4YTMzN2MxMDZmYzUuLjRjMGM3YzE0
Y2UzOTE0Mzc2MDg3Mjc5NzgzZGFhMDhjNjc5NDM1YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1h
Yy5tbQpAQCAtMzUsNiArMzUsNyBAQAogI2ltcG9ydCAiR3JhcGhpY3NMYXllckNBLmgiCiAjaW1w
b3J0ICJXZWJMYXllci5oIgogI2ltcG9ydCAiV2ViVGlsZWRMYXllci5oIgorI2ltcG9ydCAiV2Vi
VGlsZUNhY2hlTGF5ZXIuaCIKICNpbXBvcnQgPG9iamMvb2JqYy1hdXRvLmg+CiAjaW1wb3J0IDxv
YmpjL29iamMtcnVudGltZS5oPgogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+CkBA
IC0xODQsMTEgKzE4NSwxNCBAQCBQbGF0Zm9ybUNBTGF5ZXI6OlBsYXRmb3JtQ0FMYXllcihMYXll
clR5cGUgbGF5ZXJUeXBlLCBQbGF0Zm9ybUxheWVyKiBsYXllciwgUGxhdAogICAgICAgICAgICAg
ICAgIGxheWVyQ2xhc3MgPSBbV2ViTGF5ZXIgY2xhc3NdOwogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgY2FzZSBMYXllclR5cGVUcmFuc2Zvcm1MYXllcjoKLSAgICAgICAgICAg
ICAgICBsYXllckNsYXNzID0gTlNDbGFzc0Zyb21TdHJpbmcoQCJDQVRyYW5zZm9ybUxheWVyIik7
CisgICAgICAgICAgICAgICAgbGF5ZXJDbGFzcyA9IFtDQVRyYW5zZm9ybUxheWVyIGNsYXNzXTsK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgTGF5ZXJUeXBlV2ViVGls
ZWRMYXllcjoKICAgICAgICAgICAgICAgICBsYXllckNsYXNzID0gW1dlYlRpbGVkTGF5ZXIgY2xh
c3NdOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBMYXllclR5cGVU
aWxlQ2FjaGVMYXllcjoKKyAgICAgICAgICAgICAgICBsYXllckNsYXNzID0gW1dlYlRpbGVDYWNo
ZUxheWVyIGNsYXNzXTsKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2Ug
TGF5ZXJUeXBlQ3VzdG9tOgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvV2ViVGlsZUNh
Y2hlTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9XZWJU
aWxlQ2FjaGVMYXllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1ODk4OTZlYWM4ZGRkNmJjYTAwYTBkNTAyOGIx
OTZkNWI2OWViMDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9tYWMvV2ViVGlsZUNhY2hlTGF5ZXIuaApAQCAtMCwwICsxLDMwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW1w
b3J0ICJXZWJUaWxlZExheWVyLmgiCisKK0BpbnRlcmZhY2UgV2ViVGlsZUNhY2hlTGF5ZXIgOiBX
ZWJUaWxlZExheWVyCisKK0BlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL21hYy9XZWJUaWxlQ2FjaGVMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL21hYy9XZWJUaWxlQ2FjaGVMYXllci5tbQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
YjU3ZDNlMmIwNjU1ZjY3OWI5ODkwYzcwOTBhOTg3M2M5ZTYwMzljCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1dlYlRpbGVDYWNoZUxh
eWVyLm1tCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaW1wb3J0ICJX
ZWJUaWxlQ2FjaGVMYXllci5oIgorCitAaW1wbGVtZW50YXRpb24gV2ViVGlsZUNhY2hlTGF5ZXIK
KworCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvV2ViTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJM
YXllci5oCmluZGV4IDJlOWJlYTAxODgwMGYxNWQ5YjM2N2IxMzljMDg4ZWQ4YjQ2OTJhNTcuLmJi
MGY0NDRiYzJlZmExNTJmMTA0MWY2ZjE2MTE5Y2E1Zjg5ZDlkZDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJMYXllci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJMYXllci5oCkBAIC01MCw3ICs1MCw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gRnVuY3Rpb25zIGFsbG93cyB1cyB0byBzaGFyZSBp
bXBsZW1lbnRhdGlvbiBhY3Jvc3MgV2ViVGlsZWRMYXllciBhbmQgV2ViTGF5ZXIKIHZvaWQgZHJh
d0xheWVyQ29udGVudHMoQ0dDb250ZXh0UmVmLCBDQUxheWVyICosIFdlYkNvcmU6OlBsYXRmb3Jt
Q0FMYXllciopOwotdm9pZCBzZXRMYXllck5lZWRzRGlzcGxheUluUmVjdChDQUxheWVyICosIFdl
YkNvcmU6OlBsYXRmb3JtQ0FMYXllckNsaWVudCosIENHUmVjdCk7CiAKICNlbmRpZiAvLyBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9XZWJMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9XZWJMYXllci5tbQppbmRleCA3YjI5Yjk1NGYyZWIyNTBjNGVjMzViYWNm
Y2RmZjQzMTZjOWEyOWE1Li43YzM4OGQzMWZiYzI1Y2I5NjEyOWE2OWQxOWEwOWZkOWExYTNiOTIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViTGF5
ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkxheWVy
Lm1tCkBAIC0xMjIsMzMgKzEyMiw2IEBAIHZvaWQgZHJhd0xheWVyQ29udGVudHMoQ0dDb250ZXh0
UmVmIGNvbnRleHQsIENBTGF5ZXIgKmxheWVyLCBXZWJDb3JlOjpQbGF0Zm9ybUNBCiAgICAgQ0dD
b250ZXh0UmVzdG9yZUdTdGF0ZShjb250ZXh0KTsKIH0KIAotdm9pZCBzZXRMYXllck5lZWRzRGlz
cGxheUluUmVjdChDQUxheWVyICpsYXllciwgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyQ2xpZW50
KiBsYXllckNvbnRlbnRzLCBDR1JlY3QgcmVjdCkKLXsKLSAgICBpZiAobGF5ZXJDb250ZW50cyAm
JiBsYXllckNvbnRlbnRzLT5wbGF0Zm9ybUNBTGF5ZXJEcmF3c0NvbnRlbnQoKSkgewotICAgICAg
ICBzdHJ1Y3Qgb2JqY19zdXBlciBsYXllclN1cGVyID0geyBsYXllciwgY2xhc3NfZ2V0U3VwZXJj
bGFzcyhvYmplY3RfZ2V0Q2xhc3MobGF5ZXIpKSB9OwotI2lmIGRlZmluZWQoQlVJTERJTkdfT05f
TEVPUEFSRCkKLSAgICAgICAgcmVjdCA9IENHUmVjdEFwcGx5QWZmaW5lVHJhbnNmb3JtKHJlY3Qs
IFtsYXllciBjb250ZW50c1RyYW5zZm9ybV0pOwotI2Vsc2UKLSAgICAgICAgaWYgKGxheWVyQ29u
dGVudHMtPnBsYXRmb3JtQ0FMYXllckNvbnRlbnRzT3JpZW50YXRpb24oKSA9PSBXZWJDb3JlOjpH
cmFwaGljc0xheWVyOjpDb21wb3NpdGluZ0Nvb3JkaW5hdGVzQm90dG9tVXApCi0gICAgICAgICAg
ICByZWN0Lm9yaWdpbi55ID0gW2xheWVyIGJvdW5kc10uc2l6ZS5oZWlnaHQgLSByZWN0Lm9yaWdp
bi55IC0gcmVjdC5zaXplLmhlaWdodDsKLSNlbmRpZgotICAgICAgICBvYmpjX21zZ1NlbmRTdXBl
cigmbGF5ZXJTdXBlciwgQHNlbGVjdG9yKHNldE5lZWRzRGlzcGxheUluUmVjdDopLCByZWN0KTsK
LQotI2lmbmRlZiBOREVCVUcKLSAgICAgICAgaWYgKGxheWVyQ29udGVudHMtPnBsYXRmb3JtQ0FM
YXllclNob3dSZXBhaW50Q291bnRlcigpKSB7Ci0gICAgICAgICAgICBDR1JlY3QgYm91bmRzID0g
W2xheWVyIGJvdW5kc107Ci0gICAgICAgICAgICBDR1JlY3QgaW5kaWNhdG9yUmVjdCA9IENHUmVj
dE1ha2UoYm91bmRzLm9yaWdpbi54LCBib3VuZHMub3JpZ2luLnksIDQ2LCAyNSk7Ci0jaWYgZGVm
aW5lZChCVUlMRElOR19PTl9MRU9QQVJEKQotICAgICAgICAgICAgaW5kaWNhdG9yUmVjdCA9IENH
UmVjdEFwcGx5QWZmaW5lVHJhbnNmb3JtKGluZGljYXRvclJlY3QsIFtsYXllciBjb250ZW50c1Ry
YW5zZm9ybV0pOwotI2Vsc2UKLSAgICAgICAgICAgIGlmIChsYXllckNvbnRlbnRzLT5wbGF0Zm9y
bUNBTGF5ZXJDb250ZW50c09yaWVudGF0aW9uKCkgPT0gV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6
Q29tcG9zaXRpbmdDb29yZGluYXRlc0JvdHRvbVVwKQotICAgICAgICAgICAgICAgIGluZGljYXRv
clJlY3Qub3JpZ2luLnkgPSBbbGF5ZXIgYm91bmRzXS5zaXplLmhlaWdodCAtIGluZGljYXRvclJl
Y3Qub3JpZ2luLnkgLSBpbmRpY2F0b3JSZWN0LnNpemUuaGVpZ2h0OwotI2VuZGlmCi0gICAgICAg
ICAgICBvYmpjX21zZ1NlbmRTdXBlcigmbGF5ZXJTdXBlciwgQHNlbGVjdG9yKHNldE5lZWRzRGlz
cGxheUluUmVjdDopLCBpbmRpY2F0b3JSZWN0KTsKLSAgICAgICAgfQotI2VuZGlmCi0gICAgfQot
fQogCiAtIChpZDxDQUFjdGlvbj4pYWN0aW9uRm9yS2V5OihOU1N0cmluZyAqKWtleQogewpAQCAt
MTY4LDkgKzE0MSwyOSBAQCB2b2lkIHNldExheWVyTmVlZHNEaXNwbGF5SW5SZWN0KENBTGF5ZXIg
KmxheWVyLCBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJDbGllbnQqCiAKIC0gKHZvaWQpc2V0TmVl
ZHNEaXNwbGF5SW5SZWN0OihDR1JlY3QpZGlydHlSZWN0CiB7Ci0gICAgUGxhdGZvcm1DQUxheWVy
KiBsYXllciA9IFBsYXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKHNlbGYpOwotICAgIGlm
IChsYXllcikKLSAgICAgICAgc2V0TGF5ZXJOZWVkc0Rpc3BsYXlJblJlY3Qoc2VsZiwgbGF5ZXIt
Pm93bmVyKCksIGRpcnR5UmVjdCk7CisgICAgUGxhdGZvcm1DQUxheWVyKiBwbGF0Zm9ybUxheWVy
ID0gUGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5ZXIoc2VsZik7CisgICAgaWYgKCFwbGF0
Zm9ybUxheWVyKSB7CisgICAgICAgIFtzdXBlciBzZXROZWVkc0Rpc3BsYXlJblJlY3Q6ZGlydHlS
ZWN0XTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChQbGF0Zm9ybUNBTGF5ZXJD
bGllbnQqIGxheWVyT3duZXIgPSBwbGF0Zm9ybUxheWVyLT5vd25lcigpKSB7CisgICAgICAgIGlm
IChsYXllck93bmVyLT5wbGF0Zm9ybUNBTGF5ZXJEcmF3c0NvbnRlbnQoKSkgeworICAgICAgICAg
ICAgaWYgKGxheWVyT3duZXItPnBsYXRmb3JtQ0FMYXllckNvbnRlbnRzT3JpZW50YXRpb24oKSA9
PSBXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpDb21wb3NpdGluZ0Nvb3JkaW5hdGVzQm90dG9tVXAp
CisgICAgICAgICAgICAgICAgZGlydHlSZWN0Lm9yaWdpbi55ID0gW3NlbGYgYm91bmRzXS5zaXpl
LmhlaWdodCAtIGRpcnR5UmVjdC5vcmlnaW4ueSAtIGRpcnR5UmVjdC5zaXplLmhlaWdodDsKKwor
ICAgICAgICAgICAgW3N1cGVyIHNldE5lZWRzRGlzcGxheUluUmVjdDpkaXJ0eVJlY3RdOworCisg
ICAgICAgICAgICBpZiAobGF5ZXJPd25lci0+cGxhdGZvcm1DQUxheWVyU2hvd1JlcGFpbnRDb3Vu
dGVyKCkpIHsKKyAgICAgICAgICAgICAgICBDR1JlY3QgYm91bmRzID0gW3NlbGYgYm91bmRzXTsK
KyAgICAgICAgICAgICAgICBDR1JlY3QgaW5kaWNhdG9yUmVjdCA9IENHUmVjdE1ha2UoYm91bmRz
Lm9yaWdpbi54LCBib3VuZHMub3JpZ2luLnksIDUyLCAyNyk7CisgICAgICAgICAgICAgICAgaWYg
KGxheWVyT3duZXItPnBsYXRmb3JtQ0FMYXllckNvbnRlbnRzT3JpZW50YXRpb24oKSA9PSBXZWJD
b3JlOjpHcmFwaGljc0xheWVyOjpDb21wb3NpdGluZ0Nvb3JkaW5hdGVzQm90dG9tVXApCisgICAg
ICAgICAgICAgICAgICAgIGluZGljYXRvclJlY3Qub3JpZ2luLnkgPSBbc2VsZiBib3VuZHNdLnNp
emUuaGVpZ2h0IC0gaW5kaWNhdG9yUmVjdC5vcmlnaW4ueSAtIGluZGljYXRvclJlY3Quc2l6ZS5o
ZWlnaHQ7CisKKyAgICAgICAgICAgICAgICBbc3VwZXIgc2V0TmVlZHNEaXNwbGF5SW5SZWN0Omlu
ZGljYXRvclJlY3RdOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQogfQogCiAtICh2
b2lkKWRpc3BsYXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9XZWJUaWxlZExheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL1dlYlRpbGVkTGF5ZXIubW0KaW5kZXggOWJjZGQ1NDZmODlmNjgyYjhhOTFlYWIzMGY0NTVh
OGU4OTBjZjExOS4uYjVlZTExMGUyYjEzMDAxMjBkOWY0OTVjMDY1ODYxMmQxN2E1NGM3OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYlRpbGVkTGF5
ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYlRpbGVk
TGF5ZXIubW0KQEAgLTY2LDkgKzY2LDI5IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiAt
ICh2b2lkKXNldE5lZWRzRGlzcGxheUluUmVjdDooQ0dSZWN0KWRpcnR5UmVjdAogewotICAgIFBs
YXRmb3JtQ0FMYXllciogbGF5ZXIgPSBQbGF0Zm9ybUNBTGF5ZXI6OnBsYXRmb3JtQ0FMYXllcihz
ZWxmKTsKLSAgICBpZiAobGF5ZXIpCi0gICAgICAgIHNldExheWVyTmVlZHNEaXNwbGF5SW5SZWN0
KHNlbGYsIGxheWVyLT5vd25lcigpLCBkaXJ0eVJlY3QpOworICAgIFBsYXRmb3JtQ0FMYXllciog
cGxhdGZvcm1MYXllciA9IFBsYXRmb3JtQ0FMYXllcjo6cGxhdGZvcm1DQUxheWVyKHNlbGYpOwor
ICAgIGlmICghcGxhdGZvcm1MYXllcikgeworICAgICAgICBbc3VwZXIgc2V0TmVlZHNEaXNwbGF5
SW5SZWN0OmRpcnR5UmVjdF07CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoUGxh
dGZvcm1DQUxheWVyQ2xpZW50KiBsYXllck93bmVyID0gcGxhdGZvcm1MYXllci0+b3duZXIoKSkg
eworICAgICAgICBpZiAobGF5ZXJPd25lci0+cGxhdGZvcm1DQUxheWVyRHJhd3NDb250ZW50KCkp
IHsKKyAgICAgICAgICAgIGlmIChsYXllck93bmVyLT5wbGF0Zm9ybUNBTGF5ZXJDb250ZW50c09y
aWVudGF0aW9uKCkgPT0gV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6Q29tcG9zaXRpbmdDb29yZGlu
YXRlc0JvdHRvbVVwKQorICAgICAgICAgICAgICAgIGRpcnR5UmVjdC5vcmlnaW4ueSA9IFtzZWxm
IGJvdW5kc10uc2l6ZS5oZWlnaHQgLSBkaXJ0eVJlY3Qub3JpZ2luLnkgLSBkaXJ0eVJlY3Quc2l6
ZS5oZWlnaHQ7CisKKyAgICAgICAgICAgIFtzdXBlciBzZXROZWVkc0Rpc3BsYXlJblJlY3Q6ZGly
dHlSZWN0XTsKKworICAgICAgICAgICAgaWYgKGxheWVyT3duZXItPnBsYXRmb3JtQ0FMYXllclNo
b3dSZXBhaW50Q291bnRlcigpKSB7CisgICAgICAgICAgICAgICAgQ0dSZWN0IGJvdW5kcyA9IFtz
ZWxmIGJvdW5kc107CisgICAgICAgICAgICAgICAgQ0dSZWN0IGluZGljYXRvclJlY3QgPSBDR1Jl
Y3RNYWtlKGJvdW5kcy5vcmlnaW4ueCwgYm91bmRzLm9yaWdpbi55LCA1MiwgMjcpOworICAgICAg
ICAgICAgICAgIGlmIChsYXllck93bmVyLT5wbGF0Zm9ybUNBTGF5ZXJDb250ZW50c09yaWVudGF0
aW9uKCkgPT0gV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6Q29tcG9zaXRpbmdDb29yZGluYXRlc0Jv
dHRvbVVwKQorICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3JSZWN0Lm9yaWdpbi55ID0gW3Nl
bGYgYm91bmRzXS5zaXplLmhlaWdodCAtIGluZGljYXRvclJlY3Qub3JpZ2luLnkgLSBpbmRpY2F0
b3JSZWN0LnNpemUuaGVpZ2h0OworCisgICAgICAgICAgICAgICAgW3N1cGVyIHNldE5lZWRzRGlz
cGxheUluUmVjdDppbmRpY2F0b3JSZWN0XTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IH0KIH0KIAogLSAodm9pZClkaXNwbGF5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IDQwYmY3ODU2MWZhNThjMTdiM2RkZjllNWNjMWZk
ODRmOTA2YzBlNjEuLjcxMjFmNDc5ODdiOTFmMjljMGJiMWJmZjdlMGI0YzBhMDVmZDU2NTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBA
IC04NSw3ICs4NSwxOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNBY2NlbGVyYXRlZENhbnZhcyhS
ZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogUmVuZGVyTGF5ZXJCYWNraW5nOjpSZW5kZXJMYXllckJh
Y2tpbmcoUmVuZGVyTGF5ZXIqIGxheWVyKQogICAgIDogbV9vd25pbmdMYXllcihsYXllcikKICAg
ICAsIG1fYXJ0aWZpY2lhbGx5SW5mbGF0ZWRCb3VuZHMoZmFsc2UpCisgICAgLCBtX2lzTWFpbkZy
YW1lUmVuZGVyVmlld0xheWVyKGZhbHNlKQorICAgICwgbV91c2luZ1RpbGVkQ2FjaGVMYXllcihm
YWxzZSkKIHsKKyAgICBpZiAocmVuZGVyZXIoKS0+aXNSZW5kZXJWaWV3KCkpIHsKKyAgICAgICAg
RnJhbWUqIGZyYW1lID0gdG9SZW5kZXJWaWV3KHJlbmRlcmVyKCkpLT5mcmFtZVZpZXcoKS0+ZnJh
bWUoKTsKKyAgICAgICAgUGFnZSogcGFnZSA9IGZyYW1lID8gZnJhbWUtPnBhZ2UoKSA6IDA7Cisg
ICAgICAgIGlmIChwYWdlICYmIGZyYW1lICYmIHBhZ2UtPm1haW5GcmFtZSgpID09IGZyYW1lKQor
ICAgICAgICAgICAgbV9pc01haW5GcmFtZVJlbmRlclZpZXdMYXllciA9IHRydWU7CisgICAgfQor
ICAgIAorICAgIG1fdXNpbmdUaWxlZENhY2hlTGF5ZXIgPSBmYWxzZTsgLy8gRklYTUU6IEF0IHNv
bWUgcG9pbnQgdGhpcyB3aWxsIHRlc3QgbV9pc01haW5GcmFtZVJlbmRlclZpZXdMYXllciBhbmQg
Y2hlY2sgYSBTZXR0aW5nLgorCiAgICAgY3JlYXRlUHJpbWFyeUdyYXBoaWNzTGF5ZXIoKTsKIH0K
IApAQCAtMTEwLDYgKzEyMSwxMSBAQCBQYXNzT3duUHRyPEdyYXBoaWNzTGF5ZXI+IFJlbmRlckxh
eWVyQmFja2luZzo6Y3JlYXRlR3JhcGhpY3NMYXllcihjb25zdCBTdHJpbmcmCiAgICAgcmV0dXJu
IGdyYXBoaWNzTGF5ZXIucmVsZWFzZSgpOwogfQogCitib29sIFJlbmRlckxheWVyQmFja2luZzo6
c2hvdWxkVXNlVGlsZUNhY2hlKGNvbnN0IEdyYXBoaWNzTGF5ZXIqKSBjb25zdAoreworICAgIHJl
dHVybiBtX3VzaW5nVGlsZWRDYWNoZUxheWVyOworfQorCiB2b2lkIFJlbmRlckxheWVyQmFja2lu
Zzo6Y3JlYXRlUHJpbWFyeUdyYXBoaWNzTGF5ZXIoKQogewogICAgIFN0cmluZyBsYXllck5hbWU7
CkBAIC0xMTcsMTIgKzEzMyw5IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpjcmVhdGVQcmlt
YXJ5R3JhcGhpY3NMYXllcigpCiAgICAgbGF5ZXJOYW1lID0gbmFtZUZvckxheWVyKCk7CiAjZW5k
aWYKICAgICBtX2dyYXBoaWNzTGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xheWVyKGxheWVyTmFtZSk7
Ci0gICAgaWYgKHJlbmRlcmVyKCktPmlzUmVuZGVyVmlldygpKSB7Ci0gICAgICAgIEZyYW1lKiBm
cmFtZSA9IHRvUmVuZGVyVmlldyhyZW5kZXJlcigpKS0+ZnJhbWVWaWV3KCktPmZyYW1lKCk7Ci0g
ICAgICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZSA/IGZyYW1lLT5wYWdlKCkgOiAwOwotICAgICAgICBp
ZiAocGFnZSAmJiBmcmFtZSAmJiBwYWdlLT5tYWluRnJhbWUoKSA9PSBmcmFtZSkKLSAgICAgICAg
ICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0QXBwbGllc1BhZ2VTY2FsZSgpOwotICAgIH0KKworICAg
IGlmIChtX2lzTWFpbkZyYW1lUmVuZGVyVmlld0xheWVyKQorICAgICAgICBtX2dyYXBoaWNzTGF5
ZXItPnNldEFwcGxpZXNQYWdlU2NhbGUoKTsKICAgICAKICAgICB1cGRhdGVMYXllck9wYWNpdHko
cmVuZGVyZXIoKS0+c3R5bGUoKSk7CiAgICAgdXBkYXRlTGF5ZXJUcmFuc2Zvcm0ocmVuZGVyZXIo
KS0+c3R5bGUoKSk7CkBAIC0xMDQyLDYgKzEwNTUsOSBAQCBMYXlvdXRSZWN0IFJlbmRlckxheWVy
QmFja2luZzo6Y29udGVudHNCb3goKSBjb25zdAogCiBib29sIFJlbmRlckxheWVyQmFja2luZzo6
cGFpbnRpbmdHb2VzVG9XaW5kb3coKSBjb25zdAogeworICAgIGlmIChtX3VzaW5nVGlsZWRDYWNo
ZUxheWVyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAobV9vd25pbmdMYXllci0+
aXNSb290TGF5ZXIoKSkKICAgICAgICAgcmV0dXJuIGNvbXBvc2l0b3IoKS0+cm9vdExheWVyQXR0
YWNobWVudCgpICE9IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Um9vdExheWVyQXR0YWNoZWRWaWFF
bmNsb3NpbmdGcmFtZTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuaAppbmRleCAyYzY0NmY4M2Q2ZjdhMDc1NTQwYjE4NWI5NzgzOWZmOTMwYzhh
NWU3Li40ZmM3MjE3YTY0ZmU0ZjM4NTJlMmRhMzViNmFmNWM0MjYxNzgzMTJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCkBAIC0xMjMsNiArMTIz
LDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlQWZ0ZXJXaWRnZXRSZXNpemUoKTsKIAogICAg
IC8vIEdyYXBoaWNzTGF5ZXJDbGllbnQgaW50ZXJmYWNlCisgICAgdmlydHVhbCBib29sIHNob3Vs
ZFVzZVRpbGVDYWNoZShjb25zdCBHcmFwaGljc0xheWVyKikgY29uc3Q7CiAgICAgdmlydHVhbCB2
b2lkIG5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQoY29uc3QgR3JhcGhpY3NMYXllciosIGRvdWJsZSBz
dGFydFRpbWUpOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlTeW5jUmVxdWlyZWQoY29uc3QgR3Jh
cGhpY3NMYXllciopOwogCkBAIC0xNzYsNiArMTc3LDggQEAgcHJpdmF0ZToKICAgICAvLyBSZXR1
cm4gdGhlIG9wYWNpdHkgdmFsdWUgdGhhdCB0aGlzIGxheWVyIHNob3VsZCB1c2UgZm9yIGNvbXBv
c2l0aW5nLgogICAgIGZsb2F0IGNvbXBvc2l0aW5nT3BhY2l0eShmbG9hdCByZW5kZXJlck9wYWNp
dHkpIGNvbnN0OwogICAgIAorICAgIGJvb2wgaXNNYWluRnJhbWVSZW5kZXJWaWV3TGF5ZXIoKSBj
b25zdDsKKyAgICAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBjb21wb3NpdGluZyBsYXll
ciBoYXMgbm8gdmlzaWJsZSBjb250ZW50LgogICAgIGJvb2wgaXNTaW1wbGVDb250YWluZXJDb21w
b3NpdGluZ0xheWVyKCkgY29uc3Q7CiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoaXMgbGF5ZXIg
aGFzIGNvbnRlbnQgdGhhdCBuZWVkcyB0byBiZSByZW5kZXJlZCBieSBwYWludGluZyBpbnRvIHRo
ZSBiYWNraW5nIHN0b3JlLgpAQCAtMjE0LDYgKzIxNyw4IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0
UmVjdCBtX2NvbXBvc2l0ZWRCb3VuZHM7CiAKICAgICBib29sIG1fYXJ0aWZpY2lhbGx5SW5mbGF0
ZWRCb3VuZHM7ICAgICAgLy8gYm91bmRzIGhhZCB0byBiZSBtYWRlIG5vbi16ZXJvIHRvIG1ha2Ug
dHJhbnNmb3JtLW9yaWdpbiB3b3JrCisgICAgYm9vbCBtX2lzTWFpbkZyYW1lUmVuZGVyVmlld0xh
eWVyOworICAgIGJvb2wgbV91c2luZ1RpbGVkQ2FjaGVMYXllcjsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuaAppbmRleCBhOGFkMzk2ZGNlNWRmMjlmYmE5MmNiZDM5Yzk3MzRhNjEyYTc4ZTlm
Li42NTc0MTRiYjE2OThiOTNiYWZiNjhjNmY3Yzk0ZWU0Y2IyMTQzOTcwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCkBAIC0zMTcsNyAr
MzE3LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fY29tcG9zaXRpbmdMYXllcnNOZWVkUmVidWls
ZDsKICAgICBib29sIG1fZmx1c2hpbmdMYXllcnM7CiAgICAgYm9vbCBtX2ZvcmNlQ29tcG9zaXRp
bmdNb2RlOwotICAgIGJvb2wgbV9jb21wb3NpdGVGb3JGaXhlZFBvc2l0aW9uOwogCiAgICAgUm9v
dExheWVyQXR0YWNobWVudCBtX3Jvb3RMYXllckF0dGFjaG1lbnQ7CiAK
</data>
<flag name="review"
          id="118770"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>