<?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>107457</bug_id>
          
          <creation_ts>2013-01-21 08:22:16 -0800</creation_ts>
          <short_desc>[GTK] Implement resources API using injected bundle</short_desc>
          <delta_ts>2013-01-29 04:03:24 -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>WebKit API</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>
          
          <blocked>107456</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gustavo Noronha (kov)">gustavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>cgarcia</cc>
    
    <cc>mrobinson</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>812184</commentid>
    <comment_count>0</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-01-21 08:22:16 -0800</bug_when>
    <thetext>The ResourceLoaderClient has been removed from WebKit2 in http://trac.webkit.org/changeset/140285 and its implementation has been removed from WebKit2GTK+ in http://trac.webkit.org/changeset/140337</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812199</commentid>
    <comment_count>1</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-01-21 08:53:48 -0800</bug_when>
    <thetext>This also makes a bunch of tests that use WebResource fail:

Tests that timed out (14): /WebKit2APITests/TestWebKitWebContext, /WebKit2APITests/TestWebViewEditor, /WebKit2APITests/TestWebExtensions, /WebKit2APITests/TestInspector, /WebKit2APITests/TestWebKitSettings, /WebKit2APITests/TestBackForwardList, /WebKit2APITests/TestWebKitWebView, /WebKit2APITests/TestWebKitPolicyClient, /WebKit2APITests/TestPrinting, /WebKit2APITests/TestLoaderClient, /WebKit2APITests/TestCookieManager, /WebKit2APITests/TestSSL, /WebKit2APITests/TestContextMenu, /WebKit2APITests/TestWebKitFindController</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812710</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-01-22 00:34:42 -0800</bug_when>
    <thetext>This will take a while to reimplement, I&apos;ll try to find the time . . .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817360</commentid>
    <comment_count>3</comment_count>
      <attachid>184910</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-01-27 03:51:37 -0800</bug_when>
    <thetext>Created attachment 184910
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817361</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-27 03:54:05 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818453</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-01-28 20:54:20 -0800</bug_when>
    <thetext>FWIW, this looks good to me as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818819</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-01-29 04:03:24 -0800</bug_when>
    <thetext>Committed r141096: &lt;http://trac.webkit.org/changeset/141096&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184910</attachid>
            <date>2013-01-27 03:51:37 -0800</date>
            <delta_ts>2013-01-28 19:30:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-resources-api-injected-bundle.diff</filename>
            <type>text/plain</type>
            <size>27266</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzNjgwNDMzLi5iZDFjY2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjQg
QEAKKzIwMTMtMDEtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIEltcGxlbWVudCByZXNvdXJjZXMgQVBJIHVzaW5nIGluamVjdGVk
IGJ1bmRsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA3NDU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhlIFJlc291cmNlTG9hZGVyQ2xpZW50IHdhcyByZW1vdmVkIGZyb20gdGhlIFVJIHByb2Nlc3Mg
aW4KKyAgICAgICAgcjE0MDI4NSwgYW5kIG1vc3Qgb2YgdGhlIEdUSysgQVBJIGRlcGVuZHMgb24g
cmVzb3VyY2VzLiBUaGlzIHBhdGNoCisgICAgICAgIGltcGxlbWVudHMgdGhlIHNhbWUgQVBJIHVz
aW5nIHRoZSBSZXNvdXJjZUxvYWRlckNsaWVudCBmcm9tCisgICAgICAgIGluamVjdGVkIGJ1bmRs
ZS4gSXQgZml4ZXMgdGhlIHJlc291cmNlcyB1bml0IHRlc3RzLCBhcyB3ZWxsIGFzCisgICAgICAg
IG90aGVyIDE0IHVuaXQgdGVzdHMgdGhhdCBhcmUgdGltaW5nIG91dCBiZWNhdXNlIHRoZXkgZGVw
ZW5kIG9uCisgICAgICAgIHJlc291cmNlIEFQSS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06IEFkZCBuZXcgZmlsZXMgdG8gY29tcGlsYXRpb24uCisgICAgICAgICogU2hhcmVkL1Vz
ZXJNZXNzYWdlQ29kZXJzLmg6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZXNzYWdlRW5jb2Rlcjo6
YmFzZUVuY29kZSk6IEFkZCBzdXBwb3J0IGZvciBlbmNvZGluZworICAgICAgICBXZWJVUkxSZXNw
b25zZSBhbmQgV2ViRXJyb3Igb2JqZWN0cyBpbiB1c2VyIG1lc3NhZ2VzLgorICAgICAgICAoV2Vi
S2l0OjpVc2VyTWVzc2FnZURlY29kZXI6OmJhc2VEZWNvZGUpOiBBZGQgc3VwcG9ydCBmb3IgZGVj
b2RpbmcKKyAgICAgICAgV2ViVVJMUmVzcG9uc2UgYW5kIFdlYkVycm9yIG9iamVjdHMgZnJvbSB1
c2VyIG1lc3NhZ2VzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEluamVjdGVk
QnVuZGxlQ2xpZW50LmNwcDogQWRkZWQuCisgICAgICAgIChkaWRSZWNlaXZlV2ViVmlld01lc3Nh
Z2VGcm9tSW5qZWN0ZWRCdW5kbGUpOiBIYW5kbGUgbWVzc2FnZXMgc2VudAorICAgICAgICB0byB0
aGUgV2ViVmlldy4gRm9yIG5vdyBpdCBoYW5sZGVzIGFsbCB0aGUgc3Jlc291cmNlIGxvYWRlciBj
bGllbnQKKyAgICAgICAgbWVzc2FnZXMuCisgICAgICAgIChkaWRSZWNlaXZlTWVzc2FnZUZyb21J
bmplY3RlZEJ1bmRsZSk6IEhhbmRsZSBtZXNzYWdlcyByZWNlaXZlZAorICAgICAgICBmcm9tIGlu
amVjdGVkIGJ1bmRsZS4KKyAgICAgICAgKGF0dGFjaEluamVjdGVkQnVuZGxlQ2xpZW50VG9Db250
ZXh0KTogSW5pdGlhbGl6ZSB0aGUgaW5qZWN0ZWQKKyAgICAgICAgYnVuZGxlIGNsaWVudC4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRJbmplY3RlZEJ1bmRsZUNsaWVudC5oOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmNwcDoK
KyAgICAgICAgKF9XZWJLaXRXZWJDb250ZXh0UHJpdmF0ZSk6IEFkZCBhIEhhc2hNYXAgdG8gbWFw
IHBhZ2UgSURzIHRvCisgICAgICAgIFdlYktpdFdlYlZpZXdzLgorICAgICAgICAoY3JlYXRlRGVm
YXVsdFdlYkNvbnRleHQpOiBDYWxsCisgICAgICAgIGF0dGFjaEluamVjdGVkQnVuZGxlQ2xpZW50
VG9Db250ZXh0KCkgdG8gaW50aWFsaXplIHRoZSBpbmplY3RlZAorICAgICAgICBidW5kbGUgY2xp
ZW50LgorICAgICAgICAod2Via2l0V2ViQ29udGV4dENyZWF0ZVBhZ2VGb3JXZWJWaWV3KTogVXNl
CisgICAgICAgIHdlYmtpdFdlYlZpZXdCYXNlQ3JlYXRlV2ViUGFnZSgpIHRvIGNyZWF0ZSBhbmQg
aW5pdGlhbGl6ZSBhIG5ldworICAgICAgICBXZWJQYWdlUHJveHkgYW5kIG1hcCB0aGUgbmV3bHkg
Y3JlYXRlZCBwYWdlIHdpdGggdGhlIGdpdmVuCisgICAgICAgIFdlYktpdFdlYlZpZXcuCisgICAg
ICAgICh3ZWJraXRXZWJDb250ZXh0V2ViVmlld0Rlc3Ryb3llZCk6IENhbGxlZCB3aGVuIHRoZSBn
aXZlbgorICAgICAgICBXZWJLaXRXZWJWaWV3IGlzIGJlaW5nIGRlc3Ryb3llZCB0byByZW1vdmUg
aXQgZnJvbSB0aGUgdmlld3MgbWFwLgorICAgICAgICAod2Via2l0V2ViQ29udGV4dEdldFdlYlZp
ZXdGb3JQYWdlKTogUmV0dXJucyB0aGUgV2ViS2l0V2ViVmlldworICAgICAgICBhc3NvY2lhdGVk
IHRvIHRoZSBnaXZlbiBwYWdlIElELgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYkNvbnRleHRQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRXZWJWaWV3Q29uc3RydWN0ZWQpOiBVc2UKKyAg
ICAgICAgd2Via2l0V2ViQ29udGV4dENyZWF0ZVBhZ2VGb3JXZWJWaWV3KCkgaW5zdGVhZCBvZgor
ICAgICAgICB3ZWJraXRXZWJWaWV3QmFzZUNyZWF0ZVdlYlBhZ2UoKSBkaXJlY3RseS4KKyAgICAg
ICAgKHdlYmtpdFdlYlZpZXdEaXNwb3NlKTogQ2FsbCB3ZWJraXRXZWJDb250ZXh0V2ViVmlld0Rl
c3Ryb3llZCgpIHRvCisgICAgICAgIG5vdGlmeSB0aGUgY29udGV4dC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViUGFnZS5jcHA6CisgICAgICAg
IChkaWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJjZSk6IFNlbmQgYSBtZXNzYWdlIHRvIHRoZSBVSSBw
cm9jZXNzCisgICAgICAgIHdpdGggdGhlIGNhbGxiYWNrIHBhcmFtZXRlcnMgZW5jb2RlZC4KKyAg
ICAgICAgKHdpbGxTZW5kUmVxdWVzdEZvckZyYW1lKTogRGl0dG8uCisgICAgICAgIChkaWRSZWNl
aXZlUmVzcG9uc2VGb3JSZXNvdXJjZSk6IERpdHRvLgorICAgICAgICAoZGlkUmVjZWl2ZUNvbnRl
bnRMZW5ndGhGb3JSZXNvdXJjZSk6IERpdHRvLgorICAgICAgICAoZGlkRmluaXNoTG9hZEZvclJl
c291cmNlKTogRGl0dG8uCisgICAgICAgIChkaWRGYWlsTG9hZEZvclJlc291cmNlKTogRGl0dG8u
CisgICAgICAgICh3ZWJraXRXZWJQYWdlQ3JlYXRlKTogSW5pdGlhbGl6ZSB0aGUKKyAgICAgICAg
V0tCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LgorCiAyMDEzLTAxLTI1ICBaYW4gRG9iZXJz
ZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBGdXJ0aGVyIEdUSyBidWlsZCBm
aXhpbmcuCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggZjg4MDQwOS4uMTIyZmQ4OCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAxLTI3ICBDYXJsb3MgR2FyY2lh
IENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBJbXBsZW1lbnQg
cmVzb3VyY2VzIEFQSSB1c2luZyBpbmplY3RlZCBidW5kbGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzQ1NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9ydW4tZ3RrLXRlc3RzOgorICAg
ICAgICAoVGVzdFJ1bm5lcik6IFVua3NpcCByZXNvdXJjZXMgdW5pdCB0ZXN0cy4KKwogMjAxMy0w
MS0yNSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0MDc3NC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IDJkOGVkZjYuLjA4NGI3YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtNzAyLDYgKzcwMiw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0SGl0VGVzdFJlc3VsdC5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEhpdFRlc3RSZXN1bHQuaCBcCiAJU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0SGl0VGVzdFJlc3VsdFByaXZhdGUu
aCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0SW5qZWN0ZWRCdW5k
bGVDbGllbnQuY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRJ
bmplY3RlZEJ1bmRsZUNsaWVudC5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRKYXZhc2NyaXB0UmVzdWx0LmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0SmF2YXNjcmlwdFJlc3VsdC5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRKYXZhc2NyaXB0UmVzdWx0UHJpdmF0ZS5oIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKaW5kZXggNzYyMzYzNS4uOTI5ZmYzMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmgKQEAgLTM1LDYgKzM1
LDcgQEAKICNpbmNsdWRlICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJEYXRhLmgiCisjaW5jbHVkZSAiV2ViRXJy
b3IuaCIKICNpbmNsdWRlICJXZWJHZW9tZXRyeS5oIgogI2luY2x1ZGUgIldlYkltYWdlLmgiCiAj
aW5jbHVkZSAiV2ViTnVtYmVyLmgiCkBAIC00NCw2ICs0NSw3IEBACiAjaW5jbHVkZSAiV2ViU3Ry
aW5nLmgiCiAjaW5jbHVkZSAiV2ViVVJMLmgiCiAjaW5jbHVkZSAiV2ViVVJMUmVxdWVzdC5oIgor
I2luY2x1ZGUgIldlYlVSTFJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiV2ViVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuLmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNjMsNiArNjUsOCBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIC8vICAgLSBXZWJVSW50NjQgLT4gV2ViVUludDY0CiAvLyAgIC0gV2ViVVJM
IC0+IFdlYlVSTAogLy8gICAtIFdlYlVSTFJlcXVlc3QgLT4gV2ViVVJMUmVxdWVzdAorLy8gICAt
IFdlYlVSTFJlc3BvbnNlIC0+IFdlYlVSTFJlc3BvbnNlCisvLyAgIC0gV2ViRXJyb3IgLT4gV2Vi
RXJyb3IKIAogdGVtcGxhdGU8dHlwZW5hbWUgT3duZXI+CiBjbGFzcyBVc2VyTWVzc2FnZUVuY29k
ZXIgewpAQCAtMTc3LDYgKzE4MSwxMSBAQCBwdWJsaWM6CiAgICAgICAgICAgICBlbmNvZGVyIDw8
IHVybFJlcXVlc3RPYmplY3QtPnJlc291cmNlUmVxdWVzdCgpOwogICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBBUElPYmplY3Q6OlR5cGVVUkxSZXNwb25z
ZTogeworICAgICAgICAgICAgV2ViVVJMUmVzcG9uc2UqIHVybFJlc3BvbnNlT2JqZWN0ID0gc3Rh
dGljX2Nhc3Q8V2ViVVJMUmVzcG9uc2UqPihtX3Jvb3QpOworICAgICAgICAgICAgZW5jb2RlciA8
PCB1cmxSZXNwb25zZU9iamVjdC0+cmVzb3VyY2VSZXNwb25zZSgpOworICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBBUElPYmplY3Q6OlR5cGVVc2VyQ29u
dGVudFVSTFBhdHRlcm46IHsKICAgICAgICAgICAgIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiog
dXJsUGF0dGVybiA9IHN0YXRpY19jYXN0PFdlYlVzZXJDb250ZW50VVJMUGF0dGVybio+KG1fcm9v
dCk7CiAgICAgICAgICAgICBlbmNvZGVyIDw8IHVybFBhdHRlcm4tPnBhdHRlcm5TdHJpbmcoKTsK
QEAgLTIwOSw2ICsyMTgsMTEgQEAgcHVibGljOgogICAgICAgICAgICAgZW5jb2RlciA8PCBjZXJ0
aWZpY2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgfQorICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUVycm9yOiB7
CisgICAgICAgICAgICBXZWJFcnJvciogZXJyb3JPYmplY3QgPSBzdGF0aWNfY2FzdDxXZWJFcnJv
cio+KG1fcm9vdCk7CisgICAgICAgICAgICBlbmNvZGVyIDw8IGVycm9yT2JqZWN0LT5wbGF0Zm9y
bUVycm9yKCk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTI0MCw2ICsyNTQsOCBA
QCBwcm90ZWN0ZWQ6CiAvLyAgIC0gV2ViVUludDY0IC0+IFdlYlVJbnQ2NAogLy8gICAtIFdlYlVS
TCAtPiBXZWJVUkwKIC8vICAgLSBXZWJVUkxSZXF1ZXN0IC0+IFdlYlVSTFJlcXVlc3QKKy8vICAg
LSBXZWJVUkxSZXNwb25zZSAtPiBXZWJVUkxSZXNwb25zZQorLy8gICAtIFdlYkVycm9yIC0+IFdl
YkVycm9yCiAKIHRlbXBsYXRlPHR5cGVuYW1lIE93bmVyPgogY2xhc3MgVXNlck1lc3NhZ2VEZWNv
ZGVyIHsKQEAgLTQ1MSw2ICs0NjcsMTMgQEAgcHVibGljOgogICAgICAgICAgICAgY29kZXIubV9y
b290ID0gV2ViVVJMUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3QpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBBUElPYmplY3Q6OlR5cGVVUkxSZXNwb25zZTogewor
ICAgICAgICAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZTsKKyAgICAgICAg
ICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHJlc3BvbnNlKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJVUkxSZXNwb25zZTo6Y3Jl
YXRlKHJlc3BvbnNlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGNh
c2UgQVBJT2JqZWN0OjpUeXBlVXNlckNvbnRlbnRVUkxQYXR0ZXJuOiB7CiAgICAgICAgICAgICBT
dHJpbmcgc3RyaW5nOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoc3RyaW5nKSkK
QEAgLTQ4Nyw2ICs1MTAsMTMgQEAgcHVibGljOgogICAgICAgICAgICAgY29kZXIubV9yb290ID0g
V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUocGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBBUElPYmplY3Q6OlR5cGVF
cnJvcjogeworICAgICAgICAgICAgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciByZXNvdXJjZUVycm9y
OworICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocmVzb3VyY2VFcnJvcikpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgY29kZXIubV9yb290ID0gV2Vi
RXJyb3I6OmNyZWF0ZShyZXNvdXJjZUVycm9yKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0SW5qZWN0ZWRC
dW5kbGVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
SW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmY1MDFhNzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRJbmplY3RlZEJ1bmRsZUNsaWVudC5jcHAKQEAgLTAsMCArMSwxMjUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldlYktpdEluamVjdGVkQnVuZGxlQ2xpZW50LmgiCisKKyNpbmNsdWRlICJX
ZWJLaXRVUklSZXF1ZXN0UHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdFVSSVJlc3BvbnNlUHJp
dmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdFdlYkNvbnRleHRQcml2YXRlLmgiCisjaW5jbHVkZSAi
V2ViS2l0V2ViUmVzb3VyY2VQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0V2ViVmlld1ByaXZh
dGUuaCIKKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HT3duUHRyLmg+CisKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJLaXQ7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworc3RhdGljIHZvaWQgZGlkUmVj
ZWl2ZVdlYlZpZXdNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdlYktpdFdlYlZpZXcqIHdlYlZp
ZXcsIGNvbnN0IGNoYXIqIG1lc3NhZ2VOYW1lLCBJbW11dGFibGVEaWN0aW9uYXJ5JiBtZXNzYWdl
KQoreworICAgIGlmIChnX3N0cl9lcXVhbChtZXNzYWdlTmFtZSwgIkRpZEluaXRpYXRlTG9hZEZv
clJlc291cmNlIikpIHsKKyAgICAgICAgV2ViRnJhbWVQcm94eSogZnJhbWUgPSBzdGF0aWNfY2Fz
dDxXZWJGcmFtZVByb3h5Kj4obWVzc2FnZS5nZXQoU3RyaW5nOjpmcm9tVVRGOCgiRnJhbWUiKSkp
OworICAgICAgICBXZWJVSW50NjQqIHJlc291cmNlSWRlbnRpZmllciA9IHN0YXRpY19jYXN0PFdl
YlVJbnQ2NCo+KG1lc3NhZ2UuZ2V0KFN0cmluZzo6ZnJvbVVURjgoIklkZW50aWZpZXIiKSkpOwor
ICAgICAgICBXZWJVUkxSZXF1ZXN0KiB3ZWJSZXF1ZXN0ID0gc3RhdGljX2Nhc3Q8V2ViVVJMUmVx
dWVzdCo+KG1lc3NhZ2UuZ2V0KFN0cmluZzo6ZnJvbVVURjgoIlJlcXVlc3QiKSkpOworICAgICAg
ICBHUmVmUHRyPFdlYktpdFVSSVJlcXVlc3Q+IHJlcXVlc3QgPSBhZG9wdEdSZWYod2Via2l0VVJJ
UmVxdWVzdENyZWF0ZUZvclJlc291cmNlUmVxdWVzdCh3ZWJSZXF1ZXN0LT5yZXNvdXJjZVJlcXVl
c3QoKSkpOworCisgICAgICAgIHdlYmtpdFdlYlZpZXdSZXNvdXJjZUxvYWRTdGFydGVkKHdlYlZp
ZXcsIGZyYW1lLCByZXNvdXJjZUlkZW50aWZpZXItPnZhbHVlKCksIHJlcXVlc3QuZ2V0KCkpOwor
ICAgIH0gZWxzZSBpZiAoZ19zdHJfZXF1YWwobWVzc2FnZU5hbWUsICJEaWRTZW5kUmVxdWVzdEZv
clJlc291cmNlIikpIHsKKyAgICAgICAgV2ViVUludDY0KiByZXNvdXJjZUlkZW50aWZpZXIgPSBz
dGF0aWNfY2FzdDxXZWJVSW50NjQqPihtZXNzYWdlLmdldChTdHJpbmc6OmZyb21VVEY4KCJJZGVu
dGlmaWVyIikpKTsKKyAgICAgICAgR1JlZlB0cjxXZWJLaXRXZWJSZXNvdXJjZT4gcmVzb3VyY2Ug
PSB3ZWJraXRXZWJWaWV3R2V0TG9hZGluZ1dlYlJlc291cmNlKHdlYlZpZXcsIHJlc291cmNlSWRl
bnRpZmllci0+dmFsdWUoKSk7CisgICAgICAgIGlmICghcmVzb3VyY2UpCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgV2ViVVJMUmVxdWVzdCogd2ViUmVxdWVzdCA9IHN0YXRpY19jYXN0
PFdlYlVSTFJlcXVlc3QqPihtZXNzYWdlLmdldChTdHJpbmc6OmZyb21VVEY4KCJSZXF1ZXN0Iikp
KTsKKyAgICAgICAgR1JlZlB0cjxXZWJLaXRVUklSZXF1ZXN0PiByZXF1ZXN0ID0gYWRvcHRHUmVm
KHdlYmtpdFVSSVJlcXVlc3RDcmVhdGVGb3JSZXNvdXJjZVJlcXVlc3Qod2ViUmVxdWVzdC0+cmVz
b3VyY2VSZXF1ZXN0KCkpKTsKKyAgICAgICAgV2ViVVJMUmVzcG9uc2UqIHdlYlJlZGlyZWN0UmVz
cG9uc2UgPSBzdGF0aWNfY2FzdDxXZWJVUkxSZXNwb25zZSo+KG1lc3NhZ2UuZ2V0KFN0cmluZzo6
ZnJvbVVURjgoIlJlZGlyZWN0UmVzcG9uc2UiKSkpOworICAgICAgICBHUmVmUHRyPFdlYktpdFVS
SVJlc3BvbnNlPiByZWRpcmVjdFJlc3BvbnNlID0gd2ViUmVkaXJlY3RSZXNwb25zZSA/IGFkb3B0
R1JlZih3ZWJraXRVUklSZXNwb25zZUNyZWF0ZUZvclJlc291cmNlUmVzcG9uc2Uod2ViUmVkaXJl
Y3RSZXNwb25zZS0+cmVzb3VyY2VSZXNwb25zZSgpKSkgOiAwOworCisgICAgICAgIHdlYmtpdFdl
YlJlc291cmNlU2VudFJlcXVlc3QocmVzb3VyY2UuZ2V0KCksIHJlcXVlc3QuZ2V0KCksIHJlZGly
ZWN0UmVzcG9uc2UuZ2V0KCkpOworICAgIH0gZWxzZSBpZiAoZ19zdHJfZXF1YWwobWVzc2FnZU5h
bWUsICJEaWRSZWNlaXZlUmVzcG9uc2VGb3JSZXNvdXJjZSIpKSB7CisgICAgICAgIFdlYlVJbnQ2
NCogcmVzb3VyY2VJZGVudGlmaWVyID0gc3RhdGljX2Nhc3Q8V2ViVUludDY0Kj4obWVzc2FnZS5n
ZXQoU3RyaW5nOjpmcm9tVVRGOCgiSWRlbnRpZmllciIpKSk7CisgICAgICAgIEdSZWZQdHI8V2Vi
S2l0V2ViUmVzb3VyY2U+IHJlc291cmNlID0gd2Via2l0V2ViVmlld0dldExvYWRpbmdXZWJSZXNv
dXJjZSh3ZWJWaWV3LCByZXNvdXJjZUlkZW50aWZpZXItPnZhbHVlKCkpOworICAgICAgICBpZiAo
IXJlc291cmNlKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIFdlYlVSTFJlc3BvbnNl
KiB3ZWJSZXNwb25zZSA9IHN0YXRpY19jYXN0PFdlYlVSTFJlc3BvbnNlKj4obWVzc2FnZS5nZXQo
U3RyaW5nOjpmcm9tVVRGOCgiUmVzcG9uc2UiKSkpOworICAgICAgICBHUmVmUHRyPFdlYktpdFVS
SVJlc3BvbnNlPiByZXNwb25zZSA9IGFkb3B0R1JlZih3ZWJraXRVUklSZXNwb25zZUNyZWF0ZUZv
clJlc291cmNlUmVzcG9uc2Uod2ViUmVzcG9uc2UtPnJlc291cmNlUmVzcG9uc2UoKSkpOworCisg
ICAgICAgIHdlYmtpdFdlYlJlc291cmNlU2V0UmVzcG9uc2UocmVzb3VyY2UuZ2V0KCksIHJlc3Bv
bnNlLmdldCgpKTsKKyAgICB9IGVsc2UgaWYgKGdfc3RyX2VxdWFsKG1lc3NhZ2VOYW1lLCAiRGlk
UmVjZWl2ZUNvbnRlbnRMZW5ndGhGb3JSZXNvdXJjZSIpKSB7CisgICAgICAgIFdlYlVJbnQ2NCog
cmVzb3VyY2VJZGVudGlmaWVyID0gc3RhdGljX2Nhc3Q8V2ViVUludDY0Kj4obWVzc2FnZS5nZXQo
U3RyaW5nOjpmcm9tVVRGOCgiSWRlbnRpZmllciIpKSk7CisgICAgICAgIEdSZWZQdHI8V2ViS2l0
V2ViUmVzb3VyY2U+IHJlc291cmNlID0gd2Via2l0V2ViVmlld0dldExvYWRpbmdXZWJSZXNvdXJj
ZSh3ZWJWaWV3LCByZXNvdXJjZUlkZW50aWZpZXItPnZhbHVlKCkpOworICAgICAgICBpZiAoIXJl
c291cmNlKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIFdlYlVJbnQ2NCogY29udGVu
dExlbmd0aCA9IHN0YXRpY19jYXN0PFdlYlVJbnQ2NCo+KG1lc3NhZ2UuZ2V0KFN0cmluZzo6ZnJv
bVVURjgoIkNvbnRlbnRMZW5ndGgiKSkpOworICAgICAgICB3ZWJraXRXZWJSZXNvdXJjZU5vdGlm
eVByb2dyZXNzKHJlc291cmNlLmdldCgpLCBjb250ZW50TGVuZ3RoLT52YWx1ZSgpKTsKKyAgICB9
IGVsc2UgaWYgKGdfc3RyX2VxdWFsKG1lc3NhZ2VOYW1lLCAiRGlkRmluaXNoTG9hZEZvclJlc291
cmNlIikpIHsKKyAgICAgICAgV2ViVUludDY0KiByZXNvdXJjZUlkZW50aWZpZXIgPSBzdGF0aWNf
Y2FzdDxXZWJVSW50NjQqPihtZXNzYWdlLmdldChTdHJpbmc6OmZyb21VVEY4KCJJZGVudGlmaWVy
IikpKTsKKyAgICAgICAgR1JlZlB0cjxXZWJLaXRXZWJSZXNvdXJjZT4gcmVzb3VyY2UgPSB3ZWJr
aXRXZWJWaWV3UmVzb3VyY2VMb2FkRmluaXNoZWQod2ViVmlldywgcmVzb3VyY2VJZGVudGlmaWVy
LT52YWx1ZSgpKTsKKyAgICAgICAgaWYgKCFyZXNvdXJjZSkKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICB3ZWJraXRXZWJSZXNvdXJjZUZpbmlzaGVkKHJlc291cmNlLmdldCgpKTsKKyAg
ICB9IGVsc2UgaWYgKGdfc3RyX2VxdWFsKG1lc3NhZ2VOYW1lLCAiRGlkRmFpbExvYWRGb3JSZXNv
dXJjZSIpKSB7CisgICAgICAgIFdlYlVJbnQ2NCogcmVzb3VyY2VJZGVudGlmaWVyID0gc3RhdGlj
X2Nhc3Q8V2ViVUludDY0Kj4obWVzc2FnZS5nZXQoU3RyaW5nOjpmcm9tVVRGOCgiSWRlbnRpZmll
ciIpKSk7CisgICAgICAgIEdSZWZQdHI8V2ViS2l0V2ViUmVzb3VyY2U+IHJlc291cmNlID0gd2Vi
a2l0V2ViVmlld0dldExvYWRpbmdXZWJSZXNvdXJjZSh3ZWJWaWV3LCByZXNvdXJjZUlkZW50aWZp
ZXItPnZhbHVlKCkpOworICAgICAgICBpZiAoIXJlc291cmNlKQorICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgIFdlYkVycm9yKiB3ZWJFcnJvciA9IHN0YXRpY19jYXN0PFdlYkVycm9yKj4o
bWVzc2FnZS5nZXQoU3RyaW5nOjpmcm9tVVRGOCgiRXJyb3IiKSkpOworICAgICAgICBjb25zdCBS
ZXNvdXJjZUVycm9yJiBwbGF0Zm9ybUVycm9yID0gd2ViRXJyb3ItPnBsYXRmb3JtRXJyb3IoKTsK
KyAgICAgICAgR093blB0cjxHRXJyb3I+IHJlc291cmNlRXJyb3IoZ19lcnJvcl9uZXdfbGl0ZXJh
bChnX3F1YXJrX2Zyb21fc3RyaW5nKHBsYXRmb3JtRXJyb3IuZG9tYWluKCkudXRmOCgpLmRhdGEo
KSksCisgICAgICAgICAgICBwbGF0Zm9ybUVycm9yLmVycm9yQ29kZSgpLCBwbGF0Zm9ybUVycm9y
LmxvY2FsaXplZERlc2NyaXB0aW9uKCkudXRmOCgpLmRhdGEoKSkpOworCisgICAgICAgIHdlYmtp
dFdlYlJlc291cmNlRmFpbGVkKHJlc291cmNlLmdldCgpLCByZXNvdXJjZUVycm9yLmdldCgpKTsK
KyAgICAgICAgd2Via2l0V2ViVmlld1JlbW92ZUxvYWRpbmdXZWJSZXNvdXJjZSh3ZWJWaWV3LCBy
ZXNvdXJjZUlkZW50aWZpZXItPnZhbHVlKCkpOworICAgIH0gZWxzZQorICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKK30KKworc3RhdGljIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5q
ZWN0ZWRCdW5kbGUoV0tDb250ZXh0UmVmLCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBl
UmVmIG1lc3NhZ2VCb2R5LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIEFTU0VSVChX
S0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5R2V0VHlwZUlEKCkpOworICAg
IEltbXV0YWJsZURpY3Rpb25hcnkmIG1lc3NhZ2UgPSAqdG9JbXBsKHN0YXRpY19jYXN0PFdLRGlj
dGlvbmFyeVJlZj4obWVzc2FnZUJvZHkpKTsKKworICAgIENTdHJpbmcgbWVzc2FnZU5hbWVDU3Ry
aW5nID0gdG9JbXBsKG1lc3NhZ2VOYW1lKS0+c3RyaW5nKCkudXRmOCgpOworICAgIGNvbnN0IGNo
YXIqIG1lc3NhZ2VOYW1lVVRGOCA9IG1lc3NhZ2VOYW1lQ1N0cmluZy5kYXRhKCk7CisKKyAgICBp
ZiAoZ19zdHJfaGFzX3ByZWZpeChtZXNzYWdlTmFtZVVURjgsICJXZWJQYWdlLiIpKSB7CisgICAg
ICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IHN0YXRpY19jYXN0PFdlYlBhZ2VQcm94eSo+KG1lc3Nh
Z2UuZ2V0KFN0cmluZzo6ZnJvbVVURjgoIlBhZ2UiKSkpOworICAgICAgICBXZWJLaXRXZWJWaWV3
KiB3ZWJWaWV3ID0gd2Via2l0V2ViQ29udGV4dEdldFdlYlZpZXdGb3JQYWdlKFdFQktJVF9XRUJf
Q09OVEVYVChjbGllbnRJbmZvKSwgcGFnZSk7CisgICAgICAgIGlmICghd2ViVmlldykKKyAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICBkaWRSZWNlaXZlV2ViVmlld01lc3NhZ2VGcm9tSW5q
ZWN0ZWRCdW5kbGUod2ViVmlldywgbWVzc2FnZU5hbWVVVEY4ICsgc3RybGVuKCJXZWJQYWdlLiIp
LCBtZXNzYWdlKTsKKyAgICB9IGVsc2UKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9
CisKK3ZvaWQgYXR0YWNoSW5qZWN0ZWRCdW5kbGVDbGllbnRUb0NvbnRleHQoV2ViS2l0V2ViQ29u
dGV4dCogd2ViQ29udGV4dCkKK3sKKyAgICBXS0NvbnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudCB3
a0luamVjdGVkQnVuZGxlQ2xpZW50ID0geworICAgICAgICBrV0tDb250ZXh0SW5qZWN0ZWRCdW5k
bGVDbGllbnRDdXJyZW50VmVyc2lvbiwKKyAgICAgICAgd2ViQ29udGV4dCwgLy8gY2xpZW50SW5m
bworICAgICAgICBkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSwKKyAgICAgICAg
MCwgLy8gZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZQorICAg
ICAgICAwIC8vIGdldEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YQorICAgIH07
CisgICAgV0tDb250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQodG9BUEkod2Via2l0V2ViQ29u
dGV4dEdldENvbnRleHQod2ViQ29udGV4dCkpLCAmd2tJbmplY3RlZEJ1bmRsZUNsaWVudCk7Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRJbmpl
Y3RlZEJ1bmRsZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0SW5qZWN0ZWRCdW5kbGVDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi43ZjdjNzkxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0SW5qZWN0ZWRCdW5kbGVDbGllbnQuaApAQCAtMCwwICsxLDI3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIElnYWxpYSBTLkwuCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgV2ViS2l0SW5qZWN0
ZWRCdW5kbGVDbGllbnRfaAorI2RlZmluZSBXZWJLaXRJbmplY3RlZEJ1bmRsZUNsaWVudF9oCisK
KyNpbmNsdWRlICJXZWJLaXRXZWJDb250ZXh0LmgiCisKK3ZvaWQgYXR0YWNoSW5qZWN0ZWRCdW5k
bGVDbGllbnRUb0NvbnRleHQoV2ViS2l0V2ViQ29udGV4dCopOworCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRleHQuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAK
aW5kZXggN2NmN2U2OC4uYjk5ODUxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNp
bmNsdWRlICJXZWJLaXREb3dubG9hZFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRGYXZpY29u
RGF0YWJhc2VQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0R2VvbG9jYXRpb25Qcm92aWRlci5o
IgorI2luY2x1ZGUgIldlYktpdEluamVjdGVkQnVuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2Vi
S2l0UGx1Z2luUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKICNpbmNsdWRl
ICJXZWJLaXRSZXF1ZXN0TWFuYWdlckNsaWVudC5oIgpAQCAtMzQsNiArMzUsNyBAQAogI2luY2x1
ZGUgIldlYktpdFRleHRDaGVja2VyLmgiCiAjaW5jbHVkZSAiV2ViS2l0VVJJU2NoZW1lUmVxdWVz
dFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJDb250ZXh0UHJpdmF0ZS5oIgorI2luY2x1
ZGUgIldlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYlJlc291cmNlQ2Fj
aGVNYW5hZ2VyUHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0ljb25EYXRhYmFzZS5oPgpAQCAtMTM5LDYgKzE0MSw4IEBAIHN0cnVjdCBf
V2ViS2l0V2ViQ29udGV4dFByaXZhdGUgewogI2VuZGlmCiAgICAgQ1N0cmluZyBmYXZpY29uRGF0
YWJhc2VEaXJlY3Rvcnk7CiAgICAgV2ViS2l0VExTRXJyb3JzUG9saWN5IHRsc0Vycm9yc1BvbGlj
eTsKKworICAgIEhhc2hNYXA8dWludDY0X3QsIFdlYktpdFdlYlZpZXcqPiB3ZWJWaWV3czsKIH07
CiAKIHN0YXRpYyBndWludCBzaWduYWxzW0xBU1RfU0lHTkFMXSA9IHsgMCwgfTsKQEAgLTE5MSw2
ICsxOTUsNyBAQCBzdGF0aWMgZ3BvaW50ZXIgY3JlYXRlRGVmYXVsdFdlYkNvbnRleHQoZ3BvaW50
ZXIpCiAgICAgcHJpdi0+Y29udGV4dC0+c2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsUHJpbWFyeVdl
YkJyb3dzZXIpOwogICAgIHByaXYtPnRsc0Vycm9yc1BvbGljeSA9IFdFQktJVF9UTFNfRVJST1JT
X1BPTElDWV9JR05PUkU7CiAKKyAgICBhdHRhY2hJbmplY3RlZEJ1bmRsZUNsaWVudFRvQ29udGV4
dCh3ZWJDb250ZXh0LmdldCgpKTsKICAgICBhdHRhY2hEb3dubG9hZENsaWVudFRvQ29udGV4dCh3
ZWJDb250ZXh0LmdldCgpKTsKICAgICBhdHRhY2hSZXF1ZXN0TWFuYWdlckNsaWVudFRvQ29udGV4
dCh3ZWJDb250ZXh0LmdldCgpKTsKIApAQCAtODMxLDMgKzgzNiwyMiBAQCB2b2lkIHdlYmtpdFdl
YkNvbnRleHREaWRGaW5pc2hVUklSZXF1ZXN0KFdlYktpdFdlYkNvbnRleHQqIGNvbnRleHQsIHVp
bnQ2NF90IHJlcQogewogICAgIGNvbnRleHQtPnByaXYtPnVyaVNjaGVtZVJlcXVlc3RzLnJlbW92
ZShyZXF1ZXN0SUQpOwogfQorCit2b2lkIHdlYmtpdFdlYkNvbnRleHRDcmVhdGVQYWdlRm9yV2Vi
VmlldyhXZWJLaXRXZWJDb250ZXh0KiBjb250ZXh0LCBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQor
eworICAgIFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSA9IFdFQktJVF9XRUJfVklFV19C
QVNFKHdlYlZpZXcpOworICAgIHdlYmtpdFdlYlZpZXdCYXNlQ3JlYXRlV2ViUGFnZSh3ZWJWaWV3
QmFzZSwgY29udGV4dC0+cHJpdi0+Y29udGV4dC5nZXQoKSwgMCk7CisgICAgV2ViUGFnZVByb3h5
KiBwYWdlID0gd2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKHdlYlZpZXdCYXNlKTsKKyAgICBjb250
ZXh0LT5wcml2LT53ZWJWaWV3cy5zZXQocGFnZS0+cGFnZUlEKCksIHdlYlZpZXcpOworfQorCit2
b2lkIHdlYmtpdFdlYkNvbnRleHRXZWJWaWV3RGVzdHJveWVkKFdlYktpdFdlYkNvbnRleHQqIGNv
bnRleHQsIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgV2ViUGFnZVByb3h5KiBwYWdl
ID0gd2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcp
KTsKKyAgICBjb250ZXh0LT5wcml2LT53ZWJWaWV3cy5yZW1vdmUocGFnZS0+cGFnZUlEKCkpOwor
fQorCitXZWJLaXRXZWJWaWV3KiB3ZWJraXRXZWJDb250ZXh0R2V0V2ViVmlld0ZvclBhZ2UoV2Vi
S2l0V2ViQ29udGV4dCogY29udGV4dCwgV2ViUGFnZVByb3h5KiBwYWdlKQoreworICAgIHJldHVy
biBwYWdlID8gY29udGV4dC0+cHJpdi0+d2ViVmlld3MuZ2V0KHBhZ2UtPnBhZ2VJRCgpKSA6IDA7
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJDb250ZXh0UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViQ29udGV4dFByaXZhdGUuaAppbmRleCBmOTdlMTY3Li45Y2Q2ZjIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0UHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRl
eHRQcml2YXRlLmgKQEAgLTQyLDUgKzQyLDggQEAgV2ViS2l0OjpXZWJTb3VwUmVxdWVzdE1hbmFn
ZXJQcm94eSogd2Via2l0V2ViQ29udGV4dEdldFJlcXVlc3RNYW5hZ2VyKFdlYktpdFdlYkMKIHZv
aWQgd2Via2l0V2ViQ29udGV4dFJlY2VpdmVkVVJJUmVxdWVzdChXZWJLaXRXZWJDb250ZXh0Kiwg
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdCopOwogdm9pZCB3ZWJraXRXZWJDb250ZXh0RGlkRmFpbFRv
TG9hZFVSSVJlcXVlc3QoV2ViS2l0V2ViQ29udGV4dCosIHVpbnQ2NF90IHJlcXVlc3RJRCk7CiB2
b2lkIHdlYmtpdFdlYkNvbnRleHREaWRGaW5pc2hVUklSZXF1ZXN0KFdlYktpdFdlYkNvbnRleHQq
LCB1aW50NjRfdCByZXF1ZXN0SUQpOwordm9pZCB3ZWJraXRXZWJDb250ZXh0Q3JlYXRlUGFnZUZv
cldlYlZpZXcoV2ViS2l0V2ViQ29udGV4dCosIFdlYktpdFdlYlZpZXcqKTsKK3ZvaWQgd2Via2l0
V2ViQ29udGV4dFdlYlZpZXdEZXN0cm95ZWQoV2ViS2l0V2ViQ29udGV4dCosIFdlYktpdFdlYlZp
ZXcqKTsKK1dlYktpdFdlYlZpZXcqIHdlYmtpdFdlYkNvbnRleHRHZXRXZWJWaWV3Rm9yUGFnZShX
ZWJLaXRXZWJDb250ZXh0KiwgV2ViS2l0OjpXZWJQYWdlUHJveHkqKTsKIAogI2VuZGlmIC8vIFdl
YktpdFdlYkNvbnRleHRQcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggNmUwZGNmNC4uZTdhNzUwMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAK
QEAgLTQ1NSwxMCArNDU1LDkgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0NvbnN0cnVjdGVk
KEdPYmplY3QqIG9iamVjdCkKIAogICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBXRUJLSVRf
V0VCX1ZJRVcob2JqZWN0KTsKICAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZp
ZXctPnByaXY7Ci0gICAgV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlID0gV0VCS0lUX1dF
Ql9WSUVXX0JBU0Uod2ViVmlldyk7CisgICAgd2Via2l0V2ViQ29udGV4dENyZWF0ZVBhZ2VGb3JX
ZWJWaWV3KHByaXYtPmNvbnRleHQsIHdlYlZpZXcpOwogCi0gICAgd2Via2l0V2ViVmlld0Jhc2VD
cmVhdGVXZWJQYWdlKHdlYlZpZXdCYXNlLCB3ZWJraXRXZWJDb250ZXh0R2V0Q29udGV4dChwcml2
LT5jb250ZXh0KSwgMCk7Ci0gICAgd2Via2l0V2ViVmlld0Jhc2VTZXREb3dubG9hZFJlcXVlc3RI
YW5kbGVyKHdlYlZpZXdCYXNlLCB3ZWJraXRXZWJWaWV3SGFuZGxlRG93bmxvYWRSZXF1ZXN0KTsK
KyAgICB3ZWJraXRXZWJWaWV3QmFzZVNldERvd25sb2FkUmVxdWVzdEhhbmRsZXIoV0VCS0lUX1dF
Ql9WSUVXX0JBU0Uod2ViVmlldyksIHdlYmtpdFdlYlZpZXdIYW5kbGVEb3dubG9hZFJlcXVlc3Qp
OwogCiAgICAgYXR0YWNoTG9hZGVyQ2xpZW50VG9WaWV3KHdlYlZpZXcpOwogICAgIGF0dGFjaFVJ
Q2xpZW50VG9WaWV3KHdlYlZpZXcpOwpAQCAtNTM3LDYgKzUzNiw4IEBAIHN0YXRpYyB2b2lkIHdl
YmtpdFdlYlZpZXdEaXNwb3NlKEdPYmplY3QqIG9iamVjdCkKICAgICB3ZWJraXRXZWJWaWV3RGlz
Y29ubmVjdFNldHRpbmdzU2lnbmFsSGFuZGxlcnMod2ViVmlldyk7CiAgICAgd2Via2l0V2ViVmll
d0Rpc2Nvbm5lY3RGYXZpY29uRGF0YWJhc2VTaWduYWxIYW5kbGVycyh3ZWJWaWV3KTsKIAorICAg
IHdlYmtpdFdlYkNvbnRleHRXZWJWaWV3RGVzdHJveWVkKHdlYlZpZXctPnByaXYtPmNvbnRleHQs
IHdlYlZpZXcpOworCiAgICAgR19PQkpFQ1RfQ0xBU1Mod2Via2l0X3dlYl92aWV3X3BhcmVudF9j
bGFzcyktPmRpc3Bvc2Uob2JqZWN0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdlYlBhZ2UuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdlYlBh
Z2UuY3BwCmluZGV4IDI0MjEzYzYuLjFhY2ExN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJQYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0
V2ViUGFnZS5jcHAKQEAgLTIwLDkgKzIwLDE0IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiV2ViS2l0V2ViUGFnZS5oIgogCisjaW5jbHVkZSAiSW1tdXRhYmxlRGljdGlvbmFyeS5o
IgorI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCisjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0
LmgiCisjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJLaXRET01Eb2N1bWVudFBy
aXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2Vi
UGFnZVByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSA8V2ViQ29y
ZS9GcmFtZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwpAQCAtMzQsNiArMzksNjUgQEAg
c3RydWN0IF9XZWJLaXRXZWJQYWdlUHJpdmF0ZSB7CiAKIFdFQktJVF9ERUZJTkVfVFlQRShXZWJL
aXRXZWJQYWdlLCB3ZWJraXRfd2ViX3BhZ2UsIEdfVFlQRV9PQkpFQ1QpCiAKK3N0YXRpYyB2b2lk
IGRpZEluaXRpYXRlTG9hZEZvclJlc291cmNlKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRs
ZUZyYW1lUmVmIGZyYW1lLCB1aW50NjRfdCBpZGVudGlmaWVyLCBXS1VSTFJlcXVlc3RSZWYgcmVx
dWVzdCwgYm9vbCBwYWdlTG9hZElzUHJvdmlzaW9uYWwsIGNvbnN0IHZvaWQqKQoreworICAgIElt
bXV0YWJsZURpY3Rpb25hcnk6Ok1hcFR5cGUgbWVzc2FnZTsKKyAgICBtZXNzYWdlLnNldChTdHJp
bmc6OmZyb21VVEY4KCJQYWdlIiksIHRvSW1wbChwYWdlKSk7CisgICAgbWVzc2FnZS5zZXQoU3Ry
aW5nOjpmcm9tVVRGOCgiRnJhbWUiKSwgdG9JbXBsKGZyYW1lKSk7CisgICAgbWVzc2FnZS5zZXQo
U3RyaW5nOjpmcm9tVVRGOCgiSWRlbnRpZmllciIpLCBXZWJVSW50NjQ6OmNyZWF0ZShpZGVudGlm
aWVyKSk7CisgICAgbWVzc2FnZS5zZXQoU3RyaW5nOjpmcm9tVVRGOCgiUmVxdWVzdCIpLCB0b0lt
cGwocmVxdWVzdCkpOworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmluamVjdGVkQnVuZGxlKCkt
PnBvc3RNZXNzYWdlKFN0cmluZzo6ZnJvbVVURjgoIldlYlBhZ2UuRGlkSW5pdGlhdGVMb2FkRm9y
UmVzb3VyY2UiKSwgSW1tdXRhYmxlRGljdGlvbmFyeTo6YWRvcHQobWVzc2FnZSkuZ2V0KCkpOwor
fQorCitzdGF0aWMgV0tVUkxSZXF1ZXN0UmVmIHdpbGxTZW5kUmVxdWVzdEZvckZyYW1lKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmLCB1aW50NjRfdCBpZGVudGlmaWVyLCBX
S1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tVUkxSZXNwb25zZVJlZiByZWRpcmVjdFJlc3BvbnNl
LCBjb25zdCB2b2lkKikKK3sKKyAgICBJbW11dGFibGVEaWN0aW9uYXJ5OjpNYXBUeXBlIG1lc3Nh
Z2U7CisgICAgbWVzc2FnZS5zZXQoU3RyaW5nOjpmcm9tVVRGOCgiUGFnZSIpLCB0b0ltcGwocGFn
ZSkpOworICAgIG1lc3NhZ2Uuc2V0KFN0cmluZzo6ZnJvbVVURjgoIklkZW50aWZpZXIiKSwgV2Vi
VUludDY0OjpjcmVhdGUoaWRlbnRpZmllcikpOworICAgIG1lc3NhZ2Uuc2V0KFN0cmluZzo6ZnJv
bVVURjgoIlJlcXVlc3QiKSwgdG9JbXBsKHJlcXVlc3QpKTsKKyAgICBpZiAoIXRvSW1wbChyZWRp
cmVjdFJlc3BvbnNlKS0+cmVzb3VyY2VSZXNwb25zZSgpLmlzTnVsbCgpKQorICAgICAgICBtZXNz
YWdlLnNldChTdHJpbmc6OmZyb21VVEY4KCJSZWRpcmVjdFJlc3BvbnNlIiksIHRvSW1wbChyZWRp
cmVjdFJlc3BvbnNlKSk7CisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuaW5qZWN0ZWRCdW5kbGUo
KS0+cG9zdE1lc3NhZ2UoU3RyaW5nOjpmcm9tVVRGOCgiV2ViUGFnZS5EaWRTZW5kUmVxdWVzdEZv
clJlc291cmNlIiksIEltbXV0YWJsZURpY3Rpb25hcnk6OmFkb3B0KG1lc3NhZ2UpLmdldCgpKTsK
KworICAgIFdLUmV0YWluKHJlcXVlc3QpOworICAgIHJldHVybiByZXF1ZXN0OworfQorCitzdGF0
aWMgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VGb3JSZXNvdXJjZShXS0J1bmRsZVBhZ2VSZWYgcGFn
ZSwgV0tCdW5kbGVGcmFtZVJlZiwgdWludDY0X3QgaWRlbnRpZmllciwgV0tVUkxSZXNwb25zZVJl
ZiByZXNwb25zZSwgY29uc3Qgdm9pZCopCit7CisgICAgSW1tdXRhYmxlRGljdGlvbmFyeTo6TWFw
VHlwZSBtZXNzYWdlOworICAgIG1lc3NhZ2Uuc2V0KFN0cmluZzo6ZnJvbVVURjgoIlBhZ2UiKSwg
dG9JbXBsKHBhZ2UpKTsKKyAgICBtZXNzYWdlLnNldChTdHJpbmc6OmZyb21VVEY4KCJJZGVudGlm
aWVyIiksIFdlYlVJbnQ2NDo6Y3JlYXRlKGlkZW50aWZpZXIpKTsKKyAgICBtZXNzYWdlLnNldChT
dHJpbmc6OmZyb21VVEY4KCJSZXNwb25zZSIpLCB0b0ltcGwocmVzcG9uc2UpKTsKKyAgICBXZWJQ
cm9jZXNzOjpzaGFyZWQoKS5pbmplY3RlZEJ1bmRsZSgpLT5wb3N0TWVzc2FnZShTdHJpbmc6OmZy
b21VVEY4KCJXZWJQYWdlLkRpZFJlY2VpdmVSZXNwb25zZUZvclJlc291cmNlIiksIEltbXV0YWJs
ZURpY3Rpb25hcnk6OmFkb3B0KG1lc3NhZ2UpLmdldCgpKTsKK30KKworc3RhdGljIHZvaWQgZGlk
UmVjZWl2ZUNvbnRlbnRMZW5ndGhGb3JSZXNvdXJjZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tC
dW5kbGVGcmFtZVJlZiwgdWludDY0X3QgaWRlbnRpZmllciwgdWludDY0X3QgbGVuZ3RoLCBjb25z
dCB2b2lkKikKK3sKKyAgICBJbW11dGFibGVEaWN0aW9uYXJ5OjpNYXBUeXBlIG1lc3NhZ2U7Cisg
ICAgbWVzc2FnZS5zZXQoU3RyaW5nOjpmcm9tVVRGOCgiUGFnZSIpLCB0b0ltcGwocGFnZSkpOwor
ICAgIG1lc3NhZ2Uuc2V0KFN0cmluZzo6ZnJvbVVURjgoIklkZW50aWZpZXIiKSwgV2ViVUludDY0
OjpjcmVhdGUoaWRlbnRpZmllcikpOworICAgIG1lc3NhZ2Uuc2V0KFN0cmluZzo6ZnJvbVVURjgo
IkNvbnRlbnRMZW5ndGgiKSwgV2ViVUludDY0OjpjcmVhdGUobGVuZ3RoKSk7CisgICAgV2ViUHJv
Y2Vzczo6c2hhcmVkKCkuaW5qZWN0ZWRCdW5kbGUoKS0+cG9zdE1lc3NhZ2UoU3RyaW5nOjpmcm9t
VVRGOCgiV2ViUGFnZS5EaWRSZWNlaXZlQ29udGVudExlbmd0aEZvclJlc291cmNlIiksIEltbXV0
YWJsZURpY3Rpb25hcnk6OmFkb3B0KG1lc3NhZ2UpLmdldCgpKTsKK30KKworc3RhdGljIHZvaWQg
ZGlkRmluaXNoTG9hZEZvclJlc291cmNlKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZy
YW1lUmVmLCB1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCB2b2lkKikKK3sKKyAgICBJbW11dGFi
bGVEaWN0aW9uYXJ5OjpNYXBUeXBlIG1lc3NhZ2U7CisgICAgbWVzc2FnZS5zZXQoU3RyaW5nOjpm
cm9tVVRGOCgiUGFnZSIpLCB0b0ltcGwocGFnZSkpOworICAgIG1lc3NhZ2Uuc2V0KFN0cmluZzo6
ZnJvbVVURjgoIklkZW50aWZpZXIiKSwgV2ViVUludDY0OjpjcmVhdGUoaWRlbnRpZmllcikpOwor
ICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmluamVjdGVkQnVuZGxlKCktPnBvc3RNZXNzYWdlKFN0
cmluZzo6ZnJvbVVURjgoIldlYlBhZ2UuRGlkRmluaXNoTG9hZEZvclJlc291cmNlIiksIEltbXV0
YWJsZURpY3Rpb25hcnk6OmFkb3B0KG1lc3NhZ2UpLmdldCgpKTsKK30KKworc3RhdGljIHZvaWQg
ZGlkRmFpbExvYWRGb3JSZXNvdXJjZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFt
ZVJlZiwgdWludDY0X3QgaWRlbnRpZmllciwgV0tFcnJvclJlZiBlcnJvciwgY29uc3Qgdm9pZCop
Cit7CisgICAgSW1tdXRhYmxlRGljdGlvbmFyeTo6TWFwVHlwZSBtZXNzYWdlOworICAgIG1lc3Nh
Z2Uuc2V0KFN0cmluZzo6ZnJvbVVURjgoIlBhZ2UiKSwgdG9JbXBsKHBhZ2UpKTsKKyAgICBtZXNz
YWdlLnNldChTdHJpbmc6OmZyb21VVEY4KCJJZGVudGlmaWVyIiksIFdlYlVJbnQ2NDo6Y3JlYXRl
KGlkZW50aWZpZXIpKTsKKyAgICBtZXNzYWdlLnNldChTdHJpbmc6OmZyb21VVEY4KCJFcnJvciIp
LCB0b0ltcGwoZXJyb3IpKTsKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5pbmplY3RlZEJ1bmRs
ZSgpLT5wb3N0TWVzc2FnZShTdHJpbmc6OmZyb21VVEY4KCJXZWJQYWdlLkRpZEZhaWxMb2FkRm9y
UmVzb3VyY2UiKSwgSW1tdXRhYmxlRGljdGlvbmFyeTo6YWRvcHQobWVzc2FnZSkuZ2V0KCkpOwor
fQorCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3BhZ2VfY2xhc3NfaW5pdChXZWJLaXRXZWJQYWdl
Q2xhc3MqIGtsYXNzKQogewogfQpAQCAtNDIsNiArMTA2LDIxIEBAIFdlYktpdFdlYlBhZ2UqIHdl
YmtpdFdlYlBhZ2VDcmVhdGUoV2ViUGFnZSogd2ViUGFnZSkKIHsKICAgICBXZWJLaXRXZWJQYWdl
KiBwYWdlID0gV0VCS0lUX1dFQl9QQUdFKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9XRUJfUEFH
RSwgTlVMTCkpOwogICAgIHBhZ2UtPnByaXYtPndlYlBhZ2UgPSB3ZWJQYWdlOworCisgICAgV0tC
dW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50IHJlc291cmNlTG9hZENsaWVudCA9IHsKKyAgICAg
ICAga1dLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudEN1cnJlbnRWZXJzaW9uLAorICAgICAg
ICBwYWdlLAorICAgICAgICBkaWRJbml0aWF0ZUxvYWRGb3JSZXNvdXJjZSwKKyAgICAgICAgd2ls
bFNlbmRSZXF1ZXN0Rm9yRnJhbWUsCisgICAgICAgIGRpZFJlY2VpdmVSZXNwb25zZUZvclJlc291
cmNlLAorICAgICAgICBkaWRSZWNlaXZlQ29udGVudExlbmd0aEZvclJlc291cmNlLAorICAgICAg
ICBkaWRGaW5pc2hMb2FkRm9yUmVzb3VyY2UsCisgICAgICAgIGRpZEZhaWxMb2FkRm9yUmVzb3Vy
Y2UsCisgICAgICAgIDAsIC8vIHNob3VsZENhY2hlUmVzcG9uc2UKKyAgICAgICAgMCAvLyBzaG91
bGRVc2VDcmVkZW50aWFsU3RvcmFnZQorICAgIH07CisgICAgV0tCdW5kbGVQYWdlU2V0UmVzb3Vy
Y2VMb2FkQ2xpZW50KHRvQVBJKHdlYlBhZ2UpLCAmcmVzb3VyY2VMb2FkQ2xpZW50KTsKKwogICAg
IHJldHVybiBwYWdlOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVz
dHMgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKaW5kZXggNDZjYTk3MS4uMDhmZDhlZSAx
MDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCisrKyBiL1Rvb2xzL1Njcmlw
dHMvcnVuLWd0ay10ZXN0cwpAQCAtNjgsNyArNjgsNyBAQCBjbGFzcyBUZXN0UnVubmVyOgogICAg
ICAgICBTa2lwcGVkVGVzdCgidW5pdHRlc3RzL3Rlc3R3ZWJ2aWV3IiwgIi93ZWJraXQvd2Vidmll
dy9pY29uLXVyaSIsICJUZXN0IHRpbWVzIG91dCBpbiBHVEsgTGludXggNjQtYml0IFJlbGVhc2Ug
Ym90IiwgODIzMjgpLAogICAgICAgICBTa2lwcGVkVGVzdCgidW5pdHRlc3RzL3Rlc3RhdGsiLCAi
L3dlYmtpdC9hdGsvZ2V0VGV4dEluUGFyYWdyYXBoQW5kQm9keU1vZGVyYXRlIiwgIlRlc3QgZmFp
bHMiLCAxMDU1MzgpLAogICAgICAgICBTa2lwcGVkVGVzdCgiV2ViS2l0MkFQSVRlc3RzL1Rlc3RJ
bnNwZWN0b3JTZXJ2ZXIiLCBTa2lwcGVkVGVzdC5FTlRJUkVfU1VJVEUsICJUZXN0IHRpbWVzIG91
dCIsIDEwNTg2NiksCi0gICAgICAgIFNraXBwZWRUZXN0KCJXZWJLaXQyQVBJVGVzdHMvVGVzdFJl
c291cmNlcyIsIFNraXBwZWRUZXN0LkVOVElSRV9TVUlURSwgIk5lZWQgdG8gYmUgcmVpbXBsZW1l
bnRlZCB1c2luZyBpbmplY3RlZCBidW5kbGUiLCAxMDc0MjEpLAorICAgICAgICBTa2lwcGVkVGVz
dCgiV2ViS2l0MkFQSVRlc3RzL1Rlc3RSZXNvdXJjZXMiLCAiL3dlYmtpdDIvV2ViS2l0V2ViVmll
dy9yZXNvdXJjZXMiLCAiVGVzdCBpcyBmbGFreSBpbiBHVEsgTGludXggMzItYml0IFJlbGVhc2Ug
Ym90IiwgODI4NjgpLAogICAgICAgICBTa2lwcGVkVGVzdCgiV2ViS2l0MkFQSVRlc3RzL1Rlc3RX
ZWJLaXRBY2Nlc3NpYmlsaXR5IiwgIi93ZWJraXQyL1dlYktpdEFjY2Vzc2liaWxpdHkvYXRzcGkt
YmFzaWMtaGllcmFyY2h5IiwgIlRlc3QgZmFpbHMiLCAxMDA0MDgpLAogICAgICAgICBTa2lwcGVk
VGVzdCgiV2ViS2l0MkFQSVRlc3RzL1Rlc3RXZWJLaXRGaW5kQ29udHJvbGxlciIsICIvd2Via2l0
Mi9XZWJLaXRGaW5kQ29udHJvbGxlci9oaWRlIiwgIlRlc3QgYWx3YXlzIGZhaWxzIGluIFh2ZmIi
LCA4OTgxMCksCiAgICAgICAgIFNraXBwZWRUZXN0KCJXZWJLaXQyQVBJVGVzdHMvVGVzdFdlYktp
dFdlYkNvbnRleHQiLCAiL3dlYmtpdDIvV2ViS2l0V2ViQ29udGV4dC91cmktc2NoZW1lIiwgIlRl
c3QgZmFpbHMiLCAxMDQ3NzkpLAo=
</data>
<flag name="review"
          id="203794"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>