<?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>74540</bug_id>
          
          <creation_ts>2011-12-14 14:17:34 -0800</creation_ts>
          <short_desc>[Qt] [WK2] Remove QtWebPageProxy</short_desc>
          <delta_ts>2011-12-15 06:10:20 -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>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>72943</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Marcelo de Oliveira Filho">cmarcelo</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>hausmann</cc>
    
    <cc>jesus</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>521285</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-12-14 14:17:34 -0800</bug_when>
    <thetext>[Qt] [WK2] Remove QtWebPageProxy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521298</commentid>
    <comment_count>1</comment_count>
      <attachid>119300</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-12-14 14:34:26 -0800</bug_when>
    <thetext>Created attachment 119300
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521801</commentid>
    <comment_count>2</comment_count>
      <attachid>119300</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-15 03:47:02 -0800</bug_when>
    <thetext>Comment on attachment 119300
Patch

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

Looks good... but please investigate why this breaks mac

&gt; Source/WebKit2/ChangeLog:17
&gt; +        Farewell, QtWebPageProxy!

Let&apos;s celebrate!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521852</commentid>
    <comment_count>3</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-12-15 06:10:20 -0800</bug_when>
    <thetext>Committed r102932: &lt;http://trac.webkit.org/changeset/102932&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119300</attachid>
            <date>2011-12-14 14:34:26 -0800</date>
            <delta_ts>2011-12-15 03:47:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74540-20111214193526.patch</filename>
            <type>text/plain</type>
            <size>34604</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyODA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZmE5ZmMwMjBjNDEzOGNl
ZDNjZjg5MzU2Yjk1MDM0ZTJlM2Y3MzFhOS4uY2UzNThiYTZlZmI4Yjk1NjllY2Y3MjUyMjUyN2Jj
NzY0YWFkNDFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDczIEBACiAyMDExLTEyLTE0ICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CiAKKyAgICAgICAgW1F0XSBbV0syXSBSZW1vdmUgUXRXZWJQYWdlUHJveHkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBXZWJQYWdlUHJveHkqIHRv
IFFRdWlja1dlYlZpZXdQcml2YXRlLiBUaGUgcmVtYWluaW5nIGZ1bmN0aW9ucyBpbgorICAgICAg
ICBRdFdlYlBhZ2VQcm94eSB3ZXJlIHNpbXBsZSB3cmFwcGVycyB0byBXZWJLaXQgZnVuY3Rpb25h
bGl0eSAodGV4dCB6b29tLCBwYWdlIHpvb20KKyAgICAgICAgYW5kIHVzZXIgYWdlbnQgc2V0dGlu
ZykuIFNpbmNlIHRob3NlIHdyYXBwZXJzIGFyZSB1bnVzZWQsIHRoZXkgd2VyZSByZW1vdmVkLiBU
aGUKKyAgICAgICAgc2lnbmFsIGluIHRoZSBjbGFzcyB3YXMgYWxzbyB1bnVzZWQuCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBhbHNvIHJlbW92ZSB0aGUgY29kZSBmcm9tIFdlYkNvbnRleHRNZW51UHJv
eHlRdCwgaXQgd2FzIHJlbWFpbnMgb2YgYQorICAgICAgICBwcmV2aW91cyBRTWVudS1iYXNlZCBp
bXBsZW1lbnRhdGlvbi4gV2Ugd2FudCB0byByZXdyaXRlIHRoaXMgY29kZSBmb3IgUU1MIGFueXdh
eSwKKyAgICAgICAgc28gSSByZXZlcnRlZCB0byBhbiBlbXB0eSBzdGF0ZS4KKworICAgICAgICBG
YXJld2VsbCwgUXRXZWJQYWdlUHJveHkhCisKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHA6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlX3AuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0
L3FxdWlja3dlYnZpZXcuY3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6On5RUXVp
Y2tXZWJWaWV3UHJpdmF0ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aW5pdGlh
bGl6ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6cHJvY2Vzc0RpZENyYXNoKToK
KyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpjcmVhdGVEcmF3aW5nQXJlYVByb3h5KToK
KyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjp1cGRhdGVWaXNpYmxlQ29udGVudFJlY3RB
bmRTY2FsZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6X3Ffdmlld3BvcnRUcmFq
ZWN0b3J5VmVjdG9yQ2hhbmdlZCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6X3Ff
b25WaXNpYmxlQ2hhbmdlZCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6dXBkYXRl
Vmlld3BvcnRTaXplKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpjb21wdXRlVmll
d3BvcnRDb25zdHJhaW50cyk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6c2V0VXNl
VHJhZGl0aW9uYWxEZXNrdG9wQmVoYXZpb3VyKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2
YXRlOjpzZXROYXZpZ2F0b3JRdE9iamVjdEVuYWJsZWQpOgorICAgICAgICAoUVF1aWNrV2ViVmll
d0V4cGVyaW1lbnRhbDo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6bG9h
ZCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3Ojpnb0JhY2spOgorICAgICAgICAoUVF1aWNrV2Vi
Vmlldzo6Z29Gb3J3YXJkKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6OnN0b3ApOgorICAgICAg
ICAoUVF1aWNrV2ViVmlldzo6cmVsb2FkKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6OnVybCk6
CisgICAgICAgIChRUXVpY2tXZWJWaWV3OjpjYW5Hb0JhY2spOgorICAgICAgICAoUVF1aWNrV2Vi
Vmlldzo6Y2FuR29Gb3J3YXJkKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6OmxvYWRpbmcpOgor
ICAgICAgICAoUVF1aWNrV2ViVmlldzo6Y2FuUmVsb2FkKToKKyAgICAgICAgKFFRdWlja1dlYlZp
ZXc6OnRpdGxlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6OnBhZ2VSZWYpOgorICAgICAgICAo
UVF1aWNrV2ViVmlldzo6bG9hZEh0bWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1
aWNrd2Vidmlld19wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
X3BfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25oaXN0b3J5
X3BfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXdlYnByZWZlcmVuY2VzLmNwcDoK
KyAgICAgICAgKFFXZWJQcmVmZXJlbmNlc1ByaXZhdGU6OnByZWZlcmVuY2VzUmVmKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFBh
Z2VDbGllbnQuY3BwOgorICAgICAgICAoUXRQYWdlQ2xpZW50OjpRdFBhZ2VDbGllbnQpOgorICAg
ICAgICAoUXRQYWdlQ2xpZW50Ojppbml0aWFsaXplKToKKyAgICAgICAgKFF0UGFnZUNsaWVudDo6
Y3JlYXRlUG9wdXBNZW51UHJveHkpOgorICAgICAgICAoUXRQYWdlQ2xpZW50OjpjcmVhdGVDb250
ZXh0TWVudVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvcXQvV2ViQ29udGV4dE1lbnVQcm94eVF0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViQ29udGV4dE1lbnVQcm94eVF0OjpXZWJDb250ZXh0TWVudVByb3h5UXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJDb250ZXh0TWVudVByb3h5UXQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYkNvbnRleHRNZW51UHJveHlRdDo6c2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKFdlYktp
dDo6V2ViQ29udGV4dE1lbnVQcm94eVF0OjpoaWRlQ29udGV4dE1lbnUpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9xdC9XZWJDb250ZXh0TWVudVByb3h5UXQuaDoKKworMjAxMS0xMi0xNCAgQ2FpbyBN
YXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgor
CiAgICAgICAgIFtRdF0gW1dLMl0gTW92ZSBRV2ViUHJlZmVyZW5jZXMgb3V0IG9mIFF0V2ViUGFn
ZVByb3h5CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
NDUyNQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpIGIvU291cmNlL1dl
YktpdDIvVGFyZ2V0LnByaQppbmRleCAyZWEzZjZlYWZhOTAyZjU1OGQyYmZkMzVjZDIxNGRkMGI3
NjQ2MGM3Li44OWFkM2ZmZDM4NmVjMWUyOGQzZWVhNDUwMGYxZGVlNzZkMTRlYzIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Rhcmdl
dC5wcmkKQEAgLTI2Niw3ICsyNjYsNiBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvcXQv
UXRQYWdlQ2xpZW50LmggXAogICAgIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VMb2FkQ2xpZW50Lmgg
XAogICAgIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQb2xpY3lDbGllbnQuaCBcCi0gICAgVUlQcm9j
ZXNzL3F0L1F0V2ViUGFnZVByb3h5LmggXAogICAgIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VVSUNs
aWVudC5oIFwKICAgICBVSVByb2Nlc3MvcXQvUXRTR1VwZGF0ZVF1ZXVlLmggXAogICAgIFVJUHJv
Y2Vzcy9xdC9RdFNHVGlsZU5vZGUuaCBcCkBAIC01ODgsNyArNTg3LDYgQEAgU09VUkNFUyArPSBc
CiAgICAgVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAgXAogICAgIFVJUHJvY2Vzcy9xdC9R
dFdlYlBhZ2VMb2FkQ2xpZW50LmNwcCBcCiAgICAgVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGlj
eUNsaWVudC5jcHAgXAotICAgIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAgXAogICAg
IFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VVSUNsaWVudC5jcHAgXAogICAgIFVJUHJvY2Vzcy9xdC9R
dFNHVXBkYXRlUXVldWUuY3BwIFwKICAgICBVSVByb2Nlc3MvcXQvUXRTR1RpbGVOb2RlLmNwcCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlLmNw
cAppbmRleCBjN2U1ZDc3MDc1Mzc1MDgwZDVkOGFjNDBlNWU2Mjg0NDczODM4ZjljLi43ZDNiMmQ2
YTZkMjcyMTlkOGJiODk2MGYyMDFjOTA4NTJkOTVjOGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZS5jcHAKQEAgLTIzLDcgKzIzLDYgQEAK
IAogI2luY2x1ZGUgIkxheWVyVHJlZUhvc3RQcm94eS5oIgogI2luY2x1ZGUgIlF0V2ViUGFnZUV2
ZW50SGFuZGxlci5oIgotI2luY2x1ZGUgIlF0V2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSAiVHJh
bnNmb3JtYXRpb25NYXRyaXguaCIKICNpbmNsdWRlICJxcXVpY2t3ZWJwYWdlX3BfcC5oIgogI2lu
Y2x1ZGUgPFF0UXVpY2svUVF1aWNrQ2FudmFzPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJwYWdlX3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2VicGFnZV9wLmgKaW5kZXggODk5ZWE3NjNlZmJjMWUwN2FhYjc2
YTI0NmU4MDFlODllYWU2MTc4Ny4uZjdjMzUwNjRlZjgwMzczZGM0NGYyYjE3ODkxNWUzYjcwNmFi
ZjcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3
ZWJwYWdlX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dl
YnBhZ2VfcC5oCkBAIC0zMiw3ICszMiw2IEBAIGNsYXNzIFFXZWJQcmVmZXJlbmNlczsKIG5hbWVz
cGFjZSBXZWJLaXQgewogY2xhc3MgUXRTR1VwZGF0ZVF1ZXVlOwogfQotY2xhc3MgUXRXZWJQYWdl
UHJveHk7CiAKIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFRdWlja1dlYlBhZ2UgOiBwdWJsaWMgUVF1
aWNrSXRlbSB7CiAgICAgUV9PQkpFQ1QKQEAgLTcwLDcgKzY5LDYgQEAgcHJpdmF0ZToKICAgICBR
UXVpY2tXZWJQYWdlUHJpdmF0ZSogZDsKICAgICBmcmllbmQgY2xhc3MgUVF1aWNrV2ViVmlldzsK
ICAgICBmcmllbmQgY2xhc3MgUVF1aWNrV2ViVmlld1ByaXZhdGU7Ci0gICAgZnJpZW5kIGNsYXNz
IFF0V2ViUGFnZVByb3h5OwogfTsKIAogUU1MX0RFQ0xBUkVfVFlQRShRUXVpY2tXZWJQYWdlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAK
aW5kZXggMjlkYjNlZWRjNTFiMjcwN2E0NzQ2N2Y4ODcwZTUzYTY1MzY2OWRjMi4uNmY4ZWU2ZGY1
YTQ3OTU2OGIyOTliNGI3NTJkZTY5ZGJmMzZmZGQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCkBAIC0yNyw3ICsyNyw2IEBACiAj
aW5jbHVkZSAiUXREb3dubG9hZE1hbmFnZXIuaCIKICNpbmNsdWRlICJRdFdlYkNvbnRleHQuaCIK
ICNpbmNsdWRlICJRdFdlYlBhZ2VFdmVudEhhbmRsZXIuaCIKLSNpbmNsdWRlICJRdFdlYlBhZ2VQ
cm94eS5oIgogI2luY2x1ZGUgIlV0aWxzUXQuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExp
c3QuaCIKICNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKQEAgLTY3LDI5ICs2NiwyOSBAQCBRUXVp
Y2tXZWJWaWV3UHJpdmF0ZTo6flFRdWlja1dlYlZpZXdQcml2YXRlKCkKIHsKICAgICBpZiAoaW50
ZXJhY3Rpb25FbmdpbmUpCiAgICAgICAgIGludGVyYWN0aW9uRW5naW5lLT5kaXNjb25uZWN0KCk7
CisgICAgd2ViUGFnZVByb3h5LT5jbG9zZSgpOwogfQogCiAvLyBOb3RlOiB3ZSBkZWxheSB0aGlz
IGluaXRpYWxpemF0aW9uIHRvIG1ha2Ugc3VyZSB0aGF0IFFRdWlja1dlYlZpZXcgaGFzIGl0cyBk
LXB0ciBpbi1wbGFjZS4KIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmluaXRpYWxpemUoV0tD
b250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZikKIHsKICAg
ICBjb250ZXh0ID0gY29udGV4dFJlZiA/IFF0V2ViQ29udGV4dDo6Y3JlYXRlKHRvSW1wbChjb250
ZXh0UmVmKSkgOiBRdFdlYkNvbnRleHQ6OmRlZmF1bHRDb250ZXh0KCk7CisgICAgd2ViUGFnZVBy
b3h5ID0gY29udGV4dC0+Y3JlYXRlV2ViUGFnZSgmcGFnZUNsaWVudCwgdG9JbXBsKHBhZ2VHcm91
cFJlZikpOworCiAgICAgUVF1aWNrV2ViUGFnZVByaXZhdGUqIGNvbnN0IHBhZ2VWaWV3UHJpdmF0
ZSA9IHBhZ2VWaWV3LmRhdGEoKS0+ZDsKLSAgICBzZXRQYWdlUHJveHkobmV3IFF0V2ViUGFnZVBy
b3h5KHFfcHRyLCAmcGFnZUNsaWVudCwgY29udGV4dCwgcGFnZUdyb3VwUmVmKSk7Ci0gICAgcGFn
ZVZpZXdQcml2YXRlLT5pbml0aWFsaXplKHdlYlBhZ2VQcm94eSgpKTsKKyAgICBwYWdlVmlld1By
aXZhdGUtPmluaXRpYWxpemUod2ViUGFnZVByb3h5LmdldCgpKTsKIAotICAgIHBhZ2VMb2FkQ2xp
ZW50LnJlc2V0KG5ldyBRdFdlYlBhZ2VMb2FkQ2xpZW50KHBhZ2VQcm94eS0+cGFnZVJlZigpLCBx
X3B0cikpOwotICAgIHBhZ2VQb2xpY3lDbGllbnQucmVzZXQobmV3IFF0V2ViUGFnZVBvbGljeUNs
aWVudChwYWdlUHJveHktPnBhZ2VSZWYoKSwgcV9wdHIpKTsKLSAgICBwYWdlVUlDbGllbnQucmVz
ZXQobmV3IFF0V2ViUGFnZVVJQ2xpZW50KHBhZ2VQcm94eS0+cGFnZVJlZigpLCBxX3B0cikpOwot
ICAgIG5hdmlnYXRpb25IaXN0b3J5ID0gYWRvcHRQdHIoUVdlYk5hdmlnYXRpb25IaXN0b3J5UHJp
dmF0ZTo6Y3JlYXRlSGlzdG9yeShwYWdlUHJveHktPnBhZ2VSZWYoKSkpOworICAgIHBhZ2VMb2Fk
Q2xpZW50LnJlc2V0KG5ldyBRdFdlYlBhZ2VMb2FkQ2xpZW50KHRvQVBJKHdlYlBhZ2VQcm94eS5n
ZXQoKSksIHFfcHRyKSk7CisgICAgcGFnZVBvbGljeUNsaWVudC5yZXNldChuZXcgUXRXZWJQYWdl
UG9saWN5Q2xpZW50KHRvQVBJKHdlYlBhZ2VQcm94eS5nZXQoKSksIHFfcHRyKSk7CisgICAgcGFn
ZVVJQ2xpZW50LnJlc2V0KG5ldyBRdFdlYlBhZ2VVSUNsaWVudCh0b0FQSSh3ZWJQYWdlUHJveHku
Z2V0KCkpLCBxX3B0cikpOworICAgIG5hdmlnYXRpb25IaXN0b3J5ID0gYWRvcHRQdHIoUVdlYk5h
dmlnYXRpb25IaXN0b3J5UHJpdmF0ZTo6Y3JlYXRlSGlzdG9yeSh0b0FQSSh3ZWJQYWdlUHJveHku
Z2V0KCkpKSk7CiAKLSAgICAvLyBBbnkgcGFnZSBzZXR0aW5nIHNob3VsZCBwcmVmZXJyYWJsZSBi
ZSBzZXQgYmVmb3JlIGNyZWF0aW5nIHRoZSBwYWdlLCBzbyBzZXQgdGhlbSBoZXJlOgorICAgIC8v
IEFueSBwYWdlIHNldHRpbmcgc2hvdWxkIHByZWZlcnJhYmxlIGJlIHNldCBiZWZvcmUgY3JlYXRp
bmcgdGhlIHBhZ2UuCiAgICAgc2V0VXNlVHJhZGl0aW9uYWxEZXNrdG9wQmVoYXZpb3VyKGZhbHNl
KTsKLSAgICB3ZWJQYWdlUHJveHkoKS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldEFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpOwotCi0gICAgcGFnZUNsaWVudC5pbml0
aWFsaXplKHFfcHRyLCBwYWdlUHJveHkuZGF0YSgpLCBwYWdlVmlld1ByaXZhdGUtPmV2ZW50SGFu
ZGxlci5kYXRhKCksICZ1bmRvQ29udHJvbGxlcik7CisgICAgd2ViUGFnZVByb3h5LT5wYWdlR3Jv
dXAoKS0+cHJlZmVyZW5jZXMoKS0+c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQodHJ1
ZSk7CiAKLSAgICAvLyBDcmVhdGVzIGEgcGFnZSB3aXRoIHRoZSBwYWdlIGNyZWF0aW9uIHBhcmFt
ZXRlcnMuCi0gICAgcGFnZVByb3h5LT5pbml0KCk7CisgICAgcGFnZUNsaWVudC5pbml0aWFsaXpl
KHFfcHRyLCBwYWdlVmlld1ByaXZhdGUtPmV2ZW50SGFuZGxlci5kYXRhKCksICZ1bmRvQ29udHJv
bGxlcik7CisgICAgd2ViUGFnZVByb3h5LT5pbml0aWFsaXplV2ViUGFnZSgpOwogCiAgICAgLy8g
VHJpZ2dlciBzZXR0aW5nIG9mIGNvcnJlY3QgdmlzaWJpbGl0eSBmbGFncyBhZnRlciBldmVyeXRo
aW5nIHdhcyBhbGxvY2F0ZWQgYW5kIGluaXRpYWxpemVkLgogICAgIF9xX29uVmlzaWJsZUNoYW5n
ZWQoKTsKQEAgLTIyNSw3ICsyMjQsNyBAQCB2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpwcm9j
ZXNzRGlkQ3Jhc2goKQogewogICAgIGVtaXQgcV9wdHItPm5hdmlnYXRpb25TdGF0ZUNoYW5nZWQo
KTsKICAgICBwYWdlVmlldy0+ZC0+ZXZlbnRIYW5kbGVyLT5yZXNldEdlc3R1cmVSZWNvZ25pemVy
cygpOwotICAgIFdlYkNvcmU6OktVUkwgdXJsKFdlYkNvcmU6OlBhcnNlZFVSTFN0cmluZywgd2Vi
UGFnZVByb3h5KCktPnVybEF0UHJvY2Vzc0V4aXQoKSk7CisgICAgV2ViQ29yZTo6S1VSTCB1cmwo
V2ViQ29yZTo6UGFyc2VkVVJMU3RyaW5nLCB3ZWJQYWdlUHJveHktPnVybEF0UHJvY2Vzc0V4aXQo
KSk7CiAgICAgcVdhcm5pbmcoIldBUk5JTkc6IFRoZSB3ZWIgcHJvY2VzcyBleHBlcmllbmNlZCBh
IGNyYXNoIG9uICclcycuIiwgcVByaW50YWJsZShRVXJsKHVybCkudG9TdHJpbmcoUVVybDo6UmVt
b3ZlVXNlckluZm8pKSk7CiB9CiAKQEAgLTIzOCw3ICsyMzcsNyBAQCB2b2lkIFFRdWlja1dlYlZp
ZXdQcml2YXRlOjpkaWRSZWxhdW5jaFByb2Nlc3MoKQogCiBQYXNzT3duUHRyPERyYXdpbmdBcmVh
UHJveHk+IFFRdWlja1dlYlZpZXdQcml2YXRlOjpjcmVhdGVEcmF3aW5nQXJlYVByb3h5KCkKIHsK
LSAgICByZXR1cm4gRHJhd2luZ0FyZWFQcm94eUltcGw6OmNyZWF0ZSh3ZWJQYWdlUHJveHkoKSk7
CisgICAgcmV0dXJuIERyYXdpbmdBcmVhUHJveHlJbXBsOjpjcmVhdGUod2ViUGFnZVByb3h5Lmdl
dCgpKTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlRG93bmxvYWRSZXF1
ZXN0KERvd25sb2FkUHJveHkqIGRvd25sb2FkKQpAQCAtMjU3LDcgKzI1Niw3IEBAIHZvaWQgUVF1
aWNrV2ViVmlld1ByaXZhdGU6OmhhbmRsZURvd25sb2FkUmVxdWVzdChEb3dubG9hZFByb3h5KiBk
b3dubG9hZCkKIAogdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6dXBkYXRlVmlzaWJsZUNvbnRl
bnRSZWN0QW5kU2NhbGUoKQogewotICAgIERyYXdpbmdBcmVhUHJveHkqIGRyYXdpbmdBcmVhID0g
d2ViUGFnZVByb3h5KCktPmRyYXdpbmdBcmVhKCk7CisgICAgRHJhd2luZ0FyZWFQcm94eSogZHJh
d2luZ0FyZWEgPSB3ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCk7CiAgICAgaWYgKCFkcmF3aW5n
QXJlYSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0yNjksMTIgKzI2OCwxMiBAQCB2b2lkIFFRdWlj
a1dlYlZpZXdQcml2YXRlOjp1cGRhdGVWaXNpYmxlQ29udGVudFJlY3RBbmRTY2FsZSgpCiAgICAg
ZHJhd2luZ0FyZWEtPnNldFZpc2libGVDb250ZW50c1JlY3RBbmRTY2FsZShhbGlnbmVkVmlzaWJs
ZUNvbnRlbnRSZWN0LCBzY2FsZSk7CiAKICAgICAvLyBGSVhNRTogT25jZSB3ZSBzdXBwb3J0IHN1
c3BlbmQgYW5kIHJlc3VtZSwgdGhpcyBzaG91bGQgYmUgZGVsYXllZCB1bnRpbCB0aGUgcGFnZSBp
cyBhY3RpdmUgaWYgdGhlIHBhZ2UgaXMgc3VzcGVuZGVkLgotICAgIHdlYlBhZ2VQcm94eSgpLT5z
ZXRGaXhlZFZpc2libGVDb250ZW50UmVjdChhbGlnbmVkVmlzaWJsZUNvbnRlbnRSZWN0KTsKKyAg
ICB3ZWJQYWdlUHJveHktPnNldEZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0KGFsaWduZWRWaXNpYmxl
Q29udGVudFJlY3QpOwogfQogCiB2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpfcV92aWV3cG9y
dFRyYWplY3RvcnlWZWN0b3JDaGFuZ2VkKGNvbnN0IFFQb2ludEYmIHRyYWplY3RvcnlWZWN0b3Ip
CiB7Ci0gICAgRHJhd2luZ0FyZWFQcm94eSogZHJhd2luZ0FyZWEgPSB3ZWJQYWdlUHJveHkoKS0+
ZHJhd2luZ0FyZWEoKTsKKyAgICBEcmF3aW5nQXJlYVByb3h5KiBkcmF3aW5nQXJlYSA9IHdlYlBh
Z2VQcm94eS0+ZHJhd2luZ0FyZWEoKTsKICAgICBpZiAoIWRyYXdpbmdBcmVhKQogICAgICAgICBy
ZXR1cm47CiAgICAgZHJhd2luZ0FyZWEtPnNldFZpc2libGVDb250ZW50UmVjdFRyYWplY3RvcnlW
ZWN0b3IodHJhamVjdG9yeVZlY3Rvcik7CkBAIC0yODIsNyArMjgxLDcgQEAgdm9pZCBRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6X3Ffdmlld3BvcnRUcmFqZWN0b3J5VmVjdG9yQ2hhbmdlZChjb25zdCBR
UG9pbnRGJiB0cmEKIAogdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6X3Ffb25WaXNpYmxlQ2hh
bmdlZCgpCiB7Ci0gICAgd2ViUGFnZVByb3h5KCktPnZpZXdTdGF0ZURpZENoYW5nZShXZWJQYWdl
UHJveHk6OlZpZXdJc1Zpc2libGUpOworICAgIHdlYlBhZ2VQcm94eS0+dmlld1N0YXRlRGlkQ2hh
bmdlKFdlYlBhZ2VQcm94eTo6Vmlld0lzVmlzaWJsZSk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmll
d1ByaXZhdGU6Ol9xX29uUmVjZWl2ZWRSZXNwb25zZUZyb21Eb3dubG9hZChRV2ViRG93bmxvYWRJ
dGVtKiBkb3dubG9hZEl0ZW0pCkBAIC0zMDYsNyArMzA1LDcgQEAgdm9pZCBRUXVpY2tXZWJWaWV3
UHJpdmF0ZTo6dXBkYXRlVmlld3BvcnRTaXplKCkKIAogICAgIC8vIExldCB0aGUgV2ViUHJvY2Vz
cyBrbm93IGFib3V0IHRoZSBuZXcgdmlld3BvcnQgc2l6ZSwgc28gdGhhdAogICAgIC8vIGl0IGNh
biByZXNpemUgdGhlIGNvbnRlbnQgYWNjb3JkaW5nbHkuCi0gICAgd2ViUGFnZVByb3h5KCktPnNl
dFZpZXdwb3J0U2l6ZSh2aWV3cG9ydFNpemUpOworICAgIHdlYlBhZ2VQcm94eS0+c2V0Vmlld3Bv
cnRTaXplKHZpZXdwb3J0U2l6ZSk7CiAKICAgICBpbnRlcmFjdGlvbkVuZ2luZS0+YXBwbHlDb25z
dHJhaW50cyhjb21wdXRlVmlld3BvcnRDb25zdHJhaW50cygpKTsKICAgICB1cGRhdGVWaXNpYmxl
Q29udGVudFJlY3RBbmRTY2FsZSgpOwpAQCAtMzIzLDcgKzMyMiw3IEBAIFF0Vmlld3BvcnRJbnRl
cmFjdGlvbkVuZ2luZTo6Q29uc3RyYWludHMgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmNvbXB1dGVW
aWV3cG9ydENvCiAgICAgaWYgKGF2YWlsYWJsZVNpemUuaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm4gbmV3Q29uc3RyYWludHM7CiAKLSAgICBXZWJQcmVmZXJlbmNlcyogd2tQcmVmcyA9IHdlYlBh
Z2VQcm94eSgpLT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKTsKKyAgICBXZWJQcmVmZXJlbmNl
cyogd2tQcmVmcyA9IHdlYlBhZ2VQcm94eS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCk7CiAK
ICAgICAvLyBGSVhNRTogUmVtb3ZlIGxhdGVyOyBIYXJkY29kZSBzb21lIHZhbHVlcyBmb3Igbm93
IHRvIG1ha2Ugc3VyZSB0aGUgRFBJIGFkanVzdG1lbnQgaXMgYmVpbmcgdGVzdGVkLgogICAgIHdr
UHJlZnMtPnNldERldmljZURQSSgyNDApOwpAQCAtNDU2LDcgKzQ1NSw3IEBAIHZvaWQgUVF1aWNr
V2ViVmlld1ByaXZhdGU6OnNldFVzZVRyYWRpdGlvbmFsRGVza3RvcEJlaGF2aW91cihib29sIGVu
YWJsZSkKIAogICAgIC8vIERvIG5vdCBndWFyZCwgdGVzdGluZyBmb3IgdGhlIHNhbWUgdmFsdWUs
IGFzIHdlIGNhbGwgdGhpcyBmcm9tIHRoZSBjb25zdHJ1Y3Rvci4KIAotICAgIHdlYlBhZ2VQcm94
eSgpLT5zZXRVc2VGaXhlZExheW91dCghZW5hYmxlKTsKKyAgICB3ZWJQYWdlUHJveHktPnNldFVz
ZUZpeGVkTGF5b3V0KCFlbmFibGUpOwogCiAgICAgdXNlVHJhZGl0aW9uYWxEZXNrdG9wQmVoYXZp
b3VyID0gZW5hYmxlOwogICAgIGlmICh1c2VUcmFkaXRpb25hbERlc2t0b3BCZWhhdmlvdXIpCkBA
IC00ODIsMTMgKzQ4MSw3IEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OnNldE5hdmlnYXRv
clF0T2JqZWN0RW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgQVNTRVJUKGVuYWJsZWQgIT0gbV9u
YXZpZ2F0b3JRdE9iamVjdEVuYWJsZWQpOwogICAgIC8vIEZJWE1FOiBDdXJyZW50bHkgd2UgaGF2
ZSB0byBrZWVwIHRoaXMgaW5mb3JtYXRpb24gaW4gYm90aCBwcm9jZXNzZXMgYW5kIHRoZSBzZXR0
aW5nIGlzIGFzeW5jaHJvbm91cy4KICAgICBtX25hdmlnYXRvclF0T2JqZWN0RW5hYmxlZCA9IGVu
YWJsZWQ7Ci0gICAgY29udGV4dC0+c2V0TmF2aWdhdG9yUXRPYmplY3RFbmFibGVkKHdlYlBhZ2VQ
cm94eSgpLCBlbmFibGVkKTsKLX0KLQotLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2UgUXRXZWJQ
YWdlUHJveHkgaXMgcmVtb3ZlZC4KLVdlYktpdDo6V2ViUGFnZVByb3h5KiBRUXVpY2tXZWJWaWV3
UHJpdmF0ZTo6d2ViUGFnZVByb3h5KCkgY29uc3QKLXsKLSAgICByZXR1cm4gdG9JbXBsKHBhZ2VQ
cm94eS0+cGFnZVJlZigpKTsKKyAgICBjb250ZXh0LT5zZXROYXZpZ2F0b3JRdE9iamVjdEVuYWJs
ZWQod2ViUGFnZVByb3h5LmdldCgpLCBlbmFibGVkKTsKIH0KIAogV2ViQ29yZTo6SW50U2l6ZSBR
UXVpY2tXZWJWaWV3UHJpdmF0ZTo6dmlld1NpemUoKSBjb25zdApAQCAtNTE2LDExICs1MDksNiBA
QCB2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpkaWRSZWNlaXZlTWVzc2FnZUZyb21OYXZpZ2F0
b3JRdE9iamVjdChjb25zdCBTdHJpbmcmCiAgICAgVGhlIHJlcXVlc3Qgb2JqZWN0IGNhbm5vdCBi
ZSB1c2VkIGFmdGVyIHRoZSBzaWduYWwgaGFuZGxlciBmdW5jdGlvbiBlbmRzLgogKi8KIAotdm9p
ZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6c2V0UGFnZVByb3h5KFF0V2ViUGFnZVByb3h5KiBwYWdl
UHJveHkpCi17Ci0gICAgdGhpcy0+cGFnZVByb3h5LnJlc2V0KHBhZ2VQcm94eSk7Ci19Ci0KIFFR
dWlja1dlYlZpZXdBdHRhY2hlZDo6UVF1aWNrV2ViVmlld0F0dGFjaGVkKFFPYmplY3QqIG9iamVj
dCkKICAgICA6IFFPYmplY3Qob2JqZWN0KQogICAgICwgbV92aWV3KDApCkBAIC01NjAsNyArNTQ4
LDcgQEAgdm9pZCBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjpzZXRVc2VUcmFkaXRpb25hbERl
c2t0b3BCZWhhdmlvdXIoYm9vbCBlbmFibGUpCiB2b2lkIFFRdWlja1dlYlZpZXdFeHBlcmltZW50
YWw6OnBvc3RNZXNzYWdlKGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgUV9EKFFRdWlj
a1dlYlZpZXcpOwotICAgIGQtPmNvbnRleHQtPnBvc3RNZXNzYWdlVG9OYXZpZ2F0b3JRdE9iamVj
dChkLT53ZWJQYWdlUHJveHkoKSwgbWVzc2FnZSk7CisgICAgZC0+Y29udGV4dC0+cG9zdE1lc3Nh
Z2VUb05hdmlnYXRvclF0T2JqZWN0KGQtPndlYlBhZ2VQcm94eS5nZXQoKSwgbWVzc2FnZSk7CiB9
CiAKIFFEZWNsYXJhdGl2ZUNvbXBvbmVudCogUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6YWxl
cnREaWFsb2coKSBjb25zdApAQCAtNjc2LDM4ICs2NjQsMzggQEAgUVF1aWNrV2ViUGFnZSogUVF1
aWNrV2ViVmlldzo6cGFnZSgpCiB2b2lkIFFRdWlja1dlYlZpZXc6OmxvYWQoY29uc3QgUVVybCYg
dXJsKQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBkLT53ZWJQYWdlUHJveHkoKS0+
bG9hZFVSTCh1cmwudG9TdHJpbmcoKSk7CisgICAgZC0+d2ViUGFnZVByb3h5LT5sb2FkVVJMKHVy
bC50b1N0cmluZygpKTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3Ojpnb0JhY2soKQogewogICAg
IFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBkLT53ZWJQYWdlUHJveHkoKS0+Z29CYWNrKCk7Cisg
ICAgZC0+d2ViUGFnZVByb3h5LT5nb0JhY2soKTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3Ojpn
b0ZvcndhcmQoKQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBkLT53ZWJQYWdlUHJv
eHkoKS0+Z29Gb3J3YXJkKCk7CisgICAgZC0+d2ViUGFnZVByb3h5LT5nb0ZvcndhcmQoKTsKIH0K
IAogdm9pZCBRUXVpY2tXZWJWaWV3OjpzdG9wKCkKIHsKICAgICBRX0QoUVF1aWNrV2ViVmlldyk7
Ci0gICAgZC0+d2ViUGFnZVByb3h5KCktPnN0b3BMb2FkaW5nKCk7CisgICAgZC0+d2ViUGFnZVBy
b3h5LT5zdG9wTG9hZGluZygpOwogfQogCiB2b2lkIFFRdWlja1dlYlZpZXc6OnJlbG9hZCgpCiB7
CiAgICAgUV9EKFFRdWlja1dlYlZpZXcpOwogICAgIGNvbnN0IGJvb2wgcmVsb2FkRnJvbU9yaWdp
biA9IHRydWU7Ci0gICAgZC0+d2ViUGFnZVByb3h5KCktPnJlbG9hZChyZWxvYWRGcm9tT3JpZ2lu
KTsKKyAgICBkLT53ZWJQYWdlUHJveHktPnJlbG9hZChyZWxvYWRGcm9tT3JpZ2luKTsKIH0KIAog
UVVybCBRUXVpY2tXZWJWaWV3Ojp1cmwoKSBjb25zdAogewogICAgIFFfRChjb25zdCBRUXVpY2tX
ZWJWaWV3KTsKLSAgICBSZWZQdHI8V2ViRnJhbWVQcm94eT4gbWFpbkZyYW1lID0gZC0+d2ViUGFn
ZVByb3h5KCktPm1haW5GcmFtZSgpOworICAgIFJlZlB0cjxXZWJGcmFtZVByb3h5PiBtYWluRnJh
bWUgPSBkLT53ZWJQYWdlUHJveHktPm1haW5GcmFtZSgpOwogICAgIGlmICghbWFpbkZyYW1lKQog
ICAgICAgICByZXR1cm4gUVVybCgpOwogICAgIHJldHVybiBRVXJsKFFTdHJpbmcobWFpbkZyYW1l
LT51cmwoKSkpOwpAQCAtNzIyLDM1ICs3MTAsMzUgQEAgaW50IFFRdWlja1dlYlZpZXc6OmxvYWRQ
cm9ncmVzcygpIGNvbnN0CiBib29sIFFRdWlja1dlYlZpZXc6OmNhbkdvQmFjaygpIGNvbnN0CiB7
CiAgICAgUV9EKGNvbnN0IFFRdWlja1dlYlZpZXcpOwotICAgIHJldHVybiBkLT53ZWJQYWdlUHJv
eHkoKS0+Y2FuR29CYWNrKCk7CisgICAgcmV0dXJuIGQtPndlYlBhZ2VQcm94eS0+Y2FuR29CYWNr
KCk7CiB9CiAKIGJvb2wgUVF1aWNrV2ViVmlldzo6Y2FuR29Gb3J3YXJkKCkgY29uc3QKIHsKICAg
ICBRX0QoY29uc3QgUVF1aWNrV2ViVmlldyk7Ci0gICAgcmV0dXJuIGQtPndlYlBhZ2VQcm94eSgp
LT5jYW5Hb0ZvcndhcmQoKTsKKyAgICByZXR1cm4gZC0+d2ViUGFnZVByb3h5LT5jYW5Hb0Zvcndh
cmQoKTsKIH0KIAogYm9vbCBRUXVpY2tXZWJWaWV3Ojpsb2FkaW5nKCkgY29uc3QKIHsKICAgICBR
X0QoY29uc3QgUVF1aWNrV2ViVmlldyk7Ci0gICAgUmVmUHRyPFdlYktpdDo6V2ViRnJhbWVQcm94
eT4gbWFpbkZyYW1lID0gZC0+d2ViUGFnZVByb3h5KCktPm1haW5GcmFtZSgpOworICAgIFJlZlB0
cjxXZWJLaXQ6OldlYkZyYW1lUHJveHk+IG1haW5GcmFtZSA9IGQtPndlYlBhZ2VQcm94eS0+bWFp
bkZyYW1lKCk7CiAgICAgcmV0dXJuIG1haW5GcmFtZSAmJiAhKFdlYkZyYW1lUHJveHk6OkxvYWRT
dGF0ZUZpbmlzaGVkID09IG1haW5GcmFtZS0+bG9hZFN0YXRlKCkpOwogfQogCiBib29sIFFRdWlj
a1dlYlZpZXc6OmNhblJlbG9hZCgpIGNvbnN0CiB7CiAgICAgUV9EKGNvbnN0IFFRdWlja1dlYlZp
ZXcpOwotICAgIFJlZlB0cjxXZWJLaXQ6OldlYkZyYW1lUHJveHk+IG1haW5GcmFtZSA9IGQtPndl
YlBhZ2VQcm94eSgpLT5tYWluRnJhbWUoKTsKKyAgICBSZWZQdHI8V2ViS2l0OjpXZWJGcmFtZVBy
b3h5PiBtYWluRnJhbWUgPSBkLT53ZWJQYWdlUHJveHktPm1haW5GcmFtZSgpOwogICAgIGlmICht
YWluRnJhbWUpCiAgICAgICAgIHJldHVybiAoV2ViRnJhbWVQcm94eTo6TG9hZFN0YXRlRmluaXNo
ZWQgPT0gbWFpbkZyYW1lLT5sb2FkU3RhdGUoKSk7Ci0gICAgcmV0dXJuIGQtPndlYlBhZ2VQcm94
eSgpLT5iYWNrRm9yd2FyZExpc3QoKS0+Y3VycmVudEl0ZW0oKTsKKyAgICByZXR1cm4gZC0+d2Vi
UGFnZVByb3h5LT5iYWNrRm9yd2FyZExpc3QoKS0+Y3VycmVudEl0ZW0oKTsKIH0KIAogUVN0cmlu
ZyBRUXVpY2tXZWJWaWV3Ojp0aXRsZSgpIGNvbnN0CiB7CiAgICAgUV9EKGNvbnN0IFFRdWlja1dl
YlZpZXcpOwotICAgIHJldHVybiBkLT53ZWJQYWdlUHJveHkoKS0+cGFnZVRpdGxlKCk7CisgICAg
cmV0dXJuIGQtPndlYlBhZ2VQcm94eS0+cGFnZVRpdGxlKCk7CiB9CiAKIFFXZWJQcmVmZXJlbmNl
cyogUVF1aWNrV2ViVmlldzo6cHJlZmVyZW5jZXMoKSBjb25zdApAQCAtODA1LDcgKzc5Myw3IEBA
IHZvaWQgUVF1aWNrV2ViVmlldzo6Zm9jdXNPdXRFdmVudChRRm9jdXNFdmVudCogZXZlbnQpCiBX
S1BhZ2VSZWYgUVF1aWNrV2ViVmlldzo6cGFnZVJlZigpIGNvbnN0CiB7CiAgICAgUV9EKGNvbnN0
IFFRdWlja1dlYlZpZXcpOwotICAgIHJldHVybiBkLT5wYWdlUHJveHktPnBhZ2VSZWYoKTsKKyAg
ICByZXR1cm4gdG9BUEkoZC0+d2ViUGFnZVByb3h5LmdldCgpKTsKIH0KIAogLyohCkBAIC04MTks
NyArODA3LDcgQEAgV0tQYWdlUmVmIFFRdWlja1dlYlZpZXc6OnBhZ2VSZWYoKSBjb25zdAogdm9p
ZCBRUXVpY2tXZWJWaWV3Ojpsb2FkSHRtbChjb25zdCBRU3RyaW5nJiBodG1sLCBjb25zdCBRVXJs
JiBiYXNlVXJsKQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKLSAgICBkLT53ZWJQYWdlUHJv
eHkoKS0+bG9hZEhUTUxTdHJpbmcoaHRtbCwgYmFzZVVybC50b1N0cmluZygpKTsKKyAgICBkLT53
ZWJQYWdlUHJveHktPmxvYWRIVE1MU3RyaW5nKGh0bWwsIGJhc2VVcmwudG9TdHJpbmcoKSk7CiB9
CiAKICNpbmNsdWRlICJtb2NfcXF1aWNrd2Vidmlld19wLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCmluZGV4IGI2ZDc2MjliOTcw
ZmY3ZDY3YjIwZWNkOGUxMjEwN2UzMmYxMTljNWMuLmMwNzNkMTRkYmUxNjVhM2JkZDFmYWI0ZTRh
MzMxM2I1NzJjZTAyOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXF1aWNrd2Vidmlld19wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJ2aWV3X3AuaApAQCAtMTQwLDcgKzE0MCw2IEBAIHByaXZhdGU6CiAKICAgICBm
cmllbmQgY2xhc3MgUXRXZWJQYWdlTG9hZENsaWVudDsKICAgICBmcmllbmQgY2xhc3MgUXRXZWJQ
YWdlUG9saWN5Q2xpZW50OwotICAgIGZyaWVuZCBjbGFzcyBRdFdlYlBhZ2VQcm94eTsKICAgICBm
cmllbmQgY2xhc3MgUXRXZWJQYWdlVUlDbGllbnQ7CiAgICAgZnJpZW5kIGNsYXNzIFdUUjo6UGxh
dGZvcm1XZWJWaWV3OwogICAgIGZyaWVuZCBjbGFzcyBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFs
OwpAQCAtMjEwLDcgKzIwOSw2IEBAIHByaXZhdGU6CiAgICAgUVF1aWNrV2ViVmlldyogcV9wdHI7
CiAgICAgUVF1aWNrV2ViVmlld1ByaXZhdGUqIGRfcHRyOwogCi0gICAgZnJpZW5kIGNsYXNzIFF0
V2ViUGFnZVByb3h5OwogICAgIGZyaWVuZCBjbGFzcyBRdFdlYlBhZ2VVSUNsaWVudDsKIAogICAg
IFFfREVDTEFSRV9QUklWQVRFKFFRdWlja1dlYlZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKaW5kZXggY2EwYzljZDZkOWY4
NmIyMTBlM2MwNzRhZGJmMmI4MmMwNjJiMzU1YS4uYzhiNzZlNjg2NzIwYTg3YjQ0MjYzMjRkNWIx
NWQ0OWM3MzM4Y2I0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXF1aWNrd2Vidmlld19wX3AuaApAQCAtMjYsOSArMjYsOSBAQAogI2luY2x1ZGUgIlF0Vmll
d3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5oIgogI2luY2x1ZGUgIlF0V2ViUGFnZUxvYWRDbGllbnQu
aCIKICNpbmNsdWRlICJRdFdlYlBhZ2VQb2xpY3lDbGllbnQuaCIKLSNpbmNsdWRlICJRdFdlYlBh
Z2VQcm94eS5oIgogI2luY2x1ZGUgIlF0V2ViUGFnZVVJQ2xpZW50LmgiCiAjaW5jbHVkZSAiUXRX
ZWJVbmRvQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogCiAjaW5jbHVk
ZSAicXF1aWNrd2Vidmlld19wLmgiCiAjaW5jbHVkZSAicXF1aWNrd2VicGFnZV9wLmgiCkBAIC00
Myw3ICs0Myw2IEBAIGNsYXNzIERvd25sb2FkUHJveHk7CiBjbGFzcyBRdFdlYkNvbnRleHQ7CiBj
bGFzcyBXZWJQYWdlUHJveHk7CiB9Ci1jbGFzcyBRdFdlYlBhZ2VQcm94eTsKIGNsYXNzIFFXZWJO
YXZpZ2F0aW9uSGlzdG9yeTsKIAogUVRfQkVHSU5fTkFNRVNQQUNFCkBAIC01NSw2ICs1NCw3IEBA
IGNsYXNzIFFRdWlja1dlYlZpZXdQcml2YXRlIHsKICAgICBRX0RFQ0xBUkVfUFVCTElDKFFRdWlj
a1dlYlZpZXcpCiAgICAgZnJpZW5kIGNsYXNzIFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw7CiAg
ICAgZnJpZW5kIGNsYXNzIFFRdWlja1dlYlBhZ2U7CisgICAgZnJpZW5kIGNsYXNzIFFXZWJQcmVm
ZXJlbmNlc1ByaXZhdGU7CiAKIHB1YmxpYzoKICAgICBzdGF0aWMgUVF1aWNrV2ViVmlld1ByaXZh
dGUqIGdldChRUXVpY2tXZWJWaWV3KiBxKSB7IHJldHVybiBxLT5kX3B0ci5kYXRhKCk7IH0KQEAg
LTYzLDcgKzYzLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgflFRdWlja1dlYlZpZXdQcml2YXRl
KCk7CiAKICAgICB2b2lkIGluaXRpYWxpemUoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYgPSAwLCBX
S1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYgPSAwKTsKLSAgICB2b2lkIHNldFBhZ2VQcm94eShR
dFdlYlBhZ2VQcm94eSopOwogCiAgICAgdm9pZCBpbml0aWFsaXplVG91Y2goUVF1aWNrV2ViVmll
dyogdmlld3BvcnQpOwogICAgIHZvaWQgaW5pdGlhbGl6ZURlc2t0b3AoUVF1aWNrV2ViVmlldyog
dmlld3BvcnQpOwpAQCAtMTAwLDggKzk5LDYgQEAgcHVibGljOgogICAgIGJvb2wgbmF2aWdhdG9y
UXRPYmplY3RFbmFibGVkKCkgY29uc3Q7CiAgICAgdm9pZCBzZXROYXZpZ2F0b3JRdE9iamVjdEVu
YWJsZWQoYm9vbCk7CiAKLSAgICBXZWJLaXQ6OldlYlBhZ2VQcm94eSogd2ViUGFnZVByb3h5KCkg
Y29uc3Q7Ci0KICAgICAvLyBQYWdlQ2xpZW50LgogICAgIFdlYkNvcmU6OkludFNpemUgdmlld1Np
emUoKSBjb25zdDsKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlRnJvbU5hdmlnYXRvclF0T2Jq
ZWN0KGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7CkBAIC0xNDMsNiArMTQwLDcgQEAgcHJpdmF0ZToK
ICAgICB9OwogCiAgICAgUmVmUHRyPFF0V2ViQ29udGV4dD4gY29udGV4dDsKKyAgICBSZWZQdHI8
V2ViS2l0OjpXZWJQYWdlUHJveHk+IHdlYlBhZ2VQcm94eTsKIAogICAgIFF0UGFnZUNsaWVudCBw
YWdlQ2xpZW50OwogICAgIFF0V2ViVW5kb0NvbnRyb2xsZXIgdW5kb0NvbnRyb2xsZXI7CkBAIC0x
NTcsNyArMTU1LDYgQEAgcHJpdmF0ZToKICAgICBRU2NvcGVkUG9pbnRlcjxRdFZpZXdwb3J0SW50
ZXJhY3Rpb25FbmdpbmU+IGludGVyYWN0aW9uRW5naW5lOwogCiAgICAgUVF1aWNrV2ViVmlldyog
cV9wdHI7Ci0gICAgUVNjb3BlZFBvaW50ZXI8UXRXZWJQYWdlUHJveHk+IHBhZ2VQcm94eTsKIAog
ICAgIFFEZWNsYXJhdGl2ZUNvbXBvbmVudCogYWxlcnREaWFsb2c7CiAgICAgUURlY2xhcmF0aXZl
Q29tcG9uZW50KiBjb25maXJtRGlhbG9nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbmhpc3RvcnlfcF9wLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9uaGlzdG9yeV9wX3AuaAppbmRleCAyOWI3
MTU5NDgxMTBhMDg1NjIyMmNhMzVkYmU3ZmQ5NjJmZmRjMWVjLi5jOGNjNWFiMzJmZTI0OThlNjVl
NjMzNjNlYjJiNjA2MDZjODA0ZmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9uaGlzdG9yeV9wX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9uaGlzdG9yeV9wX3AuaApAQCAtNDAsNyAr
NDAsNiBAQCBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3Q7CiAKIGNsYXNzIFFXZWJOYXZpZ2F0aW9u
SGlzdG9yeTsKIGNsYXNzIFFXZWJOYXZpZ2F0aW9uTGlzdE1vZGVsOwotY2xhc3MgUXRXZWJQYWdl
UHJveHk7CiAKIGNsYXNzIFFXZWJOYXZpZ2F0aW9uTGlzdE1vZGVsUHJpdmF0ZSB7CiBwdWJsaWM6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJwcmVmZXJl
bmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJwcmVmZXJlbmNl
cy5jcHAKaW5kZXggZDg1YjNlMzQ0ZGU3MWU2NGM2YWU0ZDI4YWJlMjhkNGQwNzc3YjhlZC4uNzFj
MTFhZmU1NzY0ZjlkMGU2MWU1NjVmMmVkM2UzYzhmOThkZWUyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VicHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnByZWZlcmVuY2VzLmNwcApAQCAtMzk0LDcg
KzM5NCw3IEBAIHZvaWQgUVdlYlByZWZlcmVuY2VzOjpzZXREZWZhdWx0Rml4ZWRGb250U2l6ZSh1
bnNpZ25lZCBzaXplKQogCiBXS1ByZWZlcmVuY2VzUmVmIFFXZWJQcmVmZXJlbmNlc1ByaXZhdGU6
OnByZWZlcmVuY2VzUmVmKCkgY29uc3QKIHsKLSAgICBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBS
ZWYgPSB0b0FQSSh3ZWJWaWV3UHJpdmF0ZS0+d2ViUGFnZVByb3h5KCktPnBhZ2VHcm91cCgpKTsK
KyAgICBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYgPSB0b0FQSSh3ZWJWaWV3UHJpdmF0ZS0+
d2ViUGFnZVByb3h5LT5wYWdlR3JvdXAoKSk7CiAgICAgcmV0dXJuIFdLUGFnZUdyb3VwR2V0UHJl
ZmVyZW5jZXMocGFnZUdyb3VwUmVmKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmgKaW5kZXggZjlhYTAyM2ZmZWJmOTJmYzliMTU5MjU2ZTU1MmM0NDZhYmMyNjliMC4uMWRi
NGVhYTliMjJiMTY0MWU0M2ZmMWY0NWExMzlkYmY2ZWY1MjdjOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGFnZUNsaWVudC5oCkBAIC00NCwxMCArNDQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgc3RydWN0IFZpZXdwb3J0QXJndW1lbnRzOwogfQogCi0jaWYgUExBVEZPUk0oUVQpCi1j
bGFzcyBRdFdlYlBhZ2VQcm94eTsKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xh
c3MgRHJhd2luZ0FyZWFQcm94eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9RdFBhZ2VDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFn
ZUNsaWVudC5jcHAKaW5kZXggM2M3OTZhZWEzMTk4MDliZDM3NjQzNjNhM2RiYWU0OWNmZWRlMzAx
MC4uNDE1MzUwNTBhNGUxYjMyZDY5YjEyNDJjNDc4YWYwYThiY2U3MDNkMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAKQEAgLTIyLDcgKzIyLDYgQEAK
ICNpbmNsdWRlICJRdFBhZ2VDbGllbnQuaCIKIAogI2luY2x1ZGUgIlF0V2ViUGFnZUV2ZW50SGFu
ZGxlci5oIgotI2luY2x1ZGUgIlF0V2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSAiUXRXZWJVbmRv
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHlRdC5oIgogI2luY2x1
ZGUgIldlYkVkaXRDb21tYW5kUHJveHkuaCIKQEAgLTQwLDcgKzM5LDYgQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKIFF0UGFnZUNsaWVudDo6UXRQYWdlQ2xpZW50KCkKICAgICA6IG1fd2Vi
VmlldygwKQotICAgICwgbV9xdFdlYlBhZ2VQcm94eSgwKQogICAgICwgbV9ldmVudEhhbmRsZXIo
MCkKICAgICAsIG1fdW5kb0NvbnRyb2xsZXIoMCkKIHsKQEAgLTUwLDYgKzQ4LDEzIEBAIFF0UGFn
ZUNsaWVudDo6flF0UGFnZUNsaWVudCgpCiB7CiB9CiAKK3ZvaWQgUXRQYWdlQ2xpZW50Ojppbml0
aWFsaXplKFFRdWlja1dlYlZpZXcqIHdlYlZpZXcsIFF0V2ViUGFnZUV2ZW50SGFuZGxlciogZXZl
bnRIYW5kbGVyLCBRdFdlYlVuZG9Db250cm9sbGVyKiB1bmRvQ29udHJvbGxlcikKK3sKKyAgICBt
X3dlYlZpZXcgPSB3ZWJWaWV3OworICAgIG1fZXZlbnRIYW5kbGVyID0gZXZlbnRIYW5kbGVyOwor
ICAgIG1fdW5kb0NvbnRyb2xsZXIgPSB1bmRvQ29udHJvbGxlcjsKK30KKwogUGFzc093blB0cjxE
cmF3aW5nQXJlYVByb3h5PiBRdFBhZ2VDbGllbnQ6OmNyZWF0ZURyYXdpbmdBcmVhUHJveHkoKQog
ewogICAgIHJldHVybiBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6Z2V0KG1fd2ViVmlldyktPmNyZWF0
ZURyYXdpbmdBcmVhUHJveHkoKTsKQEAgLTE1MywxMiArMTU4LDEyIEBAIEludFJlY3QgUXRQYWdl
Q2xpZW50Ojp3aW5kb3dUb1NjcmVlbihjb25zdCBJbnRSZWN0JiByZWN0KQogCiBQYXNzUmVmUHRy
PFdlYlBvcHVwTWVudVByb3h5PiBRdFBhZ2VDbGllbnQ6OmNyZWF0ZVBvcHVwTWVudVByb3h5KFdl
YlBhZ2VQcm94eSogd2ViUGFnZVByb3h5KQogewotICAgIHJldHVybiBXZWJQb3B1cE1lbnVQcm94
eVF0OjpjcmVhdGUodG9JbXBsKG1fcXRXZWJQYWdlUHJveHktPnBhZ2VSZWYoKSksIG1fd2ViVmll
dyk7CisgICAgcmV0dXJuIFdlYlBvcHVwTWVudVByb3h5UXQ6OmNyZWF0ZSh3ZWJQYWdlUHJveHks
IG1fd2ViVmlldyk7CiB9CiAKLVBhc3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eT4gUXRQYWdl
Q2xpZW50OjpjcmVhdGVDb250ZXh0TWVudVByb3h5KFdlYlBhZ2VQcm94eSopCitQYXNzUmVmUHRy
PFdlYkNvbnRleHRNZW51UHJveHk+IFF0UGFnZUNsaWVudDo6Y3JlYXRlQ29udGV4dE1lbnVQcm94
eShXZWJQYWdlUHJveHkqIHdlYlBhZ2VQcm94eSkKIHsKLSAgICByZXR1cm4gV2ViQ29udGV4dE1l
bnVQcm94eVF0OjpjcmVhdGUobV9xdFdlYlBhZ2VQcm94eSk7CisgICAgcmV0dXJuIFdlYkNvbnRl
eHRNZW51UHJveHlRdDo6Y3JlYXRlKHdlYlBhZ2VQcm94eSk7CiB9CiAKIHZvaWQgUXRQYWdlQ2xp
ZW50OjpmbGFzaEJhY2tpbmdTdG9yZVVwZGF0ZXMoY29uc3QgVmVjdG9yPEludFJlY3Q+JikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuaAppbmRleCBlMGU1NjA5NDdi
Y2RjNDc2YTExNTljYjNjZjczMjViNmUxZmQyZjIwLi42ZTcyNjAzNmE3ZDMyNjNiNGQwYTgyYmVm
YTg0ZWI2NjQyODJlMzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQv
UXRQYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNs
aWVudC5oCkBAIC0zOCw2ICszOCw4IEBAIHB1YmxpYzoKICAgICBRdFBhZ2VDbGllbnQoKTsKICAg
ICB+UXRQYWdlQ2xpZW50KCk7CiAKKyAgICB2b2lkIGluaXRpYWxpemUoUVF1aWNrV2ViVmlldyos
IFF0V2ViUGFnZUV2ZW50SGFuZGxlciosIFF0V2ViVW5kb0NvbnRyb2xsZXIqKTsKKwogICAgIC8v
IFFRdWlja1dlYlZpZXcuCiAgICAgdmlydHVhbCB2b2lkIHNldFZpZXdOZWVkc0Rpc3BsYXkoY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50U2l6ZSB2aWV3
U2l6ZSgpOwpAQCAtOTUsMTcgKzk3LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkb25l
V2l0aFRvdWNoRXZlbnQoY29uc3QgTmF0aXZlV2ViVG91Y2hFdmVudCYsIGJvb2wgd2FzRXZlbnRI
YW5kbGVkKTsKICNlbmRpZgogCi0gICAgdm9pZCBpbml0aWFsaXplKFFRdWlja1dlYlZpZXcqIHdl
YlZpZXcsIFF0V2ViUGFnZVByb3h5KiBwYWdlUHJveHksIFF0V2ViUGFnZUV2ZW50SGFuZGxlciog
ZXZlbnRIYW5kbGVyLCBRdFdlYlVuZG9Db250cm9sbGVyKiB1bmRvQ29udHJvbGxlcikKLSAgICB7
Ci0gICAgICAgIG1fd2ViVmlldyA9IHdlYlZpZXc7Ci0gICAgICAgIG1fZXZlbnRIYW5kbGVyID0g
ZXZlbnRIYW5kbGVyOwotICAgICAgICBtX3F0V2ViUGFnZVByb3h5ID0gcGFnZVByb3h5OwotICAg
ICAgICBtX3VuZG9Db250cm9sbGVyID0gdW5kb0NvbnRyb2xsZXI7Ci0gICAgfQotCiBwcml2YXRl
OgogICAgIFFRdWlja1dlYlZpZXcqIG1fd2ViVmlldzsKLSAgICBRdFdlYlBhZ2VQcm94eSogbV9x
dFdlYlBhZ2VQcm94eTsKICAgICBRdFdlYlBhZ2VFdmVudEhhbmRsZXIqIG1fZXZlbnRIYW5kbGVy
OwogICAgIFF0V2ViVW5kb0NvbnRyb2xsZXIqIG1fdW5kb0NvbnRyb2xsZXI7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDE0OGE1NGYwZjczNTE4NzBjNzcxZTMzYWE3ZmMzMGExMDViNGU2
YjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcAorKysgL2Rldi9udWxsCkBA
IC0xLDEyOSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIE5va2lhIENv
cnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotICoKLSAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
Ci0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0g
KgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0g
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgIlF0V2ViUGFnZVByb3h5LmgiCi0KLSNpbmNsdWRlIDxRdFF1aWNrL3Fx
dWlja2NhbnZhcy5oPgotI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcC5oIgotI2luY2x1ZGUgInFx
dWlja3dlYnZpZXdfcF9wLmgiCi0KLSNpbmNsdWRlICJRdFBhZ2VDbGllbnQuaCIKLSNpbmNsdWRl
ICJRdFdlYkNvbnRleHQuaCIKLSNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3QuaCIKLSNpbmNs
dWRlICJXS1N0cmluZ1F0LmgiCi0jaW5jbHVkZSA8V2ViS2l0Mi9XS0ZyYW1lLmg+Ci0jaW5jbHVk
ZSA8V2ViS2l0Mi9XS1BhZ2VHcm91cC5oPgotI2luY2x1ZGUgPFdlYktpdDIvV0tSZXRhaW5QdHIu
aD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
Ci1RdFdlYlBhZ2VQcm94eTo6UXRXZWJQYWdlUHJveHkoUVF1aWNrV2ViVmlldyogcW1sV2ViVmll
dywgUXRQYWdlQ2xpZW50ICpwYWdlQ2xpZW50LCBQYXNzUmVmUHRyPFF0V2ViQ29udGV4dD4gY29u
dGV4dCwgV0tQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmKQotICAgIDogbV9xbWxXZWJWaWV3KHFt
bFdlYlZpZXcpCi0gICAgLCBtX2NvbnRleHQoY29udGV4dCkKLXsKLSAgICBtX3dlYlBhZ2VQcm94
eSA9IG1fY29udGV4dC0+Y3JlYXRlV2ViUGFnZShwYWdlQ2xpZW50LCB0b0ltcGwocGFnZUdyb3Vw
UmVmKSk7Ci19Ci0KLXZvaWQgUXRXZWJQYWdlUHJveHk6OmluaXQoKQotewotICAgIG1fd2ViUGFn
ZVByb3h5LT5pbml0aWFsaXplV2ViUGFnZSgpOwotfQotCi1RdFdlYlBhZ2VQcm94eTo6flF0V2Vi
UGFnZVByb3h5KCkKLXsKLSAgICBtX3dlYlBhZ2VQcm94eS0+Y2xvc2UoKTsKLX0KLQotdm9pZCBR
dFdlYlBhZ2VQcm94eTo6c2hvd0NvbnRleHRNZW51KFFTaGFyZWRQb2ludGVyPFFNZW51PiBtZW51
KQotewotICAgIC8vIFJlbW92ZSB0aGUgYWN0aXZlIG1lbnUgaW4gY2FzZSB0aGlzIGZ1bmN0aW9u
IGlzIGNhbGxlZCB0d2ljZS4KLSAgICBpZiAoYWN0aXZlTWVudSkKLSAgICAgICAgYWN0aXZlTWVu
dS0+aGlkZSgpOwotCi0gICAgaWYgKG1lbnUtPmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgUVdpbmRvdyogd2luZG93ID0gbV9xbWxXZWJWaWV3LT5jYW52YXMoKTsKLSAgICBpZiAo
IXdpbmRvdykKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYWN0aXZlTWVudSA9IG1lbnU7Ci0KLSAg
ICBhY3RpdmVNZW51LT53aW5kb3coKS0+d2luSWQoKTsgLy8gRW5zdXJlIHRoYXQgdGhlIG1lbnUg
aGFzIGEgd2luZG93Ci0gICAgUV9BU1NFUlQoYWN0aXZlTWVudS0+d2luZG93KCktPndpbmRvd0hh
bmRsZSgpKTsKLSAgICBhY3RpdmVNZW51LT53aW5kb3coKS0+d2luZG93SGFuZGxlKCktPnNldFRy
YW5zaWVudFBhcmVudCh3aW5kb3cpOwotCi0gICAgUVBvaW50IG1lbnVQb3NpdGlvbkluU2NlbmUg
PSBtX3FtbFdlYlZpZXctPm1hcFRvU2NlbmUobWVudS0+cG9zKCkpLnRvUG9pbnQoKTsKLSAgICBt
ZW51LT5leGVjKHdpbmRvdy0+bWFwVG9HbG9iYWwobWVudVBvc2l0aW9uSW5TY2VuZSkpOwotICAg
IC8vIFRoZSBsYXN0IGZ1bmN0aW9uIHRvIGdldCBvdXQgb2YgZXhlYygpIGNsZWFyIHRoZSBsb2Nh
bCBjb3B5LgotICAgIGlmIChhY3RpdmVNZW51ID09IG1lbnUpCi0gICAgICAgIGFjdGl2ZU1lbnUu
Y2xlYXIoKTsKLX0KLQotdm9pZCBRdFdlYlBhZ2VQcm94eTo6aGlkZUNvbnRleHRNZW51KCkKLXsK
LSAgICBpZiAoYWN0aXZlTWVudSkKLSAgICAgICAgYWN0aXZlTWVudS0+aGlkZSgpOwotfQotCi1X
S1BhZ2VSZWYgUXRXZWJQYWdlUHJveHk6OnBhZ2VSZWYoKSBjb25zdAotewotICAgIHJldHVybiB0
b0FQSShtX3dlYlBhZ2VQcm94eS5nZXQoKSk7OwotfQotCi12b2lkIFF0V2ViUGFnZVByb3h5Ojpz
ZXRDdXN0b21Vc2VyQWdlbnQoY29uc3QgUVN0cmluZyYgdXNlckFnZW50KQotewotICAgIFdLUmV0
YWluUHRyPFdLU3RyaW5nUmVmPiB3a1VzZXJBZ2VudChXS1N0cmluZ0NyZWF0ZVdpdGhRU3RyaW5n
KHVzZXJBZ2VudCkpOwotICAgIFdLUGFnZVNldEN1c3RvbVVzZXJBZ2VudChwYWdlUmVmKCksIHdr
VXNlckFnZW50LmdldCgpKTsKLX0KLQotUVN0cmluZyBRdFdlYlBhZ2VQcm94eTo6Y3VzdG9tVXNl
ckFnZW50KCkgY29uc3QKLXsKLSAgICByZXR1cm4gV0tTdHJpbmdDb3B5UVN0cmluZyhXS1BhZ2VD
b3B5Q3VzdG9tVXNlckFnZW50KHBhZ2VSZWYoKSkpOwotfQotCi1xcmVhbCBRdFdlYlBhZ2VQcm94
eTo6dGV4dFpvb21GYWN0b3IoKSBjb25zdAotewotICAgIHJldHVybiBXS1BhZ2VHZXRUZXh0Wm9v
bUZhY3RvcihwYWdlUmVmKCkpOwotfQotCi12b2lkIFF0V2ViUGFnZVByb3h5OjpzZXRUZXh0Wm9v
bUZhY3RvcihxcmVhbCB6b29tRmFjdG9yKQotewotICAgIFdLUGFnZVNldFRleHRab29tRmFjdG9y
KHBhZ2VSZWYoKSwgem9vbUZhY3Rvcik7Ci19Ci0KLXFyZWFsIFF0V2ViUGFnZVByb3h5OjpwYWdl
Wm9vbUZhY3RvcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFdLUGFnZUdldFBhZ2Vab29tRmFjdG9y
KHBhZ2VSZWYoKSk7Ci19Ci0KLXZvaWQgUXRXZWJQYWdlUHJveHk6OnNldFBhZ2Vab29tRmFjdG9y
KHFyZWFsIHpvb21GYWN0b3IpCi17Ci0gICAgV0tQYWdlU2V0UGFnZVpvb21GYWN0b3IocGFnZVJl
ZigpLCB6b29tRmFjdG9yKTsKLX0KLQotdm9pZCBRdFdlYlBhZ2VQcm94eTo6c2V0UGFnZUFuZFRl
eHRab29tRmFjdG9ycyhxcmVhbCBwYWdlWm9vbUZhY3RvciwgcXJlYWwgdGV4dFpvb21GYWN0b3Ip
Ci17Ci0gICAgV0tQYWdlU2V0UGFnZUFuZFRleHRab29tRmFjdG9ycyhwYWdlUmVmKCksIHBhZ2Va
b29tRmFjdG9yLCB0ZXh0Wm9vbUZhY3Rvcik7Ci19Ci0KLSNpbmNsdWRlICJtb2NfUXRXZWJQYWdl
UHJveHkuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2Vi
UGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHku
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzgwNzQzZmQ4OTdjMWFhMmUyZWE0NDg0
N2Q2YjUwZDhlYzYwMDc5OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaAorKysg
L2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIw
MTEgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0gKgotICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
LSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgcHJv
Z3JhbTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZu
ZGVmIFF0V2ViUGFnZVByb3h5X2gKLSNkZWZpbmUgUXRXZWJQYWdlUHJveHlfaAotCi0jaW5jbHVk
ZSAiV2ViUGFnZVByb3h5LmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+Ci0jaW5jbHVkZSA8UU1lbnU+Ci0jaW5jbHVkZSA8UVNoYXJlZFBvaW50
ZXI+Ci0KLWNsYXNzIFF0UGFnZUNsaWVudDsKLWNsYXNzIFFRdWlja1dlYlZpZXc7Ci0KLW5hbWVz
cGFjZSBXZWJLaXQgewotY2xhc3MgUXRXZWJDb250ZXh0OwotfQotCi11c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwotCi0vLyBGSVhNRTogbmVlZHMgZm9jdXMgaW4vb3V0LCB3aW5kb3cgYWN0aXZhdGlv
biwgc3VwcG9ydCB0aHJvdWdoIHZpZXdTdGF0ZURpZENoYW5nZSgpLgotY2xhc3MgUXRXZWJQYWdl
UHJveHkgOiBwdWJsaWMgUU9iamVjdCB7Ci0gICAgUV9PQkpFQ1QKLQotcHVibGljOgotICAgIFF0
V2ViUGFnZVByb3h5KFFRdWlja1dlYlZpZXcqLCBRdFBhZ2VDbGllbnQqLCBQYXNzUmVmUHRyPFF0
V2ViQ29udGV4dD4sIFdLUGFnZUdyb3VwUmVmID0gMCk7Ci0gICAgflF0V2ViUGFnZVByb3h5KCk7
Ci0KLSAgICBXS1BhZ2VSZWYgcGFnZVJlZigpIGNvbnN0OwotCi0gICAgdm9pZCBzZXRDdXN0b21V
c2VyQWdlbnQoY29uc3QgUVN0cmluZyYpOwotICAgIFFTdHJpbmcgY3VzdG9tVXNlckFnZW50KCkg
Y29uc3Q7Ci0KLSAgICBxcmVhbCB0ZXh0Wm9vbUZhY3RvcigpIGNvbnN0OwotICAgIHFyZWFsIHBh
Z2Vab29tRmFjdG9yKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRUZXh0Wm9vbUZhY3RvcihxcmVhbCB6
b29tRmFjdG9yKTsKLSAgICB2b2lkIHNldFBhZ2Vab29tRmFjdG9yKHFyZWFsIHpvb21GYWN0b3Ip
OwotICAgIHZvaWQgc2V0UGFnZUFuZFRleHRab29tRmFjdG9ycyhxcmVhbCBwYWdlWm9vbUZhY3Rv
ciwgcXJlYWwgdGV4dFpvb21GYWN0b3IpOwotCi0gICAgdm9pZCBjb250ZXh0TWVudUl0ZW1TZWxl
Y3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBkYXRhKQotICAgIHsKLSAgICAgICAg
bV93ZWJQYWdlUHJveHktPmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGRhdGEpOwotICAgIH0KLQot
ICAgIHZvaWQgaW5pdCgpOwotCi0gICAgdm9pZCBzaG93Q29udGV4dE1lbnUoUVNoYXJlZFBvaW50
ZXI8UU1lbnU+KTsKLSAgICB2b2lkIGhpZGVDb250ZXh0TWVudSgpOwotCi1wdWJsaWM6Ci0gICAg
UV9TSUdOQUwgdm9pZCB6b29tYWJsZUFyZWFGb3VuZChjb25zdCBRUmVjdCYpOwotCi1wcm90ZWN0
ZWQ6Ci0gICAgUVF1aWNrV2ViVmlldyogbV9xbWxXZWJWaWV3OwotICAgIFJlZlB0cjxXZWJLaXQ6
OldlYlBhZ2VQcm94eT4gbV93ZWJQYWdlUHJveHk7Ci0KLXByaXZhdGU6Ci0gICAgUmVmUHRyPFF0
V2ViQ29udGV4dD4gbV9jb250ZXh0OwotCi0gICAgUVNoYXJlZFBvaW50ZXI8UU1lbnU+IGFjdGl2
ZU1lbnU7Ci19OwotCi0jZW5kaWYgLyogUXRXZWJQYWdlUHJveHlfaCAqLwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkNvbnRleHRNZW51UHJveHlRdC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dE1lbnVQcm94eVF0LmNwcAppbmRl
eCA4Yzg5OTc3YjI5NGMzZDcwODEzZmYxM2U1ZTA0NzQzMzgyOTA5OTZiLi5iMDA5NTEwMTRmZjIx
OTRjOWZkODQxOTc2ZmFkNWExMmVhMGZjOWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvV2ViQ29udGV4dE1lbnVQcm94eVF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dE1lbnVQcm94eVF0LmNwcApAQCAtMjcsNTkgKzI3LDI1
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQcm94eVF0
LmgiCiAKLSNpbmNsdWRlIDxJbnRQb2ludC5oPgotI2luY2x1ZGUgPE93blB0ci5oPgotI2luY2x1
ZGUgPFdlYkNvbnRleHRNZW51SXRlbURhdGEuaD4KLSNpbmNsdWRlIDxxbWVudS5oPgotI2luY2x1
ZGUgPFF0V2ViUGFnZVByb3h5Lmg+Ci0KIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1RX0RF
Q0xBUkVfTUVUQVRZUEUoV2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhKTsKLQogbmFtZXNw
YWNlIFdlYktpdCB7CiAKLVdlYkNvbnRleHRNZW51UHJveHlRdDo6V2ViQ29udGV4dE1lbnVQcm94
eVF0KFF0V2ViUGFnZVByb3h5KiBwYWdlUHJveHkpCi0gICAgOiBtX3dlYlBhZ2VQcm94eShwYWdl
UHJveHkpCi17Ci19Ci0KLVBhc3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eVF0PiBXZWJDb250
ZXh0TWVudVByb3h5UXQ6OmNyZWF0ZShRdFdlYlBhZ2VQcm94eSAqcGFnZVByb3h5KQorV2ViQ29u
dGV4dE1lbnVQcm94eVF0OjpXZWJDb250ZXh0TWVudVByb3h5UXQoV2ViUGFnZVByb3h5KikKIHsK
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkNvbnRleHRNZW51UHJveHlRdChwYWdlUHJveHkp
KTsKIH0KIAotdm9pZCBXZWJDb250ZXh0TWVudVByb3h5UXQ6OmFjdGlvblRyaWdnZXJlZChib29s
KQorUGFzc1JlZlB0cjxXZWJDb250ZXh0TWVudVByb3h5UXQ+IFdlYkNvbnRleHRNZW51UHJveHlR
dDo6Y3JlYXRlKFdlYlBhZ2VQcm94eSogd2ViUGFnZVByb3h5KQogewotICAgIFFBY3Rpb24qIHF0
QWN0aW9uID0gcW9iamVjdF9jYXN0PFFBY3Rpb24qPihzZW5kZXIoKSk7Ci0gICAgaWYgKCFxdEFj
dGlvbikgewotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIFFWYXJpYW50IGRhdGEgPSBxdEFjdGlvbi0+ZGF0YSgpOwotICAgIGlmICgh
ZGF0YS5jYW5Db252ZXJ0PFdlYkNvbnRleHRNZW51SXRlbURhdGE+KCkpIHsKLSAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBtX3dlYlBh
Z2VQcm94eS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQocXRBY3Rpb24tPmRhdGEoKS52YWx1ZTxX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhPigpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkNv
bnRleHRNZW51UHJveHlRdCh3ZWJQYWdlUHJveHkpKTsKIH0KIAogdm9pZCBXZWJDb250ZXh0TWVu
dVByb3h5UXQ6OnNob3dDb250ZXh0TWVudShjb25zdCBJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0
IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgaXRlbXMpCiB7Ci0gICAgLy8gRklYTUU6
IE1ha2UgdGhpcyBhIFFNTCBjb21wYXRpYmxlIGNvbnRleHQgbWVudS4KIH0KIAogdm9pZCBXZWJD
b250ZXh0TWVudVByb3h5UXQ6OmhpZGVDb250ZXh0TWVudSgpCiB7Ci0gICAgbV93ZWJQYWdlUHJv
eHktPmhpZGVDb250ZXh0TWVudSgpOwotfQotCi1QYXNzT3duUHRyPFFNZW51PiBXZWJDb250ZXh0
TWVudVByb3h5UXQ6OmNyZWF0ZUNvbnRleHRNZW51KGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVu
dUl0ZW1EYXRhPiYgaXRlbXMpIGNvbnN0Ci17Ci0gICAgLy8gRklYTUU6IE1ha2UgdGhpcyBhIFFN
TCBjb21wYXRpYmxlIGNvbnRleHQgbWVudS4KLSAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogI2lu
Y2x1ZGUgIm1vY19XZWJDb250ZXh0TWVudVByb3h5UXQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkNvbnRleHRNZW51UHJveHlRdC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1dlYkNvbnRleHRNZW51UHJveHlRdC5oCmluZGV4IDc5YWY5NjEx
NjNlOTE2Yjg1OTdjZDgwZTY5ODNiMTI5YmVkNGM1OTAuLmJkN2FlYmQ2ZmYzYTQ4Yzk3NGU5YWRj
MDUwMDYzOTA5Yjk5NTQ0NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9XZWJDb250ZXh0TWVudVByb3h5UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvV2ViQ29udGV4dE1lbnVQcm94eVF0LmgKQEAgLTI4LDM2ICsyOCwyMiBAQAogI2RlZmluZSBX
ZWJDb250ZXh0TWVudVByb3h5UXRfaAogCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQcm94eS5o
IgotI2luY2x1ZGUgPFBhc3NPd25QdHIuaD4KICNpbmNsdWRlIDxRdENvcmUvUU9iamVjdD4KIAot
Y2xhc3MgUU1lbnU7Ci1jbGFzcyBRdFdlYlBhZ2VQcm94eTsKLQogbmFtZXNwYWNlIFdlYktpdCB7
Ci1jbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1EYXRhOwotfQotY2xhc3MgUXRXZWJQYWdlUHJveHk7
CiAKLW5hbWVzcGFjZSBXZWJLaXQgeworY2xhc3MgV2ViUGFnZVByb3h5OwogCiBjbGFzcyBXZWJD
b250ZXh0TWVudVByb3h5UXQgOiBwdWJsaWMgUU9iamVjdCwgcHVibGljIFdlYkNvbnRleHRNZW51
UHJveHkgewogICAgIFFfT0JKRUNUCiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2Vi
Q29udGV4dE1lbnVQcm94eVF0PiBjcmVhdGUoUXRXZWJQYWdlUHJveHkqKTsKLQotcHJpdmF0ZSBR
X1NMT1RTOgotICAgIHZvaWQgYWN0aW9uVHJpZ2dlcmVkKGJvb2wpOworICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHlRdD4gY3JlYXRlKFdlYlBhZ2VQcm94eSopOwogCiBw
cml2YXRlOgotICAgIFdlYkNvbnRleHRNZW51UHJveHlRdChRdFdlYlBhZ2VQcm94eSopOworICAg
IFdlYkNvbnRleHRNZW51UHJveHlRdChXZWJQYWdlUHJveHkqKTsKIAogICAgIHZpcnR1YWwgdm9p
ZCBzaG93Q29udGV4dE1lbnUoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBWZWN0b3I8
V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mKTsKICAgICB2aXJ0dWFsIHZvaWQgaGlkZUNvbnRleHRN
ZW51KCk7Ci0KLSAgICBQYXNzT3duUHRyPFFNZW51PiBjcmVhdGVDb250ZXh0TWVudShjb25zdCBW
ZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKSBjb25zdDsKLQotICAgIFF0V2Vi
UGFnZVByb3h5KiBjb25zdCBtX3dlYlBhZ2VQcm94eTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdAo=
</data>
<flag name="review"
          id="119266"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>