<?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>121706</bug_id>
          
          <creation_ts>2013-09-20 12:52:18 -0700</creation_ts>
          <short_desc>Remove unused code in WebKit/mac&apos;s WebScriptDebugDelegate</short_desc>
          <delta_ts>2013-09-22 00:34:24 -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>WebKit Misc.</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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>931534</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-09-20 12:52:18 -0700</bug_when>
    <thetext>This WebKit/mac WebScriptDebugger code is no longer needed.  Patch to delete it coming soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931852</commentid>
    <comment_count>1</comment_count>
      <attachid>212291</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-09-21 18:43:27 -0700</bug_when>
    <thetext>Created attachment 212291
The patch.

 WebScriptDebugDelegate&apos;s didEnterCallFrame, willExecuteStatement, and willLeaveCallFrame are not in use. Removed them and all methods and fields used for supporting them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931871</commentid>
    <comment_count>2</comment_count>
      <attachid>212291</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2013-09-21 22:45:44 -0700</bug_when>
    <thetext>Comment on attachment 212291
The patch.

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

&gt; Source/WebKit/mac/WebView/WebScriptDebugger.mm:129
&gt; +    RetainPtr&lt;WebScriptCallFrame&gt; callFrame;
&gt; +    callFrame = adoptNS([[WebScriptCallFrame alloc] _initWithGlobalObject:core(webFrame)-&gt;script().windowScriptObject() debuggerCallFrame:debuggerCallFrame]);

One line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931886</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-09-22 00:34:24 -0700</bug_when>
    <thetext>Thanks for the review.  The one liner has been fixed.  Landed in r156245: &lt;http://trac.webkit.org/r156245&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212291</attachid>
            <date>2013-09-21 18:43:27 -0700</date>
            <delta_ts>2013-09-21 22:45:43 -0700</delta_ts>
            <desc>The patch.</desc>
            <filename>bug-121706.patch</filename>
            <type>text/plain</type>
            <size>21351</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NjIzOCkKKysrIFNvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA5LTIx
ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW51c2Vk
IGNvZGUgaW4gV2ViS2l0L21hYydzIFdlYlNjcmlwdERlYnVnRGVsZWdhdGUuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE3MDYuCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViU2NyaXB0RGVidWdEZWxl
Z2F0ZSdzIGRpZEVudGVyQ2FsbEZyYW1lLCB3aWxsRXhlY3V0ZVN0YXRlbWVudCwKKyAgICAgICAg
YW5kIHdpbGxMZWF2ZUNhbGxGcmFtZSBhcmUgbm90IGluIHVzZS4gUmVtb3ZlZCB0aGVtIGFuZCBh
bGwgbWV0aG9kcworICAgICAgICBhbmQgZmllbGRzIHVzZWQgZm9yIHN1cHBvcnRpbmcgdGhlbS4K
KworICAgICAgICAqIFdlYlZpZXcvV2ViRGVsZWdhdGVJbXBsZW1lbnRhdGlvbkNhY2hpbmcuaDoK
KyAgICAgICAgKiBXZWJWaWV3L1dlYlNjcmlwdERlYnVnRGVsZWdhdGUuaDoKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlNjcmlwdERlYnVnRGVsZWdhdGUubW06CisgICAgICAgICgtW1dlYlNjcmlwdENh
bGxGcmFtZVByaXZhdGUgZGVhbGxvY10pOgorICAgICAgICAoLVtXZWJTY3JpcHRDYWxsRnJhbWUg
X2luaXRXaXRoR2xvYmFsT2JqZWN0OmRlYnVnZ2VyQ2FsbEZyYW1lOl0pOgorICAgICAgICAqIFdl
YlZpZXcvV2ViU2NyaXB0RGVidWdnZXIuaDoKKyAgICAgICAgKFdlYlNjcmlwdERlYnVnZ2VyOjpn
bG9iYWxPYmplY3QpOgorICAgICAgICAoV2ViU2NyaXB0RGVidWdnZXI6OmNhbGxFdmVudCk6Cisg
ICAgICAgIChXZWJTY3JpcHREZWJ1Z2dlcjo6YXRTdGF0ZW1lbnQpOgorICAgICAgICAoV2ViU2Ny
aXB0RGVidWdnZXI6OnJldHVybkV2ZW50KToKKyAgICAgICAgKFdlYlNjcmlwdERlYnVnZ2VyOjp3
aWxsRXhlY3V0ZVByb2dyYW0pOgorICAgICAgICAoV2ViU2NyaXB0RGVidWdnZXI6OmRpZEV4ZWN1
dGVQcm9ncmFtKToKKyAgICAgICAgKFdlYlNjcmlwdERlYnVnZ2VyOjpkaWRSZWFjaEJyZWFrcG9p
bnQpOgorICAgICAgICAqIFdlYlZpZXcvV2ViU2NyaXB0RGVidWdnZXIubW06CisgICAgICAgIChX
ZWJTY3JpcHREZWJ1Z2dlcjo6V2ViU2NyaXB0RGVidWdnZXIpOgorICAgICAgICAoV2ViU2NyaXB0
RGVidWdnZXI6OmV4Y2VwdGlvbik6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAg
ICAgICAoLVtXZWJWaWV3IF9jYWNoZVNjcmlwdERlYnVnRGVsZWdhdGVJbXBsZW1lbnRhdGlvbnNd
KToKKwogMjAxMy0wOS0xOCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlZlB0ckhhc2hNYXAgc2hvdWxkIHdvcmsgd2l0aCBtb3ZlIG9ubHkgdHlwZXMK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRGVsZWdhdGVJbXBsZW1lbnRhdGlv
bkNhY2hpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkRl
bGVnYXRlSW1wbGVtZW50YXRpb25DYWNoaW5nLmgJKHJldmlzaW9uIDE1NjIzNSkKKysrIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRGVsZWdhdGVJbXBsZW1lbnRhdGlvbkNhY2hpbmcuaAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUs
IDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
IC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTkxLDkgKzkxLDYgQEAg
c3RydWN0IFdlYlNjcmlwdERlYnVnRGVsZWdhdGVJbXBsZW1lbnRhdAogICAgIEJPT0wgZXhjZXB0
aW9uV2FzUmFpc2VkRXhwZWN0c0hhc0hhbmRsZXJGbGFnOwogICAgIElNUCBkaWRQYXJzZVNvdXJj
ZUZ1bmM7CiAgICAgSU1QIGZhaWxlZFRvUGFyc2VTb3VyY2VGdW5jOwotICAgIElNUCBkaWRFbnRl
ckNhbGxGcmFtZUZ1bmM7Ci0gICAgSU1QIHdpbGxFeGVjdXRlU3RhdGVtZW50RnVuYzsKLSAgICBJ
TVAgd2lsbExlYXZlQ2FsbEZyYW1lRnVuYzsKICAgICBJTVAgZXhjZXB0aW9uV2FzUmFpc2VkRnVu
YzsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViU2NyaXB0RGVidWdE
ZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViU2Ny
aXB0RGVidWdEZWxlZ2F0ZS5oCShyZXZpc2lvbiAxNTYyMzUpCisrKyBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlNjcmlwdERlYnVnRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUgQXBwbGUgQ29tcHV0ZXIsIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxMyBBcHBsZSBD
b21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtNjksMjQgKzY5LDYgQEAgQGludGVyZmFjZSBOU09iamVjdCAoV2ViU2Ny
aXB0RGVidWdEZWxlZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9yCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZvcldlYkZyYW1lOihXZWJGcmFtZSAqKXdlYkZyYW1lOwogCi0v
LyBqdXN0IGVudGVyZWQgYSBzdGFjayBmcmFtZSAoaS5lLiBjYWxsZWQgYSBmdW5jdGlvbiwgb3Ig
c3RhcnRlZCBnbG9iYWwgc2NvcGUpCi0tICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3
ICAgIGRpZEVudGVyQ2FsbEZyYW1lOihXZWJTY3JpcHRDYWxsRnJhbWUgKilmcmFtZQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VJZDooV2ViU291
cmNlSWQpc2lkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaW5lOihpbnQpbGluZW5vCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZvcldlYkZyYW1lOihXZWJGcmFtZSAqKXdlYkZyYW1lOwotCi0vLyBhYm91dCB0
byBleGVjdXRlIHNvbWUgY29kZQotLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopd2ViVmlldyB3
aWxsRXhlY3V0ZVN0YXRlbWVudDooV2ViU2NyaXB0Q2FsbEZyYW1lICopZnJhbWUKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlSWQ6KFdlYlNvdXJj
ZUlkKXNpZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbGluZTooaW50KWxpbmVubwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmb3JXZWJGcmFtZTooV2ViRnJhbWUgKil3ZWJGcmFtZTsKLQotLy8gYWJvdXQgdG8g
bGVhdmUgYSBzdGFjayBmcmFtZSAoaS5lLiByZXR1cm4gZnJvbSBhIGZ1bmN0aW9uKQotLSAodm9p
ZCl3ZWJWaWV3OihXZWJWaWV3ICopd2ViVmlldyAgIHdpbGxMZWF2ZUNhbGxGcmFtZTooV2ViU2Ny
aXB0Q2FsbEZyYW1lICopZnJhbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc291cmNlSWQ6KFdlYlNvdXJjZUlkKXNpZAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTooaW50KWxpbmVubwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JXZWJGcmFtZTooV2ViRnJh
bWUgKil3ZWJGcmFtZTsKLQogLy8gZXhjZXB0aW9uIGlzIGJlaW5nIHRocm93bgogLSAodm9pZCl3
ZWJWaWV3OihXZWJWaWV3ICopd2ViVmlldyAgIGV4Y2VwdGlvbldhc1JhaXNlZDooV2ViU2NyaXB0
Q2FsbEZyYW1lICopZnJhbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhhc0hhbmRsZXI6KEJPT0wpaGFzSGFuZGxlcgpAQCAtMTIxLDE5ICsxMDMsMTAgQEAg
QGludGVyZmFjZSBXZWJTY3JpcHRDYWxsRnJhbWUgOiBOU09iamVjdAogLy8gcmV0cmlldmUgdXNl
ciBpbmZvCiAtIChpZCl1c2VySW5mbzsKIAotLy8gZ2V0IG5leHQgZnJhbWUgb24gY2FsbCBzdGFj
ayAob3IgbmlsIGlmIHRoaXMgaXMgYWxyZWFkeSB0aGUgImdsb2JhbCIgZnJhbWUpCi0tIChXZWJT
Y3JpcHRDYWxsRnJhbWUgKiljYWxsZXI7Ci0KLS8vIGdldCBhcnJheSBvZiBXZWJTY3JpcHRPYmpl
Y3RzIGZvciBlYWNoIHNjb3BlIChpbm5lcm1vc3QgZmlyc3QsIGxhc3QgaXMgYWx3YXlzIGdsb2Jh
bCBvYmplY3QpCi0tIChOU0FycmF5ICopc2NvcGVDaGFpbjsKLQogLy8gZ2V0IG5hbWUgb2YgZnVu
Y3Rpb24gKGlmIGF2YWlsYWJsZSkgb3IgbmlsCiAtIChOU1N0cmluZyAqKWZ1bmN0aW9uTmFtZTsK
IAogLy8gZ2V0IHBlbmRpbmcgZXhjZXB0aW9uIChpZiBhbnkpIG9yIG5pbAogLSAoaWQpZXhjZXB0
aW9uOwogCi0vLyBldmFsdWF0ZSBhIHNjcmlwdCAoYXMgaWYgYnkgImV2YWwiKSBpbiB0aGUgY29u
dGV4dCBvZiB0aGlzIGZyYW1lCi0tIChpZClldmFsdWF0ZVdlYlNjcmlwdDooTlNTdHJpbmcgKilz
Y3JpcHQ7Ci0KIEBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViU2NyaXB0
RGVidWdEZWxlZ2F0ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlNjcmlwdERlYnVnRGVsZWdhdGUubW0JKHJldmlzaW9uIDE1NjIzNSkKKysrIFNvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5tbQkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUgQXBwbGUgQ29tcHV0
ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAx
MyBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjIsMTYgKzYyLDEzIEBAIC0gKGlkKV9jb252ZXJ0VmFs
dWVUb09iamNWYWx1ZTooSlNDOjpKU1YKIEBpbnRlcmZhY2UgV2ViU2NyaXB0Q2FsbEZyYW1lUHJp
dmF0ZSA6IE5TT2JqZWN0IHsKIEBwdWJsaWMKICAgICBXZWJTY3JpcHRPYmplY3QgICAgICAgICpn
bG9iYWxPYmplY3Q7ICAgLy8gdGhlIGdsb2JhbCBvYmplY3QncyBwcm94eSAobm90IHJldGFpbmVk
KQotICAgIFdlYlNjcmlwdENhbGxGcmFtZSAgICAgKmNhbGxlcjsgICAgICAgICAvLyBwcmV2aW91
cyBzdGFjayBmcmFtZQogICAgIERlYnVnZ2VyQ2FsbEZyYW1lKiBkZWJ1Z2dlckNhbGxGcmFtZTsK
LSAgICBXZWJTY3JpcHREZWJ1Z2dlciogZGVidWdnZXI7CiB9CiBAZW5kCiAKIEBpbXBsZW1lbnRh
dGlvbiBXZWJTY3JpcHRDYWxsRnJhbWVQcml2YXRlCiAtICh2b2lkKWRlYWxsb2MKIHsKLSAgICBb
Y2FsbGVyIHJlbGVhc2VdOwogICAgIGRlbGV0ZSBkZWJ1Z2dlckNhbGxGcmFtZTsKICAgICBbc3Vw
ZXIgZGVhbGxvY107CiB9CkBAIC04OCwzMSArODUsMTYgQEAgLy8gb3duIGV4cG9ydGVkIGludGVy
ZmFjZS4gIFRoaXMgY2xhc3MgaQogCiBAaW1wbGVtZW50YXRpb24gV2ViU2NyaXB0Q2FsbEZyYW1l
IChXZWJTY3JpcHREZWJ1Z0RlbGVnYXRlSW50ZXJuYWwpCiAKLS0gKFdlYlNjcmlwdENhbGxGcmFt
ZSAqKV9pbml0V2l0aEdsb2JhbE9iamVjdDooV2ViU2NyaXB0T2JqZWN0ICopZ2xvYmFsT2JqIGRl
YnVnZ2VyOihXZWJTY3JpcHREZWJ1Z2dlciAqKWRlYnVnZ2VyIGNhbGxlcjooV2ViU2NyaXB0Q2Fs
bEZyYW1lICopY2FsbGVyIGRlYnVnZ2VyQ2FsbEZyYW1lOihjb25zdCBEZWJ1Z2dlckNhbGxGcmFt
ZSYpZGVidWdnZXJDYWxsRnJhbWUKKy0gKFdlYlNjcmlwdENhbGxGcmFtZSAqKV9pbml0V2l0aEds
b2JhbE9iamVjdDooV2ViU2NyaXB0T2JqZWN0ICopZ2xvYmFsT2JqIGRlYnVnZ2VyQ2FsbEZyYW1l
Oihjb25zdCBEZWJ1Z2dlckNhbGxGcmFtZSYpZGVidWdnZXJDYWxsRnJhbWUKIHsKICAgICBpZiAo
KHNlbGYgPSBbc3VwZXIgaW5pdF0pKSB7CiAgICAgICAgIF9wcml2YXRlID0gW1tXZWJTY3JpcHRD
YWxsRnJhbWVQcml2YXRlIGFsbG9jXSBpbml0XTsKICAgICAgICAgX3ByaXZhdGUtPmdsb2JhbE9i
amVjdCA9IGdsb2JhbE9iajsKLSAgICAgICAgX3ByaXZhdGUtPmNhbGxlciA9IFtjYWxsZXIgcmV0
YWluXTsKLSAgICAgICAgX3ByaXZhdGUtPmRlYnVnZ2VyID0gZGVidWdnZXI7CisgICAgICAgIF9w
cml2YXRlLT5kZWJ1Z2dlckNhbGxGcmFtZSA9IG5ldyBEZWJ1Z2dlckNhbGxGcmFtZShkZWJ1Z2dl
ckNhbGxGcmFtZSk7CiAgICAgfQogICAgIHJldHVybiBzZWxmOwogfQogCi0tICh2b2lkKV9zZXRE
ZWJ1Z2dlckNhbGxGcmFtZTooY29uc3QgRGVidWdnZXJDYWxsRnJhbWUmKWRlYnVnZ2VyQ2FsbEZy
YW1lCi17Ci0gICAgaWYgKCFfcHJpdmF0ZS0+ZGVidWdnZXJDYWxsRnJhbWUpCi0gICAgICAgIF9w
cml2YXRlLT5kZWJ1Z2dlckNhbGxGcmFtZSA9IG5ldyBEZWJ1Z2dlckNhbGxGcmFtZShkZWJ1Z2dl
ckNhbGxGcmFtZSk7Ci0gICAgZWxzZQotICAgICAgICAqX3ByaXZhdGUtPmRlYnVnZ2VyQ2FsbEZy
YW1lID0gZGVidWdnZXJDYWxsRnJhbWU7Ci19Ci0KLS0gKHZvaWQpX2NsZWFyRGVidWdnZXJDYWxs
RnJhbWUKLXsKLSAgICBkZWxldGUgX3ByaXZhdGUtPmRlYnVnZ2VyQ2FsbEZyYW1lOwotICAgIF9w
cml2YXRlLT5kZWJ1Z2dlckNhbGxGcmFtZSA9IDA7Ci19Ci0KIC0gKGlkKV9jb252ZXJ0VmFsdWVU
b09iamNWYWx1ZTooSlNDOjpKU1ZhbHVlKXZhbHVlCiB7CiAgICAgaWYgKCF2YWx1ZSkKQEAgLTE1
OSw0MiArMTQxLDYgQEAgLSAoaWQpdXNlckluZm8KICAgICByZXR1cm4gX3VzZXJJbmZvOwogfQog
Ci0tIChXZWJTY3JpcHRDYWxsRnJhbWUgKiljYWxsZXIKLXsKLSAgICByZXR1cm4gX3ByaXZhdGUt
PmNhbGxlcjsKLX0KLQotLy8gUmV0dXJucyBhbiBhcnJheSBvZiBzY29wZSBvYmplY3RzIChtb3N0
IGxvY2FsIGZpcnN0KS4KLS8vIFRoZSBwcm9wZXJ0aWVzIG9mIGVhY2ggc2NvcGUgb2JqZWN0IGFy
ZSB0aGUgdmFyaWFibGVzIGZvciB0aGF0IHNjb3BlLgotLy8gTm90ZSB0aGF0IHRoZSBsYXN0IGVu
dHJ5IGluIHRoZSBhcnJheSB3aWxsIF9hbHdheXNfIGJlIHRoZSBnbG9iYWwgb2JqZWN0ICh3aW5k
b3dTY3JpcHRPYmplY3QpLAotLy8gd2hvc2UgcHJvcGVydGllcyBhcmUgdGhlIGdsb2JhbCB2YXJp
YWJsZXMuCi0KLS0gKE5TQXJyYXkgKilzY29wZUNoYWluCi17Ci0gICAgaWYgKCFfcHJpdmF0ZS0+
ZGVidWdnZXJDYWxsRnJhbWUpCi0gICAgICAgIHJldHVybiBbTlNBcnJheSBhcnJheV07Ci0KLQot
ICAgIEpTU2NvcGUqIHNjb3BlID0gX3ByaXZhdGUtPmRlYnVnZ2VyQ2FsbEZyYW1lLT5zY29wZSgp
OwotICAgIEpTTG9ja0hvbGRlciBsb2NrKHNjb3BlLT52bSgpKTsKLSAgICBpZiAoIXNjb3BlLT5u
ZXh0KCkpICAvLyBnbG9iYWwgZnJhbWUKLSAgICAgICAgcmV0dXJuIFtOU0FycmF5IGFycmF5V2l0
aE9iamVjdDpfcHJpdmF0ZS0+Z2xvYmFsT2JqZWN0XTsKLQotICAgIE5TTXV0YWJsZUFycmF5ICpz
Y29wZXMgPSBbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XTsKLQotICAgIFNjb3BlQ2hhaW5J
dGVyYXRvciBlbmQgPSBzY29wZS0+ZW5kKCk7Ci0gICAgZm9yIChTY29wZUNoYWluSXRlcmF0b3Ig
aXQgPSBzY29wZS0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIEpTT2JqZWN0
KiBvYmplY3QgPSBpdC5nZXQoKTsKLSAgICAgICAgaWYgKG9iamVjdC0+aXNBY3RpdmF0aW9uT2Jq
ZWN0KCkpCi0gICAgICAgICAgICBvYmplY3QgPSBEZWJ1Z2dlckFjdGl2YXRpb246OmNyZWF0ZSgq
c2NvcGUtPnZtKCksIG9iamVjdCk7Ci0gICAgICAgIFtzY29wZXMgYWRkT2JqZWN0OltzZWxmIF9j
b252ZXJ0VmFsdWVUb09iamNWYWx1ZTpvYmplY3RdXTsKLSAgICB9Ci0KLSAgICBOU0FycmF5ICpy
ZXN1bHQgPSBbTlNBcnJheSBhcnJheVdpdGhBcnJheTpzY29wZXNdOwotICAgIFtzY29wZXMgcmVs
ZWFzZV07Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogLy8gUmV0dXJucyB0aGUgbmFtZSBvZiB0
aGUgZnVuY3Rpb24gZm9yIHRoaXMgZnJhbWUsIGlmIGF2YWlsYWJsZS4KIC8vIFJldHVybnMgbmls
IGZvciBhbm9ueW1vdXMgZnVuY3Rpb25zIGFuZCBmb3IgdGhlIGdsb2JhbCBmcmFtZS4KIApAQCAt
MjE4LDQxICsxNjQsNCBAQCAtIChpZClleGNlcHRpb24KICAgICByZXR1cm4gZXhjZXB0aW9uID8g
W3NlbGYgX2NvbnZlcnRWYWx1ZVRvT2JqY1ZhbHVlOmV4Y2VwdGlvbl0gOiBuaWw7CiB9CiAKLS8v
IEV2YWx1YXRlIHNvbWUgSmF2YVNjcmlwdCBjb2RlIGluIHRoZSBjb250ZXh0IG9mIHRoaXMgZnJh
bWUuCi0vLyBUaGUgY29kZSBpcyBldmFsdWF0ZWQgYXMgaWYgYnkgImV2YWwiLCBhbmQgdGhlIHJl
c3VsdCBpcyByZXR1cm5lZC4KLS8vIElmIHRoZXJlIGlzIGFuICh1bmNhdWdodCkgZXhjZXB0aW9u
LCBpdCBpcyByZXR1cm5lZCBhcyB0aG91Z2ggX2l0XyB3ZXJlIHRoZSByZXN1bHQuCi0vLyBDYWxs
aW5nIHRoaXMgbWV0aG9kIG9uIHRoZSBnbG9iYWwgZnJhbWUgaXMgbm90IHF1aXRlIHRoZSBzYW1l
IGFzIGNhbGxpbmcgdGhlIFdlYlNjcmlwdE9iamVjdAotLy8gbWV0aG9kIG9mIHRoZSBzYW1lIG5h
bWUsIGR1ZSB0byB0aGUgdHJlYXRtZW50IG9mIGV4Y2VwdGlvbnMuCi0KLS0gKGlkKWV2YWx1YXRl
V2ViU2NyaXB0OihOU1N0cmluZyAqKXNjcmlwdAotewotICAgIGlmICghX3ByaXZhdGUtPmRlYnVn
Z2VyQ2FsbEZyYW1lKQotICAgICAgICByZXR1cm4gbmlsOwotCi0gICAgLy8gSWYgdGhpcyBpcyB0
aGUgZ2xvYmFsIGNhbGwgZnJhbWUgYW5kIHRoZXJlIGlzIG5vIGR5bmFtaWMgZ2xvYmFsIG9iamVj
dCwKLSAgICAvLyBEYXNoY29kZSBpcyBhdHRlbXB0aW5nIHRvIGV4ZWN1dGUgSlMgaW4gdGhlIGV2
YWx1YXRvciB1c2luZyBhIHN0YWxlCi0gICAgLy8gV2ViU2NyaXB0Q2FsbEZyYW1lLiBJbnN0ZWFk
LCB3ZSBuZWVkIHRvIHNldCB0aGUgZHluYW1pYyBnbG9iYWwgb2JqZWN0Ci0gICAgLy8gYW5kIGV2
YWx1YXRlIHRoZSBKUyBpbiB0aGUgZ2xvYmFsIG9iamVjdCdzIGdsb2JhbCBjYWxsIGZyYW1lLgot
ICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBfcHJpdmF0ZS0+ZGVidWdnZXItPmds
b2JhbE9iamVjdCgpOwotICAgIEpTTG9ja0hvbGRlciBsb2NrKGdsb2JhbE9iamVjdC0+dm0oKSk7
Ci0KLSAgICBpZiAoc2VsZiA9PSBfcHJpdmF0ZS0+ZGVidWdnZXItPmdsb2JhbENhbGxGcmFtZSgp
ICYmICFnbG9iYWxPYmplY3QtPnZtKCkuZHluYW1pY0dsb2JhbE9iamVjdCkgewotICAgICAgICBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gX3ByaXZhdGUtPmRlYnVnZ2VyLT5nbG9iYWxP
YmplY3QoKTsKLQotICAgICAgICBEeW5hbWljR2xvYmFsT2JqZWN0U2NvcGUgZ2xvYmFsT2JqZWN0
U2NvcGUoZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QpOwotCi0gICAgICAgIEpTQzo6
SlNWYWx1ZSBleGNlcHRpb247Ci0gICAgICAgIEpTQzo6SlNWYWx1ZSByZXN1bHQgPSBldmFsdWF0
ZUluR2xvYmFsQ2FsbEZyYW1lKHNjcmlwdCwgZXhjZXB0aW9uLCBnbG9iYWxPYmplY3QpOwotICAg
ICAgICBpZiAoZXhjZXB0aW9uKQotICAgICAgICAgICAgcmV0dXJuIFtzZWxmIF9jb252ZXJ0VmFs
dWVUb09iamNWYWx1ZTpleGNlcHRpb25dOwotICAgICAgICByZXR1cm4gcmVzdWx0ID8gW3NlbGYg
X2NvbnZlcnRWYWx1ZVRvT2JqY1ZhbHVlOnJlc3VsdF0gOiBuaWw7ICAgICAgICAKLSAgICB9Ci0K
LSAgICBKU0M6OkpTVmFsdWUgZXhjZXB0aW9uOwotICAgIEpTQzo6SlNWYWx1ZSByZXN1bHQgPSBf
cHJpdmF0ZS0+ZGVidWdnZXJDYWxsRnJhbWUtPmV2YWx1YXRlKHNjcmlwdCwgZXhjZXB0aW9uKTsK
LSAgICBpZiAoZXhjZXB0aW9uKQotICAgICAgICByZXR1cm4gW3NlbGYgX2NvbnZlcnRWYWx1ZVRv
T2JqY1ZhbHVlOmV4Y2VwdGlvbl07Ci0gICAgcmV0dXJuIHJlc3VsdCA/IFtzZWxmIF9jb252ZXJ0
VmFsdWVUb09iamNWYWx1ZTpyZXN1bHRdIDogbmlsOwotfQotCiBAZW5kCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlNjcmlwdERlYnVnZ2VyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z2dlci5oCShyZXZpc2lvbiAxNTYy
MzUpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlNjcmlwdERlYnVnZ2VyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDEz
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNTIsMjYgKzUyLDIxIEBAIGNsYXNzIFdlYlNjcmlwdERlYnVnZ2VyIDogcHVi
bGljIEpTQzo6RGUKIHB1YmxpYzoKICAgICBXZWJTY3JpcHREZWJ1Z2dlcihKU0M6OkpTR2xvYmFs
T2JqZWN0Kik7CiAKLSAgICB2b2lkIGluaXRHbG9iYWxDYWxsRnJhbWUoY29uc3QgSlNDOjpEZWJ1
Z2dlckNhbGxGcmFtZSYpOworICAgIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgp
IGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0LmdldCgpOyB9CiAKK3ByaXZhdGU6CiAgICAg
dmlydHVhbCB2b2lkIHNvdXJjZVBhcnNlZChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6U291cmNlUHJv
dmlkZXIqLCBpbnQgZXJyb3JMaW5lLCBjb25zdCBXVEY6OlN0cmluZyYgZXJyb3JNc2cpOwotICAg
IHZpcnR1YWwgdm9pZCBjYWxsRXZlbnQoY29uc3QgSlNDOjpEZWJ1Z2dlckNhbGxGcmFtZSYpOwot
ICAgIHZpcnR1YWwgdm9pZCBhdFN0YXRlbWVudChjb25zdCBKU0M6OkRlYnVnZ2VyQ2FsbEZyYW1l
Jik7Ci0gICAgdmlydHVhbCB2b2lkIHJldHVybkV2ZW50KGNvbnN0IEpTQzo6RGVidWdnZXJDYWxs
RnJhbWUmKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2FsbEV2ZW50KGNvbnN0IEpTQzo6RGVidWdnZXJD
YWxsRnJhbWUmKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYXRTdGF0ZW1lbnQoY29uc3QgSlNDOjpE
ZWJ1Z2dlckNhbGxGcmFtZSYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZXR1cm5FdmVudChjb25z
dCBKU0M6OkRlYnVnZ2VyQ2FsbEZyYW1lJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGV4Y2VwdGlv
bihjb25zdCBKU0M6OkRlYnVnZ2VyQ2FsbEZyYW1lJiwgYm9vbCBoYXNIYW5kbGVyKTsKLSAgICB2
aXJ0dWFsIHZvaWQgd2lsbEV4ZWN1dGVQcm9ncmFtKGNvbnN0IEpTQzo6RGVidWdnZXJDYWxsRnJh
bWUmKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkRXhlY3V0ZVByb2dyYW0oY29uc3QgSlNDOjpEZWJ1
Z2dlckNhbGxGcmFtZSYpOwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWFjaEJyZWFrcG9pbnQoY29u
c3QgSlNDOjpEZWJ1Z2dlckNhbGxGcmFtZSYpOworICAgIHZpcnR1YWwgdm9pZCB3aWxsRXhlY3V0
ZVByb2dyYW0oY29uc3QgSlNDOjpEZWJ1Z2dlckNhbGxGcmFtZSYpIHsgfQorICAgIHZpcnR1YWwg
dm9pZCBkaWRFeGVjdXRlUHJvZ3JhbShjb25zdCBKU0M6OkRlYnVnZ2VyQ2FsbEZyYW1lJikgeyB9
CisgICAgdmlydHVhbCB2b2lkIGRpZFJlYWNoQnJlYWtwb2ludChjb25zdCBKU0M6OkRlYnVnZ2Vy
Q2FsbEZyYW1lJikgeyB9CiAKLSAgICBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qo
KSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQoKTsgfQotICAgIFdlYlNjcmlwdENh
bGxGcmFtZSAqZ2xvYmFsQ2FsbEZyYW1lKCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxDYWxsRnJh
bWUuZ2V0KCk7IH0KLQotcHJpdmF0ZToKICAgICBib29sIG1fY2FsbGluZ0RlbGVnYXRlOwotICAg
IFJldGFpblB0cjxXZWJTY3JpcHRDYWxsRnJhbWU+IG1fdG9wQ2FsbEZyYW1lOwogCiAgICAgSlND
OjpTdHJvbmc8SlNDOjpKU0dsb2JhbE9iamVjdD4gbV9nbG9iYWxPYmplY3Q7Ci0gICAgUmV0YWlu
UHRyPFdlYlNjcmlwdENhbGxGcmFtZT4gbV9nbG9iYWxDYWxsRnJhbWU7CiB9OwogCiAjZW5kaWYg
Ly8gV2ViU2NyaXB0RGVidWdnZXJfaApJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJTY3JpcHREZWJ1Z2dlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlNjcmlwdERlYnVnZ2VyLm1tCShyZXZpc2lvbiAxNTYyMzUpCisrKyBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlNjcmlwdERlYnVnZ2VyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ2LDkg
KzQ2LDcgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiBAaW50ZXJmYWNlIFdlYlNjcmlwdENhbGxGcmFtZSAoV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZUlu
dGVybmFsKQotLSAoV2ViU2NyaXB0Q2FsbEZyYW1lICopX2luaXRXaXRoR2xvYmFsT2JqZWN0OihX
ZWJTY3JpcHRPYmplY3QgKilnbG9iYWxPYmogZGVidWdnZXI6KFdlYlNjcmlwdERlYnVnZ2VyICop
ZGVidWdnZXIgY2FsbGVyOihXZWJTY3JpcHRDYWxsRnJhbWUgKiljYWxsZXIgZGVidWdnZXJDYWxs
RnJhbWU6KGNvbnN0IERlYnVnZ2VyQ2FsbEZyYW1lJilkZWJ1Z2dlckNhbGxGcmFtZTsKLS0gKHZv
aWQpX3NldERlYnVnZ2VyQ2FsbEZyYW1lOihjb25zdCBEZWJ1Z2dlckNhbGxGcmFtZSYpZGVidWdn
ZXJDYWxsRnJhbWU7Ci0tICh2b2lkKV9jbGVhckRlYnVnZ2VyQ2FsbEZyYW1lOworLSAoV2ViU2Ny
aXB0Q2FsbEZyYW1lICopX2luaXRXaXRoR2xvYmFsT2JqZWN0OihXZWJTY3JpcHRPYmplY3QgKiln
bG9iYWxPYmogZGVidWdnZXJDYWxsRnJhbWU6KGNvbnN0IERlYnVnZ2VyQ2FsbEZyYW1lJilkZWJ1
Z2dlckNhbGxGcmFtZTsKIEBlbmQKIAogc3RhdGljIE5TU3RyaW5nICp0b05TU3RyaW5nKFNvdXJj
ZVByb3ZpZGVyKiBzb3VyY2VQcm92aWRlcikKQEAgLTc4LDI0ICs3Niw2IEBAIFdlYlNjcmlwdERl
YnVnZ2VyOjpXZWJTY3JpcHREZWJ1Z2dlcihKU0cKICAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2Jh
bE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0KQogewogICAgIGF0dGFjaChnbG9iYWxPYmplY3Qp
OwotICAgIGluaXRHbG9iYWxDYWxsRnJhbWUoRGVidWdnZXJDYWxsRnJhbWUoZ2xvYmFsT2JqZWN0
LT5nbG9iYWxFeGVjKCksIDAsIDApKTsKLX0KLQotdm9pZCBXZWJTY3JpcHREZWJ1Z2dlcjo6aW5p
dEdsb2JhbENhbGxGcmFtZShjb25zdCBEZWJ1Z2dlckNhbGxGcmFtZSYgZGVidWdnZXJDYWxsRnJh
bWUpCi17Ci0gICAgbV9jYWxsaW5nRGVsZWdhdGUgPSB0cnVlOwotCi0gICAgV2ViRnJhbWUgKndl
YkZyYW1lID0gdG9XZWJGcmFtZShkZWJ1Z2dlckNhbGxGcmFtZS5keW5hbWljR2xvYmFsT2JqZWN0
KCkpOwotCi0gICAgbV90b3BDYWxsRnJhbWUgPSBhZG9wdE5TKFtbV2ViU2NyaXB0Q2FsbEZyYW1l
IGFsbG9jXSBfaW5pdFdpdGhHbG9iYWxPYmplY3Q6Y29yZSh3ZWJGcmFtZSktPnNjcmlwdCgpLndp
bmRvd1NjcmlwdE9iamVjdCgpIGRlYnVnZ2VyOnRoaXMgY2FsbGVyOm1fdG9wQ2FsbEZyYW1lLmdl
dCgpIGRlYnVnZ2VyQ2FsbEZyYW1lOmRlYnVnZ2VyQ2FsbEZyYW1lXSk7Ci0gICAgbV9nbG9iYWxD
YWxsRnJhbWUgPSBtX3RvcENhbGxGcmFtZTsKLQotICAgIFdlYlZpZXcgKndlYlZpZXcgPSBbd2Vi
RnJhbWUgd2ViVmlld107Ci0gICAgV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZUltcGxlbWVudGF0aW9u
Q2FjaGUqIGltcGxlbWVudGF0aW9ucyA9IFdlYlZpZXdHZXRTY3JpcHREZWJ1Z0RlbGVnYXRlSW1w
bGVtZW50YXRpb25zKHdlYlZpZXcpOwotICAgIGlmIChpbXBsZW1lbnRhdGlvbnMtPmRpZEVudGVy
Q2FsbEZyYW1lRnVuYykKLSAgICAgICAgQ2FsbFNjcmlwdERlYnVnRGVsZWdhdGUoaW1wbGVtZW50
YXRpb25zLT5kaWRFbnRlckNhbGxGcmFtZUZ1bmMsIHdlYlZpZXcsIEBzZWxlY3Rvcih3ZWJWaWV3
OmRpZEVudGVyQ2FsbEZyYW1lOnNvdXJjZUlkOmxpbmU6Zm9yV2ViRnJhbWU6KSwgbV90b3BDYWxs
RnJhbWUuZ2V0KCksIHN0YXRpY19jYXN0PE5TSW50ZWdlcj4oMCksIC0xLCB3ZWJGcmFtZSk7Ci0K
LSAgICBtX2NhbGxpbmdEZWxlZ2F0ZSA9IGZhbHNlOwogfQogCiAvLyBjYWxsYmFja3MgLSByZWxh
eSB0byBkZWxlZ2F0ZQpAQCAtMTM2LDY2ICsxMTYsNiBAQCB2b2lkIFdlYlNjcmlwdERlYnVnZ2Vy
Ojpzb3VyY2VQYXJzZWQoRXhlCiAgICAgbV9jYWxsaW5nRGVsZWdhdGUgPSBmYWxzZTsKIH0KIAot
dm9pZCBXZWJTY3JpcHREZWJ1Z2dlcjo6Y2FsbEV2ZW50KGNvbnN0IERlYnVnZ2VyQ2FsbEZyYW1l
JiBkZWJ1Z2dlckNhbGxGcmFtZSkKLXsKLSAgICBpZiAobV9jYWxsaW5nRGVsZWdhdGUpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIG1fY2FsbGluZ0RlbGVnYXRlID0gdHJ1ZTsKLQotICAgIFdlYkZy
YW1lICp3ZWJGcmFtZSA9IHRvV2ViRnJhbWUoZGVidWdnZXJDYWxsRnJhbWUuZHluYW1pY0dsb2Jh
bE9iamVjdCgpKTsKLQotICAgIG1fdG9wQ2FsbEZyYW1lID0gYWRvcHROUyhbW1dlYlNjcmlwdENh
bGxGcmFtZSBhbGxvY10gX2luaXRXaXRoR2xvYmFsT2JqZWN0OmNvcmUod2ViRnJhbWUpLT5zY3Jp
cHQoKS53aW5kb3dTY3JpcHRPYmplY3QoKSBkZWJ1Z2dlcjp0aGlzIGNhbGxlcjptX3RvcENhbGxG
cmFtZS5nZXQoKSBkZWJ1Z2dlckNhbGxGcmFtZTpkZWJ1Z2dlckNhbGxGcmFtZV0pOwotCi0gICAg
V2ViVmlldyAqd2ViVmlldyA9IFt3ZWJGcmFtZSB3ZWJWaWV3XTsKLSAgICBXZWJTY3JpcHREZWJ1
Z0RlbGVnYXRlSW1wbGVtZW50YXRpb25DYWNoZSogaW1wbGVtZW50YXRpb25zID0gV2ViVmlld0dl
dFNjcmlwdERlYnVnRGVsZWdhdGVJbXBsZW1lbnRhdGlvbnMod2ViVmlldyk7Ci0gICAgaWYgKGlt
cGxlbWVudGF0aW9ucy0+ZGlkRW50ZXJDYWxsRnJhbWVGdW5jKQotICAgICAgICBDYWxsU2NyaXB0
RGVidWdEZWxlZ2F0ZShpbXBsZW1lbnRhdGlvbnMtPmRpZEVudGVyQ2FsbEZyYW1lRnVuYywgd2Vi
VmlldywgQHNlbGVjdG9yKHdlYlZpZXc6ZGlkRW50ZXJDYWxsRnJhbWU6c291cmNlSWQ6bGluZTpm
b3JXZWJGcmFtZTopLCBtX3RvcENhbGxGcmFtZS5nZXQoKSwgZGVidWdnZXJDYWxsRnJhbWUuc291
cmNlSWQoKSwgZGVidWdnZXJDYWxsRnJhbWUubGluZSgpLCB3ZWJGcmFtZSk7Ci0KLSAgICBtX2Nh
bGxpbmdEZWxlZ2F0ZSA9IGZhbHNlOwotfQotCi12b2lkIFdlYlNjcmlwdERlYnVnZ2VyOjphdFN0
YXRlbWVudChjb25zdCBEZWJ1Z2dlckNhbGxGcmFtZSYgZGVidWdnZXJDYWxsRnJhbWUpCi17Ci0g
ICAgaWYgKG1fY2FsbGluZ0RlbGVnYXRlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2NhbGxp
bmdEZWxlZ2F0ZSA9IHRydWU7Ci0KLSAgICBXZWJGcmFtZSAqd2ViRnJhbWUgPSB0b1dlYkZyYW1l
KGRlYnVnZ2VyQ2FsbEZyYW1lLmR5bmFtaWNHbG9iYWxPYmplY3QoKSk7Ci0gICAgV2ViVmlldyAq
d2ViVmlldyA9IFt3ZWJGcmFtZSB3ZWJWaWV3XTsKLQotICAgIFttX3RvcENhbGxGcmFtZS5nZXQo
KSBfc2V0RGVidWdnZXJDYWxsRnJhbWU6ZGVidWdnZXJDYWxsRnJhbWVdOwotCi0gICAgV2ViU2Ny
aXB0RGVidWdEZWxlZ2F0ZUltcGxlbWVudGF0aW9uQ2FjaGUqIGltcGxlbWVudGF0aW9ucyA9IFdl
YlZpZXdHZXRTY3JpcHREZWJ1Z0RlbGVnYXRlSW1wbGVtZW50YXRpb25zKHdlYlZpZXcpOwotICAg
IGlmIChpbXBsZW1lbnRhdGlvbnMtPndpbGxFeGVjdXRlU3RhdGVtZW50RnVuYykKLSAgICAgICAg
Q2FsbFNjcmlwdERlYnVnRGVsZWdhdGUoaW1wbGVtZW50YXRpb25zLT53aWxsRXhlY3V0ZVN0YXRl
bWVudEZ1bmMsIHdlYlZpZXcsIEBzZWxlY3Rvcih3ZWJWaWV3OndpbGxFeGVjdXRlU3RhdGVtZW50
OnNvdXJjZUlkOmxpbmU6Zm9yV2ViRnJhbWU6KSwgbV90b3BDYWxsRnJhbWUuZ2V0KCksIGRlYnVn
Z2VyQ2FsbEZyYW1lLnNvdXJjZUlkKCksIGRlYnVnZ2VyQ2FsbEZyYW1lLmxpbmUoKSwgd2ViRnJh
bWUpOwotCi0gICAgbV9jYWxsaW5nRGVsZWdhdGUgPSBmYWxzZTsKLX0KLQotdm9pZCBXZWJTY3Jp
cHREZWJ1Z2dlcjo6cmV0dXJuRXZlbnQoY29uc3QgRGVidWdnZXJDYWxsRnJhbWUmIGRlYnVnZ2Vy
Q2FsbEZyYW1lKQotewotICAgIGlmIChtX2NhbGxpbmdEZWxlZ2F0ZSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgbV9jYWxsaW5nRGVsZWdhdGUgPSB0cnVlOwotCi0gICAgV2ViRnJhbWUgKndlYkZy
YW1lID0gdG9XZWJGcmFtZShkZWJ1Z2dlckNhbGxGcmFtZS5keW5hbWljR2xvYmFsT2JqZWN0KCkp
OwotICAgIFdlYlZpZXcgKndlYlZpZXcgPSBbd2ViRnJhbWUgd2ViVmlld107Ci0KLSAgICBbbV90
b3BDYWxsRnJhbWUuZ2V0KCkgX3NldERlYnVnZ2VyQ2FsbEZyYW1lOmRlYnVnZ2VyQ2FsbEZyYW1l
XTsKLQotICAgIFdlYlNjcmlwdERlYnVnRGVsZWdhdGVJbXBsZW1lbnRhdGlvbkNhY2hlKiBpbXBs
ZW1lbnRhdGlvbnMgPSBXZWJWaWV3R2V0U2NyaXB0RGVidWdEZWxlZ2F0ZUltcGxlbWVudGF0aW9u
cyh3ZWJWaWV3KTsKLSAgICBpZiAoaW1wbGVtZW50YXRpb25zLT53aWxsTGVhdmVDYWxsRnJhbWVG
dW5jKQotICAgICAgICBDYWxsU2NyaXB0RGVidWdEZWxlZ2F0ZShpbXBsZW1lbnRhdGlvbnMtPndp
bGxMZWF2ZUNhbGxGcmFtZUZ1bmMsIHdlYlZpZXcsIEBzZWxlY3Rvcih3ZWJWaWV3OndpbGxMZWF2
ZUNhbGxGcmFtZTpzb3VyY2VJZDpsaW5lOmZvcldlYkZyYW1lOiksIG1fdG9wQ2FsbEZyYW1lLmdl
dCgpLCBkZWJ1Z2dlckNhbGxGcmFtZS5zb3VyY2VJZCgpLCBkZWJ1Z2dlckNhbGxGcmFtZS5saW5l
KCksIHdlYkZyYW1lKTsKLQotICAgIFttX3RvcENhbGxGcmFtZS5nZXQoKSBfY2xlYXJEZWJ1Z2dl
ckNhbGxGcmFtZV07Ci0gICAgbV90b3BDYWxsRnJhbWUgPSBbbV90b3BDYWxsRnJhbWUuZ2V0KCkg
Y2FsbGVyXTsKLQotICAgIG1fY2FsbGluZ0RlbGVnYXRlID0gZmFsc2U7Ci19Ci0KIHZvaWQgV2Vi
U2NyaXB0RGVidWdnZXI6OmV4Y2VwdGlvbihjb25zdCBEZWJ1Z2dlckNhbGxGcmFtZSYgZGVidWdn
ZXJDYWxsRnJhbWUsIGJvb2wgaGFzSGFuZGxlcikKIHsKICAgICBpZiAobV9jYWxsaW5nRGVsZWdh
dGUpCkBAIC0yMDUsMzAgKzEyNSwxNiBAQCB2b2lkIFdlYlNjcmlwdERlYnVnZ2VyOjpleGNlcHRp
b24oY29uc3QgCiAKICAgICBXZWJGcmFtZSAqd2ViRnJhbWUgPSB0b1dlYkZyYW1lKGRlYnVnZ2Vy
Q2FsbEZyYW1lLmR5bmFtaWNHbG9iYWxPYmplY3QoKSk7CiAgICAgV2ViVmlldyAqd2ViVmlldyA9
IFt3ZWJGcmFtZSB3ZWJWaWV3XTsKLSAgICBbbV90b3BDYWxsRnJhbWUuZ2V0KCkgX3NldERlYnVn
Z2VyQ2FsbEZyYW1lOmRlYnVnZ2VyQ2FsbEZyYW1lXTsKKyAgICBSZXRhaW5QdHI8V2ViU2NyaXB0
Q2FsbEZyYW1lPiBjYWxsRnJhbWU7CisgICAgY2FsbEZyYW1lID0gYWRvcHROUyhbW1dlYlNjcmlw
dENhbGxGcmFtZSBhbGxvY10gX2luaXRXaXRoR2xvYmFsT2JqZWN0OmNvcmUod2ViRnJhbWUpLT5z
Y3JpcHQoKS53aW5kb3dTY3JpcHRPYmplY3QoKSBkZWJ1Z2dlckNhbGxGcmFtZTpkZWJ1Z2dlckNh
bGxGcmFtZV0pOwogCiAgICAgV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZUltcGxlbWVudGF0aW9uQ2Fj
aGUqIGNhY2hlID0gV2ViVmlld0dldFNjcmlwdERlYnVnRGVsZWdhdGVJbXBsZW1lbnRhdGlvbnMo
d2ViVmlldyk7CiAgICAgaWYgKGNhY2hlLT5leGNlcHRpb25XYXNSYWlzZWRGdW5jKSB7CiAgICAg
ICAgIGlmIChjYWNoZS0+ZXhjZXB0aW9uV2FzUmFpc2VkRXhwZWN0c0hhc0hhbmRsZXJGbGFnKQot
ICAgICAgICAgICAgQ2FsbFNjcmlwdERlYnVnRGVsZWdhdGUoY2FjaGUtPmV4Y2VwdGlvbldhc1Jh
aXNlZEZ1bmMsIHdlYlZpZXcsIEBzZWxlY3Rvcih3ZWJWaWV3OmV4Y2VwdGlvbldhc1JhaXNlZDpo
YXNIYW5kbGVyOnNvdXJjZUlkOmxpbmU6Zm9yV2ViRnJhbWU6KSwgbV90b3BDYWxsRnJhbWUuZ2V0
KCksIGhhc0hhbmRsZXIsIGRlYnVnZ2VyQ2FsbEZyYW1lLnNvdXJjZUlkKCksIGRlYnVnZ2VyQ2Fs
bEZyYW1lLmxpbmUoKSwgd2ViRnJhbWUpOworICAgICAgICAgICAgQ2FsbFNjcmlwdERlYnVnRGVs
ZWdhdGUoY2FjaGUtPmV4Y2VwdGlvbldhc1JhaXNlZEZ1bmMsIHdlYlZpZXcsIEBzZWxlY3Rvcih3
ZWJWaWV3OmV4Y2VwdGlvbldhc1JhaXNlZDpoYXNIYW5kbGVyOnNvdXJjZUlkOmxpbmU6Zm9yV2Vi
RnJhbWU6KSwgY2FsbEZyYW1lLmdldCgpLCBoYXNIYW5kbGVyLCBkZWJ1Z2dlckNhbGxGcmFtZS5z
b3VyY2VJZCgpLCBkZWJ1Z2dlckNhbGxGcmFtZS5saW5lKCksIHdlYkZyYW1lKTsKICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgQ2FsbFNjcmlwdERlYnVnRGVsZWdhdGUoY2FjaGUtPmV4Y2VwdGlv
bldhc1JhaXNlZEZ1bmMsIHdlYlZpZXcsIEBzZWxlY3Rvcih3ZWJWaWV3OmV4Y2VwdGlvbldhc1Jh
aXNlZDpzb3VyY2VJZDpsaW5lOmZvcldlYkZyYW1lOiksIG1fdG9wQ2FsbEZyYW1lLmdldCgpLCBk
ZWJ1Z2dlckNhbGxGcmFtZS5zb3VyY2VJZCgpLCBkZWJ1Z2dlckNhbGxGcmFtZS5saW5lKCksIHdl
YkZyYW1lKTsKKyAgICAgICAgICAgIENhbGxTY3JpcHREZWJ1Z0RlbGVnYXRlKGNhY2hlLT5leGNl
cHRpb25XYXNSYWlzZWRGdW5jLCB3ZWJWaWV3LCBAc2VsZWN0b3Iod2ViVmlldzpleGNlcHRpb25X
YXNSYWlzZWQ6c291cmNlSWQ6bGluZTpmb3JXZWJGcmFtZTopLCBjYWxsRnJhbWUuZ2V0KCksIGRl
YnVnZ2VyQ2FsbEZyYW1lLnNvdXJjZUlkKCksIGRlYnVnZ2VyQ2FsbEZyYW1lLmxpbmUoKSwgd2Vi
RnJhbWUpOwogICAgIH0KIAogICAgIG1fY2FsbGluZ0RlbGVnYXRlID0gZmFsc2U7CiB9Ci0KLXZv
aWQgV2ViU2NyaXB0RGVidWdnZXI6OndpbGxFeGVjdXRlUHJvZ3JhbShjb25zdCBEZWJ1Z2dlckNh
bGxGcmFtZSYgZGVidWdnZXJDYWxsRnJhbWUpCi17Ci0gICAgY2FsbEV2ZW50KGRlYnVnZ2VyQ2Fs
bEZyYW1lKTsKLX0KLQotdm9pZCBXZWJTY3JpcHREZWJ1Z2dlcjo6ZGlkRXhlY3V0ZVByb2dyYW0o
Y29uc3QgRGVidWdnZXJDYWxsRnJhbWUmIGRlYnVnZ2VyQ2FsbEZyYW1lKQotewotICAgIHJldHVy
bkV2ZW50KGRlYnVnZ2VyQ2FsbEZyYW1lKTsKLX0KLQotdm9pZCBXZWJTY3JpcHREZWJ1Z2dlcjo6
ZGlkUmVhY2hCcmVha3BvaW50KGNvbnN0IERlYnVnZ2VyQ2FsbEZyYW1lJikKLXsKLSAgICByZXR1
cm47Ci19CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAx
NTYyMzUpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTE3MDgsOSArMTcwOCw2IEBAIC0gKHZvaWQpX2NhY2hlU2NyaXB0RGVidWdEZWxl
Z2F0ZUltcGxlbWUKICAgICB9CiAKICAgICBjYWNoZS0+ZmFpbGVkVG9QYXJzZVNvdXJjZUZ1bmMg
PSBnZXRNZXRob2QoZGVsZWdhdGUsIEBzZWxlY3Rvcih3ZWJWaWV3OmZhaWxlZFRvUGFyc2VTb3Vy
Y2U6YmFzZUxpbmVOdW1iZXI6ZnJvbVVSTDp3aXRoRXJyb3I6Zm9yV2ViRnJhbWU6KSk7Ci0gICAg
Y2FjaGUtPmRpZEVudGVyQ2FsbEZyYW1lRnVuYyA9IGdldE1ldGhvZChkZWxlZ2F0ZSwgQHNlbGVj
dG9yKHdlYlZpZXc6ZGlkRW50ZXJDYWxsRnJhbWU6c291cmNlSWQ6bGluZTpmb3JXZWJGcmFtZTop
KTsKLSAgICBjYWNoZS0+d2lsbEV4ZWN1dGVTdGF0ZW1lbnRGdW5jID0gZ2V0TWV0aG9kKGRlbGVn
YXRlLCBAc2VsZWN0b3Iod2ViVmlldzp3aWxsRXhlY3V0ZVN0YXRlbWVudDpzb3VyY2VJZDpsaW5l
OmZvcldlYkZyYW1lOikpOwotICAgIGNhY2hlLT53aWxsTGVhdmVDYWxsRnJhbWVGdW5jID0gZ2V0
TWV0aG9kKGRlbGVnYXRlLCBAc2VsZWN0b3Iod2ViVmlldzp3aWxsTGVhdmVDYWxsRnJhbWU6c291
cmNlSWQ6bGluZTpmb3JXZWJGcmFtZTopKTsKIAogICAgIGNhY2hlLT5leGNlcHRpb25XYXNSYWlz
ZWRGdW5jID0gZ2V0TWV0aG9kKGRlbGVnYXRlLCBAc2VsZWN0b3Iod2ViVmlldzpleGNlcHRpb25X
YXNSYWlzZWQ6aGFzSGFuZGxlcjpzb3VyY2VJZDpsaW5lOmZvcldlYkZyYW1lOikpOwogICAgIGlm
IChjYWNoZS0+ZXhjZXB0aW9uV2FzUmFpc2VkRnVuYykK
</data>
<flag name="review"
          id="234472"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>