<?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>186478</bug_id>
          
          <creation_ts>2018-06-10 23:02:26 -0700</creation_ts>
          <short_desc>[Win][MiniBrowser] Add WebKitBrowserWindow class for modern WebKit API</short_desc>
          <delta_ts>2018-06-11 12:00:30 -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>Tools / Tests</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>184770</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>lforschler</cc>
    
    <cc>pvollan</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1431715</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-06-10 23:02:26 -0700</bug_when>
    <thetext>[Win][MiniBrowser] Add WebKitBrowserWindow class for modern WebKit API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431717</commentid>
    <comment_count>1</comment_count>
      <attachid>342411</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-06-10 23:17:04 -0700</bug_when>
    <thetext>Created attachment 342411
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431718</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-06-10 23:18:45 -0700</bug_when>
    <thetext>Attachment 342411 did not pass style-queue:


ERROR: Tools/MiniBrowser/win/WebKitBrowserWindow.cpp:25:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
ERROR: Tools/MiniBrowser/win/WebKitBrowserWindow.cpp:26:  Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
ERROR: Tools/MiniBrowser/win/MiniBrowserLibResource.h:0:  No copyright message found.  You should have a line: &quot;Copyright [year] &lt;Copyright Owner&gt;&quot;  [legal/copyright] [5]
Total errors found: 3 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431983</commentid>
    <comment_count>3</comment_count>
      <attachid>342411</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-11 11:59:27 -0700</bug_when>
    <thetext>Comment on attachment 342411
Patch

Clearing flags on attachment: 342411

Committed r232723: &lt;https://trac.webkit.org/changeset/232723&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431984</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-11 11:59:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431985</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-11 12:00:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/41013896&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342411</attachid>
            <date>2018-06-10 23:17:04 -0700</date>
            <delta_ts>2018-06-11 11:59:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186478-20180611151703.patch</filename>
            <type>text/plain</type>
            <size>21932</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNjY5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmQwMTk0MDBhMTYzNDFkYTYxZDM3MTRiY2Q3NGI5Njg5
ODY5ZjdmNC4uNzg3MDk0Y2QyZDY0MTM5YmMzY2IwZmQ2OTU5NjA4YzlkOGRlZDE1MyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2
IEBACisyMDE4LTA2LTEwICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgorCisgICAgICAgIFtXaW5dW01pbmlCcm93c2VyXSBBZGQgV2ViS2l0QnJvd3NlcldpbmRvdyBj
bGFzcyBmb3IgbW9kZXJuIFdlYktpdCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4NjQ3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkICJOZXcgV2ViS2l0IFdpbmRvdyIgYW5kICJOZXcgV2Vi
S2l0TGVnYWN5IFdpbmRvdyIgbWVudQorICAgICAgICBpdGVtcy4gRGlzYWJsZWQgdGhlIG1lbnUg
aXRlbSAiTmV3IFdlYktpdCBXaW5kb3ciIGlmCisgICAgICAgICFFTkFCTEUoV0VCS0lUKS4KKwor
ICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9DTWFrZUxpc3RzLnR4dDogQWRkZWQgV2ViS2l0QnJv
d3NlcldpbmRvdy5jcHAKKyAgICAgICAgc291cmNlIGZpbGUgYW5kIEVOQUJMRV9XRUJLSVQgbWFj
cm8gaWYgRU5BQkxFX1dFQktJVC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vTWFpbldpbmRv
dy5jcHA6CisgICAgICAgIChNYWluV2luZG93OjpNYWluV2luZG93KToKKyAgICAgICAgKE1haW5X
aW5kb3c6OmNyZWF0ZSk6CisgICAgICAgIChNYWluV2luZG93Ojppbml0KToKKyAgICAgICAgKE1h
aW5XaW5kb3c6OlduZFByb2MpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9NYWluV2luZG93
Lmg6CisgICAgICAgICogTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyTGliLnJjOgorICAgICAg
ICAqIE1pbmlCcm93c2VyL3dpbi9NaW5pQnJvd3NlckxpYlJlc291cmNlLmg6CisgICAgICAgICog
TWluaUJyb3dzZXIvd2luL1ByaW50V2ViVUlEZWxlZ2F0ZS5jcHA6CisgICAgICAgIChQcmludFdl
YlVJRGVsZWdhdGU6OmNyZWF0ZVdlYlZpZXdXaXRoUmVxdWVzdCk6CisgICAgICAgICogTWluaUJy
b3dzZXIvd2luL1dlYktpdEJyb3dzZXJXaW5kb3cuY3BwOiBBZGRlZC4KKyAgICAgICAgKGNyZWF0
ZVN0cmluZyk6CisgICAgICAgICh0b1V0ZjgpOgorICAgICAgICAoY3JlYXRlV0tTdHJpbmcpOgor
ICAgICAgICAoY3JlYXRlV0tVUkwpOgorICAgICAgICAoV2ViS2l0QnJvd3NlcldpbmRvdzo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYktpdEJyb3dzZXJXaW5kb3c6OldlYktpdEJyb3dzZXJXaW5kb3cp
OgorICAgICAgICAoV2ViS2l0QnJvd3NlcldpbmRvdzo6aW5pdCk6CisgICAgICAgIChXZWJLaXRC
cm93c2VyV2luZG93Ojpod25kKToKKyAgICAgICAgKFdlYktpdEJyb3dzZXJXaW5kb3c6OmxvYWRV
UkwpOgorICAgICAgICAoV2ViS2l0QnJvd3NlcldpbmRvdzo6bG9hZEhUTUxTdHJpbmcpOgorICAg
ICAgICAoV2ViS2l0QnJvd3NlcldpbmRvdzo6bmF2aWdhdGVGb3J3YXJkT3JCYWNrd2FyZCk6Cisg
ICAgICAgIChXZWJLaXRCcm93c2VyV2luZG93OjpuYXZpZ2F0ZVRvSGlzdG9yeSk6CisgICAgICAg
IChXZWJLaXRCcm93c2VyV2luZG93OjpzZXRQcmVmZXJlbmNlKToKKyAgICAgICAgKFdlYktpdEJy
b3dzZXJXaW5kb3c6OnByaW50KToKKyAgICAgICAgKFdlYktpdEJyb3dzZXJXaW5kb3c6OmxhdW5j
aEluc3BlY3Rvcik6CisgICAgICAgIChXZWJLaXRCcm93c2VyV2luZG93OjpzZXRVc2VyQWdlbnQp
OgorICAgICAgICAoV2ViS2l0QnJvd3NlcldpbmRvdzo6dXNlckFnZW50KToKKyAgICAgICAgKFdl
YktpdEJyb3dzZXJXaW5kb3c6OnNob3dMYXllclRyZWUpOgorICAgICAgICAoV2ViS2l0QnJvd3Nl
cldpbmRvdzo6dXBkYXRlU3RhdGlzdGljcyk6CisgICAgICAgIChXZWJLaXRCcm93c2VyV2luZG93
OjpyZXNldFpvb20pOgorICAgICAgICAoV2ViS2l0QnJvd3NlcldpbmRvdzo6em9vbUluKToKKyAg
ICAgICAgKFdlYktpdEJyb3dzZXJXaW5kb3c6Onpvb21PdXQpOgorICAgICAgICAodG9XZWJLaXRC
cm93c2VyV2luZG93KToKKyAgICAgICAgKFdlYktpdEJyb3dzZXJXaW5kb3c6OmRpZFJlY2VpdmVU
aXRsZUZvckZyYW1lKToKKyAgICAgICAgKFdlYktpdEJyb3dzZXJXaW5kb3c6OmRpZENvbW1pdExv
YWRGb3JGcmFtZSk6CisgICAgICAgICogTWluaUJyb3dzZXIvd2luL1dlYktpdEJyb3dzZXJXaW5k
b3cuaDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vV2luTWFpbi5jcHA6CisgICAgICAgICh3
V2luTWFpbik6CisKIDIwMTgtMDYtMTAgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlA
c29ueS5jb20+CiAKICAgICAgICAgW1dpbl1bTWluaUJyb3dzZXJdIE1pbmlCcm93c2VyIGNsYXNz
IHNob3VsZCBiZSByZW5hbWVkIHRvIFdlYktpdExlZ2FjeUJyb3dzZXJXaW5kb3cKZGlmZiAtLWdp
dCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL01pbmlCcm93
c2VyL3dpbi9DTWFrZUxpc3RzLnR4dAppbmRleCA2YTgzNzYzZGEzMWM4YThlMmQyMTBmMmNlZWNl
ZTcwOTJjZTJiYzYwLi42MTU2MWEzNmY3NDBjMzBiMjhjNDVkZTZlZDE4ZjViYmE2MWM1OTJkIDEw
MDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vQ01ha2VMaXN0cy50eHQKKysrIGIvVG9v
bHMvTWluaUJyb3dzZXIvd2luL0NNYWtlTGlzdHMudHh0CkBAIC0zOCw2ICszOCwxNCBAQCBpZiAo
VVNFX0NGKQogICAgICkKIGVuZGlmICgpCiAKK2lmIChFTkFCTEVfV0VCS0lUKQorICAgIGFkZF9k
ZWZpbml0aW9ucygtREVOQUJMRV9XRUJLSVQpCisgICAgbGlzdChBUFBFTkQgTWluaUJyb3dzZXJf
U09VUkNFUworICAgICAgICBXZWJLaXRCcm93c2VyV2luZG93LmNwcAorICAgICkKKyAgICBsaXN0
KEFQUEVORCBNaW5pQnJvd3Nlcl9MSUJSQVJJRVMgV2ViS2l0KQorZW5kaWYgKCkKKwogc2V0KENN
QUtFX1NIQVJFRF9MSU5LRVJfRkxBR1MgIiR7Q01BS0VfU0hBUkVEX0xJTktFUl9GTEFHU30gJHtN
U1ZDX1JVTlRJTUVfTElOS0VSX0ZMQUdTfSIpCiBzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHUyAi
JHtDTUFLRV9FWEVfTElOS0VSX0ZMQUdTfSAvRU5UUlk6d1dpbk1haW5DUlRTdGFydHVwIikKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL01haW5XaW5kb3cuY3BwIGIvVG9vbHMv
TWluaUJyb3dzZXIvd2luL01haW5XaW5kb3cuY3BwCmluZGV4IGY5OWRhNWU5NjdhM2RkY2E1ZTVl
MmI0MjdjMjk1ZDk4ZDA2YWM1NDkuLjdlMzZhODJhZjJjYTgxNTljNjllMGY3ZWE3OWQxNmQ1MjY2
NDNjNDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9NYWluV2luZG93LmNwcAor
KysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vTWFpbldpbmRvdy5jcHAKQEAgLTI4LDYgKzI4LDEx
IEBACiAKICNpbmNsdWRlICJDb21tb24uaCIKICNpbmNsdWRlICJNaW5pQnJvd3NlckxpYlJlc291
cmNlLmgiCisjaW5jbHVkZSAiV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdy5oIgorCisjaWYgRU5B
QkxFKFdFQktJVCkKKyNpbmNsdWRlICJXZWJLaXRCcm93c2VyV2luZG93LmgiCisjZW5kaWYKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3JGb3JXaW5kb3coSFdO
RCk7CkBAIC03OCw3ICs4Myw4IEBAIHZvaWQgTWFpbldpbmRvdzo6cmVnaXN0ZXJDbGFzcyhISU5T
VEFOQ0UgaEluc3RhbmNlKQogICAgIFJlZ2lzdGVyQ2xhc3NFeCgmd2NleCk7CiB9CiAKLU1haW5X
aW5kb3c6Ok1haW5XaW5kb3coKQorTWFpbldpbmRvdzo6TWFpbldpbmRvdyhCcm93c2VyV2luZG93
VHlwZSB0eXBlKQorICAgIDogbV9icm93c2VyV2luZG93VHlwZSh0eXBlKQogewogICAgIHNfbnVt
SW5zdGFuY2VzKys7CiB9CkBAIC04OCw5ICs5NCw5IEBAIE1haW5XaW5kb3c6On5NYWluV2luZG93
KCkKICAgICBzX251bUluc3RhbmNlcy0tOwogfQogCi1SZWY8TWFpbldpbmRvdz4gTWFpbldpbmRv
dzo6Y3JlYXRlKCkKK1JlZjxNYWluV2luZG93PiBNYWluV2luZG93OjpjcmVhdGUoQnJvd3Nlcldp
bmRvd1R5cGUgdHlwZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNYWluV2luZG93KCkp
OworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1haW5XaW5kb3codHlwZSkpOwogfQogCiBib29s
IE1haW5XaW5kb3c6OmluaXQoSElOU1RBTkNFIGhJbnN0YW5jZSwgYm9vbCB1c2VzTGF5ZXJlZFdl
YlZpZXcsIGJvb2wgcGFnZUxvYWRUZXN0aW5nKQpAQCAtMTA1LDYgKzExMSwxMCBAQCBib29sIE1h
aW5XaW5kb3c6OmluaXQoSElOU1RBTkNFIGhJbnN0YW5jZSwgYm9vbCB1c2VzTGF5ZXJlZFdlYlZp
ZXcsIGJvb2wgcGFnZUxvYQogICAgIGlmICghbV9oTWFpblduZCkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCisjaWYgIUVOQUJMRShXRUJLSVQpCisgICAgRW5hYmxlTWVudUl0ZW0oR2V0TWVudSht
X2hNYWluV25kKSwgSURNX05FV19XRUJLSVRfV0lORE9XLCBNRl9HUkFZRUQpOworI2VuZGlmCisK
ICAgICBmbG9hdCBzY2FsZUZhY3RvciA9IFdlYkNvcmU6OmRldmljZVNjYWxlRmFjdG9yRm9yV2lu
ZG93KG51bGxwdHIpOwogICAgIG1faEJhY2tCdXR0b25XbmQgPSBDcmVhdGVXaW5kb3coTCJCVVRU
T04iLCBMIjwiLCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgIHwgQlNfVEVYVCwgMCwgMCwgMCwgMCwg
bV9oTWFpblduZCwgcmVpbnRlcnByZXRfY2FzdDxITUVOVT4oSURNX0hJU1RPUllfQkFDS1dBUkQp
LCBoSW5zdGFuY2UsIDApOwogICAgIG1faEZvcndhcmRCdXR0b25XbmQgPSBDcmVhdGVXaW5kb3co
TCJCVVRUT04iLCBMIj4iLCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBCU19URVhULCBzY2FsZUZh
Y3RvciAqIGNvbnRyb2xCdXR0b25XaWR0aCwgMCwgMCwgMCwgbV9oTWFpblduZCwgcmVpbnRlcnBy
ZXRfY2FzdDxITUVOVT4oSURNX0hJU1RPUllfRk9SV0FSRCksIGhJbnN0YW5jZSwgMCk7CkBAIC0x
MTMsNyArMTIzLDEyIEBAIGJvb2wgTWFpbldpbmRvdzo6aW5pdChISU5TVEFOQ0UgaEluc3RhbmNl
LCBib29sIHVzZXNMYXllcmVkV2ViVmlldywgYm9vbCBwYWdlTG9hCiAgICAgRGVmRWRpdFByb2Mg
PSByZWludGVycHJldF9jYXN0PFdORFBST0M+KEdldFdpbmRvd0xvbmdQdHIobV9oVVJMQmFyV25k
LCBHV0xQX1dORFBST0MpKTsKICAgICBTZXRXaW5kb3dMb25nUHRyKG1faFVSTEJhclduZCwgR1dM
UF9XTkRQUk9DLCByZWludGVycHJldF9jYXN0PExPTkdfUFRSPihFZGl0UHJvYykpOwogCi0gICAg
bV9icm93c2VyV2luZG93ID0gV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdzo6Y3JlYXRlKG1faE1h
aW5XbmQsIG1faFVSTEJhclduZCwgdXNlc0xheWVyZWRXZWJWaWV3LCBwYWdlTG9hZFRlc3Rpbmcp
OworICAgIGF1dG8gZmFjdG9yeSA9IFdlYktpdExlZ2FjeUJyb3dzZXJXaW5kb3c6OmNyZWF0ZTsK
KyNpZiBFTkFCTEUoV0VCS0lUKQorICAgIGlmIChtX2Jyb3dzZXJXaW5kb3dUeXBlID09IEJyb3dz
ZXJXaW5kb3dUeXBlOjpXZWJLaXQpCisgICAgICAgIGZhY3RvcnkgPSBXZWJLaXRCcm93c2VyV2lu
ZG93OjpjcmVhdGU7CisjZW5kaWYKKyAgICBtX2Jyb3dzZXJXaW5kb3cgPSBmYWN0b3J5KG1faE1h
aW5XbmQsIG1faFVSTEJhclduZCwgdXNlc0xheWVyZWRXZWJWaWV3LCBwYWdlTG9hZFRlc3Rpbmcp
OwogICAgIGlmICghbV9icm93c2VyV2luZG93KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
SFJFU1VMVCBociA9IG1fYnJvd3NlcldpbmRvdy0+aW5pdCgpOwpAQCAtMTcxLDYgKzE4NiwxOCBA
QCBMUkVTVUxUIENBTExCQUNLIE1haW5XaW5kb3c6OlduZFByb2MoSFdORCBoV25kLCBVSU5UIG1l
c3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQQogICAgICAgICBjYXNlIElEQ19VUkxfQkFSOgogICAg
ICAgICAgICAgdGhpc1dpbmRvdy0+b25VUkxCYXJFbnRlcigpOwogICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgSURNX05FV19XRUJLSVRfV0lORE9XOiB7CisgICAgICAgICAgICBhdXRv
JiBuZXdXaW5kb3cgPSBNYWluV2luZG93OjpjcmVhdGUoQnJvd3NlcldpbmRvd1R5cGU6OldlYktp
dCkubGVha1JlZigpOworICAgICAgICAgICAgbmV3V2luZG93LmluaXQoaEluc3QpOworICAgICAg
ICAgICAgU2hvd1dpbmRvdyhuZXdXaW5kb3cuaHduZCgpLCBTV19TSE9XKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgSURNX05FV19XRUJLSVRMRUdBQ1lfV0lO
RE9XOiB7CisgICAgICAgICAgICBhdXRvJiBuZXdXaW5kb3cgPSBNYWluV2luZG93OjpjcmVhdGUo
QnJvd3NlcldpbmRvd1R5cGU6OldlYktpdExlZ2FjeSkubGVha1JlZigpOworICAgICAgICAgICAg
bmV3V2luZG93LmluaXQoaEluc3QpOworICAgICAgICAgICAgU2hvd1dpbmRvdyhuZXdXaW5kb3cu
aHduZCgpLCBTV19TSE9XKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAg
IGNhc2UgSURNX0FCT1VUOgogICAgICAgICAgICAgRGlhbG9nQm94KGhJbnN0LCBNQUtFSU5UUkVT
T1VSQ0UoSUREX0FCT1VUQk9YKSwgaFduZCwgQWJvdXQpOwogICAgICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vTWFpbldpbmRvdy5oIGIvVG9vbHMvTWlu
aUJyb3dzZXIvd2luL01haW5XaW5kb3cuaAppbmRleCBhMmQzOWJmMzAzZDQwNDNiMTJiMGRhYTEz
NWNjZDVmN2EyMGY1ZDlmLi45NzAyMWI2ZGY4NGE0MTM4NTU2OTIyODJiOGYzY2M0ZTA0YzU1MjMx
IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vTWFpbldpbmRvdy5oCisrKyBiL1Rv
b2xzL01pbmlCcm93c2VyL3dpbi9NYWluV2luZG93LmgKQEAgLTI1LDE0ICsyNSwxOCBAQAogCiAj
cHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIldlYktpdExlZ2FjeUJyb3dzZXJXaW5kb3cuaCIKKyNp
bmNsdWRlICJCcm93c2VyV2luZG93LmgiCiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHN0
cmluZz4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIGNsYXNzIE1haW5XaW5kb3cgOiBwdWJs
aWMgUmVmQ291bnRlZDxNYWluV2luZG93PiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxNYWlu
V2luZG93PiBjcmVhdGUoKTsKKyAgICBlbnVtIGNsYXNzIEJyb3dzZXJXaW5kb3dUeXBlIHsKKyAg
ICAgICAgV2ViS2l0LAorICAgICAgICBXZWJLaXRMZWdhY3kKKyAgICB9OworICAgIHN0YXRpYyBS
ZWY8TWFpbldpbmRvdz4gY3JlYXRlKEJyb3dzZXJXaW5kb3dUeXBlKTsKIAogICAgIH5NYWluV2lu
ZG93KCk7CiAgICAgYm9vbCBpbml0KEhJTlNUQU5DRSBoSW5zdGFuY2UsIGJvb2wgdXNlc0xheWVy
ZWRXZWJWaWV3ID0gZmFsc2UsIGJvb2wgcGFnZUxvYWRUZXN0aW5nID0gZmFsc2UpOwpAQCAtNTEs
NyArNTUsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBzdGQ6OndzdHJpbmcgc193aW5kb3dDbGFz
czsKICAgICBzdGF0aWMgc2l6ZV90IHNfbnVtSW5zdGFuY2VzOwogCi0gICAgTWFpbldpbmRvdygp
OworICAgIE1haW5XaW5kb3coQnJvd3NlcldpbmRvd1R5cGUpOwogICAgIGJvb2wgdG9nZ2xlTWVu
dUl0ZW0oVUlOVCBtZW51SUQpOwogICAgIHZvaWQgb25VUkxCYXJFbnRlcigpOwogICAgIHZvaWQg
dXBkYXRlRGV2aWNlU2NhbGVGYWN0b3IoKTsKQEAgLTYyLDUgKzY2LDYgQEAgcHJpdmF0ZToKICAg
ICBIV05EIG1faEZvcndhcmRCdXR0b25XbmQgeyBudWxscHRyIH07CiAgICAgSFdORCBtX2hDYWNo
ZVduZCB7IG51bGxwdHIgfTsKICAgICBIR0RJT0JKIG1faFVSTEJhckZvbnQgeyBudWxscHRyIH07
CisgICAgQnJvd3NlcldpbmRvd1R5cGUgbV9icm93c2VyV2luZG93VHlwZTsKICAgICBSZWZQdHI8
QnJvd3NlcldpbmRvdz4gbV9icm93c2VyV2luZG93OwogfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL01p
bmlCcm93c2VyL3dpbi9NaW5pQnJvd3NlckxpYi5yYyBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9N
aW5pQnJvd3NlckxpYi5yYwpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4IDlh
ZjdiZGUzMmZhYWVkZmFmNjVjM2Y3OTg5YWM3NDNjZTM0MDI2Y2MuLjVjODJmMDA2NzgyODA3N2Y4
MjYzZWNkMjBjNDg2MTJiMTc2MGE4ZTMKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlC
cm93c2VyTGliLnJjCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9NaW5pQnJvd3NlckxpYi5y
YwpAQCAtNDQsNiArNDQsOCBAQCBCRUdJTgogICAgIEJFR0lODQogICAgICAgICBNRU5VSVRFTSAi
JlByaW50XHRDdHJsLVAiLCAgICAgICAgICAgICAgSURNX1BSSU5UDQogICAgICAgICBNRU5VSVRF
TSAiRSZ4aXQiLCAgICAgICAgICAgICAgICAgICAgICAgSURNX0VYSVQNCisgICAgICAgIE1FTlVJ
VEVNICJOZXcgV2ViS2l0IFdpbmRvdyIsICAgICAgICAgICBJRE1fTkVXX1dFQktJVF9XSU5ET1cN
CisgICAgICAgIE1FTlVJVEVNICJOZXcgV2ViS2l0TGVnYWN5IFdpbmRvdyIsICAgICBJRE1fTkVX
X1dFQktJVExFR0FDWV9XSU5ET1cNCiAgICAgRU5EDQogICAgIFBPUFVQICImVmlldyINCiAgICAg
QkVHSU4NCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXJMaWJS
ZXNvdXJjZS5oIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyTGliUmVzb3VyY2Uu
aApvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4IDBiZGEwNmFlNTQ5YjE3MzAw
ODBkYzYxYjAyNTY0MzU0NzcwZGM5MGIuLjMwMzc1ZDcyYjMyMDI0YTQzZWUwM2U3N2Q2NmFlNmRl
YThlODA1NTMKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93c2VyTGliUmVzb3Vy
Y2UuaAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vTWluaUJyb3dzZXJMaWJSZXNvdXJjZS5o
CkBAIC0xMTAsNiArMTEwLDggQEAKICNkZWZpbmUgSURDX0FVVEhfVVNFUiAgICAgICAgICAgICAg
ICAgICAxMDUzCiAjZGVmaW5lIElEQ19BVVRIX1BBU1NXT1JEICAgICAgICAgICAgICAgMTA1NAog
I2RlZmluZSBJRENfVVJMX0JBUiAgICAgICAgICAgICAgICAgICAgIDEwNTUKKyNkZWZpbmUgSURN
X05FV19XRUJLSVRfV0lORE9XICAgICAgICAgICAzMjc3NgorI2RlZmluZSBJRE1fTkVXX1dFQktJ
VExFR0FDWV9XSU5ET1cgICAgIDMyNzc3CiAjZGVmaW5lIElEQ19TVEFUSUMgICAgICAgICAgICAg
ICAgICAgICAgLTEKIAogLy8gTmV4dCBkZWZhdWx0IHZhbHVlcyBmb3IgbmV3IG9iamVjdHMKQEAg
LTExOCw3ICsxMjAsNyBAQAogI2lmbmRlZiBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTCiAjZGVm
aW5lIF9BUFNfTk9fTUZDICAgICAgICAgICAgICAgICAgICAgMQogI2RlZmluZSBfQVBTX05FWFRf
UkVTT1VSQ0VfVkFMVUUgICAgICAgIDE3NQotI2RlZmluZSBfQVBTX05FWFRfQ09NTUFORF9WQUxV
RSAgICAgICAgIDMyNzc2CisjZGVmaW5lIF9BUFNfTkVYVF9DT01NQU5EX1ZBTFVFICAgICAgICAg
MzI3NzgKICNkZWZpbmUgX0FQU19ORVhUX0NPTlRST0xfVkFMVUUgICAgICAgICAxMDU1CiAjZGVm
aW5lIF9BUFNfTkVYVF9TWU1FRF9WQUxVRSAgICAgICAgICAgMTEwCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9QcmludFdlYlVJRGVsZWdhdGUuY3BwIGIvVG9vbHMv
TWluaUJyb3dzZXIvd2luL1ByaW50V2ViVUlEZWxlZ2F0ZS5jcHAKaW5kZXggMzQ0ZDM1ZDI0YmMw
ZTFjMTQzYjQ1MDJjMGE5ZjRkMmM2YTVjMmZmMC4uYzQyOTI3NTBlZGFhMTMwNjI5NTEzMjcxYWI1
NmM2ZTZmNTgzNjk2ZiAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL1ByaW50V2Vi
VUlEZWxlZ2F0ZS5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL1ByaW50V2ViVUlEZWxl
Z2F0ZS5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgSFJFU1VMVCBQcmludFdlYlVJRGVsZWdhdGU6OmNy
ZWF0ZVdlYlZpZXdXaXRoUmVxdWVzdChfSW5fb3B0XyBJV2ViVmlldyosIF9Jbl9vcHQKICAgICBp
ZiAoIXJlcXVlc3QpCiAgICAgICAgIHJldHVybiBFX1BPSU5URVI7CiAKLSAgICBhdXRvJiBuZXdX
aW5kb3cgPSBNYWluV2luZG93OjpjcmVhdGUoKS5sZWFrUmVmKCk7CisgICAgYXV0byYgbmV3V2lu
ZG93ID0gTWFpbldpbmRvdzo6Y3JlYXRlKE1haW5XaW5kb3c6OkJyb3dzZXJXaW5kb3dUeXBlOjpX
ZWJLaXRMZWdhY3kpLmxlYWtSZWYoKTsKICAgICBib29sIG9rID0gbmV3V2luZG93LmluaXQoaElu
c3QpOwogICAgIGlmICghb2spCiAgICAgICAgIHJldHVybiBFX0ZBSUw7CmRpZmYgLS1naXQgYS9U
b29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5jcHAgYi9Ub29scy9NaW5p
QnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTZkZDA4MmI0
YjRmMTBjMTgyZjIzNjQyMzJiNWI4YTY2YzA1NDRmYgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L01pbmlCcm93c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93LmNwcApAQCAtMCwwICsxLDI0MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBTb255IEludGVyYWN0aXZlIEVudGVydGFpbm1l
bnQgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworI2luY2x1
ZGUgInN0ZGFmeC5oIgorI2luY2x1ZGUgIldlYktpdEJyb3dzZXJXaW5kb3cuaCIKKworI2luY2x1
ZGUgIk1pbmlCcm93c2VyTGliUmVzb3VyY2UuaCIKKyNpbmNsdWRlIDxXZWJLaXQvV0tJbnNwZWN0
b3IuaD4KKworc3RkOjp3c3RyaW5nCitjcmVhdGVTdHJpbmcoV0tTdHJpbmdSZWYgd2tTdHJpbmcp
Cit7CisgICAgc2l6ZV90IG1heFNpemUgPSBXS1N0cmluZ0dldE1heGltdW1VVEY4Q1N0cmluZ1Np
emUod2tTdHJpbmcpOworICAgIGNoYXIqIHV0ZjhCdWZmZXIgPSBuZXcgY2hhclttYXhTaXplXTsK
KyAgICBzaXplX3QgdXRmOExlbmd0aCA9IFdLU3RyaW5nR2V0VVRGOENTdHJpbmcod2tTdHJpbmcs
IHV0ZjhCdWZmZXIsIG1heFNpemUpOworCisgICAgaW50IHdjaGFyTGVuZ3RoID0gTXVsdGlCeXRl
VG9XaWRlQ2hhcihDUF9VVEY4LCAwLCB1dGY4QnVmZmVyLCB1dGY4TGVuZ3RoLCAwLCAwKTsKKyAg
ICB3Y2hhcl90KiB3Y2hhckJ1ZmZlciA9IG5ldyB3Y2hhcl90W3djaGFyTGVuZ3RoICsgMV07Cisg
ICAgTXVsdGlCeXRlVG9XaWRlQ2hhcihDUF9VVEY4LCAwLCB1dGY4QnVmZmVyLCB1dGY4TGVuZ3Ro
LCB3Y2hhckJ1ZmZlciwgd2NoYXJMZW5ndGgpOworICAgIHdjaGFyQnVmZmVyW3djaGFyTGVuZ3Ro
XSA9IEwnXDAnOworICAgIHN0ZDo6d3N0cmluZyBkZXN0KHdjaGFyQnVmZmVyKTsKKyAgICByZXR1
cm4gZGVzdDsKK30KKworc3RkOjp3c3RyaW5nIGNyZWF0ZVN0cmluZyhXS1VSTFJlZiB3a1VSTCkK
K3sKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gdXJsID0gYWRvcHRXSyhXS1VSTENvcHlT
dHJpbmcod2tVUkwpKTsKKyAgICByZXR1cm4gY3JlYXRlU3RyaW5nKHVybC5nZXQoKSk7Cit9CisK
K3N0ZDo6c3RyaW5nIHRvVXRmOChjb25zdCB3Y2hhcl90KiBzcmMsIHNpemVfdCBzcmNMZW5ndGgp
Cit7CisgICAgaW50IHV0ZjhMZW5ndGggPSBXaWRlQ2hhclRvTXVsdGlCeXRlKENQX1VURjgsIDAs
IHNyYywgc3JjTGVuZ3RoLCAwLCAwLCBudWxscHRyLCBudWxscHRyKTsKKyAgICBjaGFyKiB1dGY4
QnVmZmVyID0gbmV3IGNoYXJbdXRmOExlbmd0aF07CisgICAgV2lkZUNoYXJUb011bHRpQnl0ZShD
UF9VVEY4LCAwLCBzcmMsIHNyY0xlbmd0aCwKKyAgICAgICAgdXRmOEJ1ZmZlciwgdXRmOExlbmd0
aCwgbnVsbHB0ciwgbnVsbHB0cik7CisgICAgdXRmOEJ1ZmZlclt1dGY4TGVuZ3RoXSA9ICdcMCc7
CisgICAgc3RkOjpzdHJpbmcgZGVzdCh1dGY4QnVmZmVyKTsKKyAgICBkZWxldGVbXSB1dGY4QnVm
ZmVyOworICAgIHJldHVybiBkZXN0OworfQorCitXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4KK2Ny
ZWF0ZVdLU3RyaW5nKF9ic3RyX3Qgc3RyKQoreworICAgIGF1dG8gdXRmOCA9IHRvVXRmOChzdHIs
IHN0ci5sZW5ndGgoKSk7CisgICAgcmV0dXJuIGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRG
OENTdHJpbmcodXRmOC5jX3N0cigpKSk7Cit9CisKK1dLUmV0YWluUHRyPFdLVVJMUmVmPgorY3Jl
YXRlV0tVUkwoX2JzdHJfdCBzdHIpCit7CisgICAgYXV0byB1dGY4ID0gdG9VdGY4KHN0ciwgc3Ry
Lmxlbmd0aCgpKTsKKyAgICByZXR1cm4gYWRvcHRXSyhXS1VSTENyZWF0ZVdpdGhVVEY4Q1N0cmlu
Zyh1dGY4LmNfc3RyKCkpKTsKK30KKworUmVmPEJyb3dzZXJXaW5kb3c+IFdlYktpdEJyb3dzZXJX
aW5kb3c6OmNyZWF0ZShIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25kLCBib29sLCBib29sKQor
eworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYktpdEJyb3dzZXJXaW5kb3cobWFpblduZCwg
dXJsQmFyV25kKSk7Cit9CisKK1dlYktpdEJyb3dzZXJXaW5kb3c6OldlYktpdEJyb3dzZXJXaW5k
b3coSFdORCBtYWluV25kLCBIV05EIHVybEJhclduZCkKKyAgICA6IG1faE1haW5XbmQobWFpbldu
ZCkKKyAgICAsIG1fdXJsQmFyV25kKHVybEJhclduZCkKK3sKKyAgICBSRUNUIHJlY3QgPSB7IH07
CisgICAgYXV0byBjb25mID0gYWRvcHRXSyhXS1BhZ2VDb25maWd1cmF0aW9uQ3JlYXRlKCkpOwor
ICAgIGF1dG8gY29udGV4dCA9IGFkb3B0V0soV0tDb250ZXh0Q3JlYXRlKCkpOworICAgIFdLUGFn
ZUNvbmZpZ3VyYXRpb25TZXRDb250ZXh0KGNvbmYuZ2V0KCksIGNvbnRleHQuZ2V0KCkpOworCisg
ICAgbV92aWV3ID0gYWRvcHRXSyhXS1ZpZXdDcmVhdGUocmVjdCwgY29uZi5nZXQoKSwgbWFpbldu
ZCkpOworICAgIGF1dG8gcGFnZSA9IFdLVmlld0dldFBhZ2UobV92aWV3LmdldCgpKTsKKworICAg
IFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRDbGllbnQgPSB7eyAwLCB0aGlzIH19OworICAgIGxv
YWRDbGllbnQuZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUgPSBkaWRSZWNlaXZlVGl0bGVGb3JGcmFt
ZTsKKyAgICBsb2FkQ2xpZW50LmRpZENvbW1pdExvYWRGb3JGcmFtZSA9IGRpZENvbW1pdExvYWRG
b3JGcmFtZTsKKyAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2UsICZsb2FkQ2xpZW50
LmJhc2UpOworfQorCitIUkVTVUxUIFdlYktpdEJyb3dzZXJXaW5kb3c6OmluaXQoKQoreworICAg
IHJldHVybiBTX09LOworfQorCitIV05EIFdlYktpdEJyb3dzZXJXaW5kb3c6Omh3bmQoKQorewor
ICAgIHJldHVybiBXS1ZpZXdHZXRXaW5kb3cobV92aWV3LmdldCgpKTsKK30KKworSFJFU1VMVCBX
ZWJLaXRCcm93c2VyV2luZG93Ojpsb2FkVVJMKGNvbnN0IEJTVFImIHVybCkKK3sKKyAgICBhdXRv
IHBhZ2UgPSBXS1ZpZXdHZXRQYWdlKG1fdmlldy5nZXQoKSk7CisgICAgV0tQYWdlTG9hZFVSTChw
YWdlLCBjcmVhdGVXS1VSTCh1cmwpLmdldCgpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworSFJF
U1VMVCBXZWJLaXRCcm93c2VyV2luZG93Ojpsb2FkSFRNTFN0cmluZyhjb25zdCBCU1RSJiBzdHIp
Cit7CisgICAgYXV0byBwYWdlID0gV0tWaWV3R2V0UGFnZShtX3ZpZXcuZ2V0KCkpOworICAgIGF1
dG8gdXJsID0gY3JlYXRlV0tVUkwoTCJhYm91dDoiKTsKKyAgICBXS1BhZ2VMb2FkSFRNTFN0cmlu
ZyhwYWdlLCBjcmVhdGVXS1N0cmluZyhfYnN0cl90KHN0cikpLmdldCgpLCB1cmwuZ2V0KCkpOwor
ICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIFdlYktpdEJyb3dzZXJXaW5kb3c6Om5hdmlnYXRl
Rm9yd2FyZE9yQmFja3dhcmQoVUlOVCBtZW51SUQpCit7CisgICAgYXV0byBwYWdlID0gV0tWaWV3
R2V0UGFnZShtX3ZpZXcuZ2V0KCkpOworICAgIGlmIChtZW51SUQgPT0gSURNX0hJU1RPUllfRk9S
V0FSRCkKKyAgICAgICAgV0tQYWdlR29Gb3J3YXJkKHBhZ2UpOworICAgIGVsc2UKKyAgICAgICAg
V0tQYWdlR29CYWNrKHBhZ2UpOworfQorCit2b2lkIFdlYktpdEJyb3dzZXJXaW5kb3c6Om5hdmln
YXRlVG9IaXN0b3J5KFVJTlQgbWVudUlEKQoreworICAgIC8vIE5vdCBpbXBsZW1lbnRlZAorfQor
Cit2b2lkIFdlYktpdEJyb3dzZXJXaW5kb3c6OnNldFByZWZlcmVuY2UoVUlOVCBtZW51SUQsIGJv
b2wgZW5hYmxlKQoreworICAgIGF1dG8gcGFnZSA9IFdLVmlld0dldFBhZ2UobV92aWV3LmdldCgp
KTsKKyAgICBhdXRvIHBncm91cCA9IFdLUGFnZUdldFBhZ2VHcm91cChwYWdlKTsKKyAgICBhdXRv
IHByZWYgPSBXS1BhZ2VHcm91cEdldFByZWZlcmVuY2VzKHBncm91cCk7CisgICAgc3dpdGNoICht
ZW51SUQpIHsKKyAgICBjYXNlIElETV9ESVNBQkxFX0lNQUdFUzoKKyAgICAgICAgV0tQcmVmZXJl
bmNlc1NldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShwcmVmLCAhZW5hYmxlKTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBJRE1fRElTQUJMRV9KQVZBU0NSSVBUOgorICAgICAgICBXS1ByZWZl
cmVuY2VzU2V0SmF2YVNjcmlwdEVuYWJsZWQocHJlZiwgIWVuYWJsZSk7CisgICAgICAgIGJyZWFr
OworICAgIH0KK30KKwordm9pZCBXZWJLaXRCcm93c2VyV2luZG93OjpwcmludCgpCit7CisgICAg
Ly8gTm90IGltcGxlbWVudGVkCit9CisKK3ZvaWQgV2ViS2l0QnJvd3NlcldpbmRvdzo6bGF1bmNo
SW5zcGVjdG9yKCkKK3sKKyAgICBhdXRvIHBhZ2UgPSBXS1ZpZXdHZXRQYWdlKG1fdmlldy5nZXQo
KSk7CisgICAgYXV0byBpbnNwZWN0b3IgPSBXS1BhZ2VHZXRJbnNwZWN0b3IocGFnZSk7CisgICAg
V0tJbnNwZWN0b3JTaG93KGluc3BlY3Rvcik7Cit9CisKK3ZvaWQgV2ViS2l0QnJvd3NlcldpbmRv
dzo6c2V0VXNlckFnZW50KFVJTlQgbWVudUlEKQoreworICAgIC8vIFRoaXMgbWV0aG9kIHNob3Vs
ZCBiZSByZW1vdmVkLgorfQorCit2b2lkIFdlYktpdEJyb3dzZXJXaW5kb3c6OnNldFVzZXJBZ2Vu
dChfYnN0cl90JiBjdXN0b21VQVN0cmluZykKK3sKKyAgICBhdXRvIHBhZ2UgPSBXS1ZpZXdHZXRQ
YWdlKG1fdmlldy5nZXQoKSk7CisgICAgYXV0byB1YSA9IGNyZWF0ZVdLU3RyaW5nKGN1c3RvbVVB
U3RyaW5nKTsKKyAgICBXS1BhZ2VTZXRDdXN0b21Vc2VyQWdlbnQocGFnZSwgdWEuZ2V0KCkpOwor
fQorCitfYnN0cl90IFdlYktpdEJyb3dzZXJXaW5kb3c6OnVzZXJBZ2VudCgpCit7CisgICAgYXV0
byBwYWdlID0gV0tWaWV3R2V0UGFnZShtX3ZpZXcuZ2V0KCkpOworICAgIGF1dG8gdWEgPSBhZG9w
dFdLKFdLUGFnZUNvcHlVc2VyQWdlbnQocGFnZSkpOworICAgIHJldHVybiBjcmVhdGVTdHJpbmco
dWEuZ2V0KCkpLmNfc3RyKCk7Cit9CisKK3ZvaWQgV2ViS2l0QnJvd3NlcldpbmRvdzo6c2hvd0xh
eWVyVHJlZSgpCit7CisgICAgLy8gTm90IGltcGxlbWVudGVkCit9CisKK3ZvaWQgV2ViS2l0QnJv
d3NlcldpbmRvdzo6dXBkYXRlU3RhdGlzdGljcyhIV05EIGhEbGcpCit7CisgICAgLy8gTm90IGlt
cGxlbWVudGVkCit9CisKKwordm9pZCBXZWJLaXRCcm93c2VyV2luZG93OjpyZXNldFpvb20oKQor
eworICAgIGF1dG8gcGFnZSA9IFdLVmlld0dldFBhZ2UobV92aWV3LmdldCgpKTsKKyAgICBXS1Bh
Z2VTZXRQYWdlWm9vbUZhY3RvcihwYWdlLCAxKTsKK30KKwordm9pZCBXZWJLaXRCcm93c2VyV2lu
ZG93Ojp6b29tSW4oKQoreworICAgIGF1dG8gcGFnZSA9IFdLVmlld0dldFBhZ2UobV92aWV3Lmdl
dCgpKTsKKyAgICBkb3VibGUgcyA9IFdLUGFnZUdldFBhZ2Vab29tRmFjdG9yKHBhZ2UpOworICAg
IFdLUGFnZVNldFBhZ2Vab29tRmFjdG9yKHBhZ2UsIHMgKiAxLjI1KTsKK30KKwordm9pZCBXZWJL
aXRCcm93c2VyV2luZG93Ojp6b29tT3V0KCkKK3sKKyAgICBhdXRvIHBhZ2UgPSBXS1ZpZXdHZXRQ
YWdlKG1fdmlldy5nZXQoKSk7CisgICAgZG91YmxlIHMgPSBXS1BhZ2VHZXRQYWdlWm9vbUZhY3Rv
cihwYWdlKTsKKyAgICBXS1BhZ2VTZXRQYWdlWm9vbUZhY3RvcihwYWdlLCBzICogMC44KTsKK30K
Kworc3RhdGljIFdlYktpdEJyb3dzZXJXaW5kb3cmIHRvV2ViS2l0QnJvd3NlcldpbmRvdyhjb25z
dCB2b2lkICpjbGllbnRJbmZvKQoreworICAgIHJldHVybiAqY29uc3RfY2FzdDxXZWJLaXRCcm93
c2VyV2luZG93Kj4oc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0QnJvd3NlcldpbmRvdyo+KGNsaWVu
dEluZm8pKTsKK30KKwordm9pZCBXZWJLaXRCcm93c2VyV2luZG93OjpkaWRSZWNlaXZlVGl0bGVG
b3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgdGl0bGUsIFdLRnJhbWVSZWYgZnJh
bWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKK3sKKyAgICBp
ZiAoIVdLRnJhbWVJc01haW5GcmFtZShmcmFtZSkpCisgICAgICAgIHJldHVybjsKKyAgICBzdGQ6
OndzdHJpbmcgdGl0bGVTdHJpbmcgPSBjcmVhdGVTdHJpbmcodGl0bGUpICsgTCIgW1dlYktpdF0i
OworICAgIGF1dG8mIHRoaXNXaW5kb3cgPSB0b1dlYktpdEJyb3dzZXJXaW5kb3coY2xpZW50SW5m
byk7CisgICAgU2V0V2luZG93VGV4dCh0aGlzV2luZG93Lm1faE1haW5XbmQsIHRpdGxlU3RyaW5n
LmNfc3RyKCkpOworfQorCit2b2lkIFdlYktpdEJyb3dzZXJXaW5kb3c6OmRpZENvbW1pdExvYWRG
b3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmIHVzZXJE
YXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQoreworICAgIGlmICghV0tGcmFtZUlzTWFpbkZy
YW1lKGZyYW1lKSkKKyAgICAgICAgcmV0dXJuOworICAgIGF1dG8mIHRoaXNXaW5kb3cgPSB0b1dl
YktpdEJyb3dzZXJXaW5kb3coY2xpZW50SW5mbyk7CisKKyAgICBXS1JldGFpblB0cjxXS1VSTFJl
Zj4gd2t1cmwgPSBhZG9wdFdLKFdLRnJhbWVDb3B5VVJMKGZyYW1lKSk7CisgICAgc3RkOjp3c3Ry
aW5nIHVybFN0cmluZyA9IGNyZWF0ZVN0cmluZyh3a3VybC5nZXQoKSk7CisgICAgU2V0V2luZG93
VGV4dCh0aGlzV2luZG93Lm1fdXJsQmFyV25kLCB1cmxTdHJpbmcuY19zdHIoKSk7Cit9CmRpZmYg
LS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5oIGIvVG9v
bHMvTWluaUJyb3dzZXIvd2luL1dlYktpdEJyb3dzZXJXaW5kb3cuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTAy
YThhMDdkNDg3MWEyMDU5MGEwY2IwZmI0MmJjYTc3YjFiYjIxCi0tLSAvZGV2L251bGwKKysrIGIv
VG9vbHMvTWluaUJyb3dzZXIvd2luL1dlYktpdEJyb3dzZXJXaW5kb3cuaApAQCAtMCwwICsxLDY3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IFNvbnkgSW50ZXJhY3RpdmUgRW50ZXJ0YWlu
bWVudCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgIkJyb3dzZXJXaW5kb3cuaCIKKyNpbmNsdWRlIDxXZWJLaXQv
V0tSZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDxXZWJLaXQvV2ViS2l0Ml9DLmg+CisKK2NsYXNzIFdl
YktpdEJyb3dzZXJXaW5kb3cgOiBwdWJsaWMgQnJvd3NlcldpbmRvdyB7CitwdWJsaWM6CisgICAg
c3RhdGljIFJlZjxCcm93c2VyV2luZG93PiBjcmVhdGUoSFdORCBtYWluV25kLCBIV05EIHVybEJh
clduZCwgYm9vbCB1c2VMYXllcmVkV2ViVmlldyA9IGZhbHNlLCBib29sIHBhZ2VMb2FkVGVzdGlu
ZyA9IGZhbHNlKTsKKworcHJpdmF0ZToKKyAgICBXZWJLaXRCcm93c2VyV2luZG93KEhXTkQgbWFp
blduZCwgSFdORCB1cmxCYXJXbmQpOworCisgICAgSFJFU1VMVCBpbml0KCkgb3ZlcnJpZGU7Cisg
ICAgSFdORCBod25kKCkgb3ZlcnJpZGU7CisKKyAgICBIUkVTVUxUIGxvYWRIVE1MU3RyaW5nKGNv
bnN0IEJTVFImKSBvdmVycmlkZTsKKyAgICBIUkVTVUxUIGxvYWRVUkwoY29uc3QgQlNUUiYgdXJs
KSBvdmVycmlkZTsKKyAgICB2b2lkIG5hdmlnYXRlRm9yd2FyZE9yQmFja3dhcmQoVUlOVCBtZW51
SUQpIG92ZXJyaWRlOworICAgIHZvaWQgbmF2aWdhdGVUb0hpc3RvcnkoVUlOVCBtZW51SUQpIG92
ZXJyaWRlOworICAgIHZvaWQgc2V0UHJlZmVyZW5jZShVSU5UIG1lbnVJRCwgYm9vbCBlbmFibGUp
IG92ZXJyaWRlOworCisgICAgdm9pZCBwcmludCgpIG92ZXJyaWRlOworICAgIHZvaWQgbGF1bmNo
SW5zcGVjdG9yKCkgb3ZlcnJpZGU7CisKKyAgICBfYnN0cl90IHVzZXJBZ2VudCgpIG92ZXJyaWRl
OworICAgIHZvaWQgc2V0VXNlckFnZW50KFVJTlQgbWVudUlEKSBvdmVycmlkZTsKKyAgICB2b2lk
IHNldFVzZXJBZ2VudChfYnN0cl90Jikgb3ZlcnJpZGU7CisKKyAgICB2b2lkIHNob3dMYXllclRy
ZWUoKSBvdmVycmlkZTsKKyAgICB2b2lkIHVwZGF0ZVN0YXRpc3RpY3MoSFdORCBkaWFsb2cpIG92
ZXJyaWRlOworCisgICAgdm9pZCByZXNldFpvb20oKSBvdmVycmlkZTsKKyAgICB2b2lkIHpvb21J
bigpIG92ZXJyaWRlOworICAgIHZvaWQgem9vbU91dCgpIG92ZXJyaWRlOworCisgICAgc3RhdGlj
IHZvaWQgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUoV0tQYWdlUmVmLCBXS1N0cmluZ1JlZiwgV0tG
cmFtZVJlZiwgV0tUeXBlUmVmLCBjb25zdCB2b2lkICopOworICAgIHN0YXRpYyB2b2lkIGRpZENv
bW1pdExvYWRGb3JGcmFtZShXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLVHlwZVJlZiwgY29uc3Qg
dm9pZCAqKTsKKworICAgIFdLUmV0YWluUHRyPFdLVmlld1JlZj4gbV92aWV3OworICAgIEhXTkQg
bV9oTWFpblduZCB7IG51bGxwdHIgfTsKKyAgICBIV05EIG1fdXJsQmFyV25kIHsgbnVsbHB0ciB9
OworfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XaW5NYWluLmNwcCBiL1Rv
b2xzL01pbmlCcm93c2VyL3dpbi9XaW5NYWluLmNwcAppbmRleCAxYmMwOWMzNTY0NWI5NGNiOGY4
ODk0NzQ1YTc4OTY5NzlmYzkxODE4Li5jOTZhNjc3Yzc0ZjEyNGMzMDBkYWJhZjVlZWQ1MjFmOTM0
ZWQ2MGFmIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2luTWFpbi5jcHAKKysr
IGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL1dpbk1haW4uY3BwCkBAIC02NSw3ICs2NSw3IEBAIGlu
dCBXSU5BUEkgd1dpbk1haW4oX0luXyBISU5TVEFOQ0UgaEluc3RhbmNlLCBfSW5fb3B0XyBISU5T
VEFOQ0UgaFByZXZJbnN0YW5jZSwKIAogICAgIDo6U2V0UHJvY2Vzc0RQSUF3YXJlKCk7CiAKLSAg
ICBhdXRvJiBtYWluV2luZG93ID0gTWFpbldpbmRvdzo6Y3JlYXRlKCkubGVha1JlZigpOworICAg
IGF1dG8mIG1haW5XaW5kb3cgPSBNYWluV2luZG93OjpjcmVhdGUoTWFpbldpbmRvdzo6QnJvd3Nl
cldpbmRvd1R5cGU6OldlYktpdExlZ2FjeSkubGVha1JlZigpOwogICAgIEhSRVNVTFQgaHIgPSBt
YWluV2luZG93LmluaXQoaEluc3QsIHVzZXNMYXllcmVkV2ViVmlldywgcGFnZUxvYWRUZXN0aW5n
KTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgZ290byBleGl0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>