<?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>85450</bug_id>
          
          <creation_ts>2012-05-02 20:16:56 -0700</creation_ts>
          <short_desc>unbounded growth of JSDOMWindowShells loading pages in the same window</short_desc>
          <delta_ts>2012-05-03 03:30:40 -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>WebKit2</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Stephanie Lewis">slewis</reporter>
          <assigned_to name="Stephanie Lewis">slewis</assigned_to>
          <cc>beidson</cc>
    
    <cc>jberlin</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>614958</commentid>
    <comment_count>0</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2012-05-02 20:16:56 -0700</bug_when>
    <thetext>We have unbounded growth of JSDOMWindowShells loading pages in the same window.  This is regression from http://trac.webkit.org/changeset/115081.
The API didCreateGlobalObjectForFrame was getting a global object for every isolated world.  Even one&apos;s that didn&apos;t need to access it.  This had the side effect of creating a JSDOMWindowShell that the world may not have known to clean up.  

Solution: change the API to not create and pass around the globalObject, just to notify the client that the object is available.  That way only clients that need the object will access it.

&lt;rdar://problem/11320059&gt; REGRESSION (r115083): PLT3 shows linear memory growth and gets slower with each run</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614962</commentid>
    <comment_count>1</comment_count>
      <attachid>139942</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2012-05-02 20:37:10 -0700</bug_when>
    <thetext>Created attachment 139942
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614975</commentid>
    <comment_count>2</comment_count>
      <attachid>139942</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-05-02 21:30:02 -0700</bug_when>
    <thetext>Comment on attachment 139942
patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615136</commentid>
    <comment_count>3</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2012-05-03 03:30:40 -0700</bug_when>
    <thetext>committed http://trac.webkit.org/projects/webkit/changeset/115952</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139942</attachid>
            <date>2012-05-02 20:37:10 -0700</date>
            <delta_ts>2012-05-02 21:30:02 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-https-bugs.webkit.org-show_bug.cgi-id-85450-unbounde.patch</filename>
            <type>text/plain</type>
            <size>19397</size>
            <attacher name="Stephanie Lewis">slewis</attacher>
            
              <data encoding="base64">RnJvbSAzMDkzNDRjODQ2NDYxMzA1MWQzYzJmYmFhYjMwNTkxOGJlNWI2NzAzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVwaGFuaWUgTGV3aXMgPHNsZXdpc0BhcHBsZS5jb20+CkRh
dGU6IFdlZCwgMiBNYXkgMjAxMiAyMDozMzowMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTQ1MCB1bmJvdW5kZWQKIGdyb3d0
aCBvZiBKU0RPTVdpbmRvd1NoZWxscyBsb2FkaW5nIHBhZ2VzIGluIHRoZSBzYW1lCiB3aW5kb3cg
PHJkYXI6Ly9wcm9ibGVtLzExMzIwMDU5PiBSRUdSRVNTSU9OIChyMTE1MDgzKTogUExUMwogc2hv
d3MgbGluZWFyIG1lbW9yeSBncm93dGggYW5kIGdldHMgc2xvd2VyIHdpdGggZWFjaCBydW4KClJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKU291cmNlL1dlYktpdDI6CgpUaGUgQVBJIGFkZGVk
IGZvciBET01XaW5kb3dFeHRlbnNpb24sIGRpZENyZWF0ZUdsb2JhbE9iamVjdEZvckZyYW1lLCB3
b3VsZCBjcmVhdGUgYSBnbG9iYWwgb2JqZWN0CmZvciBldmVyeSB3b3JsZCwgZXZlbiB0aG9zZSB0
aGF0IGRpZCBub3QgbmVlZCB0aGUgY2FsbGJhY2suICBUaGlzIGhhZCB0aGUgc2lkZSBlZmZlY3Qg
b2YgY3JlYXRpbmcgYQpKU0RPTVdpbmRvd1NoZWxsIHRoYXQgdGhlIGFzc29jaWF0ZWQgd29ybGQg
ZGlkbid0IG5lY2Vzc2FyaWx5IGtub3cgdG8gY2xlYW4gdXAuICBJbnN0ZWFkIG9mIGNyZWF0aW5n
CnVubmVjZXNzYXJ5IG9iamVjdHMgY2hhbmdlIHRoZSBBUEkgdG8gZ2xvYmFsT2JqZWN0SXNBdmFp
bGFibGVGb3JGcmFtZSBhbmQgZG8gbm90IHBhc3MgdGhlIGdsb2JhbCBvYmplY3QKaW4gdGhlIEFQ
SS4gIFRoZSBvYmplY3QgY2FuIGJlIGFjY2Vzc2VkIGxhdGVyIGJ5IHRob3NlIHdvcmxkcyB3aGlj
aCByZXF1aXJlIGl0LgoKKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZS5oOgoqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9h
ZGVyQ2xpZW50LmNwcDoKKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50Ojpn
bG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lKTogcmVuYW1lIEFQSSBhbmQgcmVtb3ZlIGds
b2JhbE9iamVjdCBwYXJhbWV0ZXIKKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlUGFnZUxvYWRlckNsaWVudC5oOgooSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50
KTogZGl0dG8KKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcDoKKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoR2xvYmFsT2JqZWN0
QXZhaWxhYmxlKTogZGl0dG8KClRvb2xzOgoKVGhlIEFQSSBhZGRlZCBmb3IgRE9NV2luZG93RXh0
ZW5zaW9uLCBkaWRDcmVhdGVHbG9iYWxPYmplY3RGb3JGcmFtZSwgd291bGQgY3JlYXRlIGEgZ2xv
YmFsIG9iamVjdApmb3IgZXZlcnkgd29ybGQsIGV2ZW4gdGhvc2UgdGhhdCBkaWQgbm90IG5lZWQg
dGhlIGNhbGxiYWNrLiAgVGhpcyBoYWQgdGhlIHNpZGUgZWZmZWN0IG9mIGNyZWF0aW5nIGEKSlNE
T01XaW5kb3dTaGVsbCB0aGF0IHRoZSBhc3NvY2lhdGVkIHdvcmxkIGRpZG4ndCBuZWNlc3Nhcmls
eSBrbm93IHRvIGNsZWFuIHVwLiAgSW5zdGVhZCBvZiBjcmVhdGluZwp1bm5lY2Vzc2FyeSBvYmpl
Y3RzIGNoYW5nZSB0aGUgQVBJIHRvIGdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJhbWUgYW5k
IGRvIG5vdCBwYXNzIHRoZSBnbG9iYWwgb2JqZWN0CmluIHRoZSBBUEkuICBUaGUgb2JqZWN0IGNh
biBiZSBhY2Nlc3NlZCBsYXRlciBieSB0aG9zZSB3b3JsZHMgd2hpY2ggcmVxdWlyZSBpdC4KCiog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RPTVdpbmRvd0V4dGVuc2lvbkJhc2ljLmNwcDoK
KFRlc3RXZWJLaXRBUEkpOgooVGVzdFdlYktpdEFQSTo6ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5q
ZWN0ZWRCdW5kbGUpOgoqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9ET01XaW5kb3dFeHRl
bnNpb25CYXNpY19CdW5kbGUuY3BwOgooVGVzdFdlYktpdEFQSSk6CihET01XaW5kb3dFeHRlbnNp
b25CYXNpYyk6CihUZXN0V2ViS2l0QVBJOjpET01XaW5kb3dFeHRlbnNpb25CYXNpYzo6ZGlkQ3Jl
YXRlUGFnZSk6CihUZXN0V2ViS2l0QVBJOjpET01XaW5kb3dFeHRlbnNpb25CYXNpYzo6Z2xvYmFs
T2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZSk6CihUZXN0V2ViS2l0QVBJOjpnbG9iYWxPYmplY3RJ
c0F2YWlsYWJsZUZvckZyYW1lQ2FsbGJhY2spOgotLS0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyMSArKysrKysrKysrKysrKysrKysKIC4u
Li9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oIHwgICAgNCAr
Ky0tCiAuLi4vSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmNwcCAgICAgICAgICAgICB8
ICAgIDYgKystLS0KIC4uLi9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCAgICAgICAg
ICAgICAgIHwgICAgMiArLQogLi4uL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcCAgICAgICAgfCAgICA1ICstLS0tCiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgMjMgKysrKysrKysrKysrKysrKysrKysKIC4uLi9UZXN0
cy9XZWJLaXQyL0RPTVdpbmRvd0V4dGVuc2lvbkJhc2ljLmNwcCAgICAgIHwgICAxNCArKysrKyst
LS0tLS0KIC4uLi9XZWJLaXQyL0RPTVdpbmRvd0V4dGVuc2lvbkJhc2ljX0J1bmRsZS5jcHAgICAg
IHwgICAxNCArKysrKystLS0tLS0KIDggZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwg
MjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDAzNDk2Y2IuLmZhODdkMmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMi0wNS0wMiAgU3RlcGhhbmllIExld2lzICA8c2xld2lz
QGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODU0NTAgdW5ib3VuZGVkIGdyb3d0aCBvZiBKU0RPTVdpbmRvd1NoZWxscyBsb2FkaW5n
IHBhZ2VzIGluIHRoZSBzYW1lIHdpbmRvdworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEzMjAw
NTk+IFJFR1JFU1NJT04gKHIxMTUwODMpOiBQTFQzIHNob3dzIGxpbmVhciBtZW1vcnkgZ3Jvd3Ro
IGFuZCBnZXRzIHNsb3dlciB3aXRoIGVhY2ggcnVuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIEFQSSBhZGRlZCBmb3IgRE9NV2luZG93RXh0ZW5z
aW9uLCBkaWRDcmVhdGVHbG9iYWxPYmplY3RGb3JGcmFtZSwgd291bGQgY3JlYXRlIGEgZ2xvYmFs
IG9iamVjdAorICAgICAgICBmb3IgZXZlcnkgd29ybGQsIGV2ZW4gdGhvc2UgdGhhdCBkaWQgbm90
IG5lZWQgdGhlIGNhbGxiYWNrLiAgVGhpcyBoYWQgdGhlIHNpZGUgZWZmZWN0IG9mIGNyZWF0aW5n
IGEgCisgICAgICAgIEpTRE9NV2luZG93U2hlbGwgdGhhdCB0aGUgYXNzb2NpYXRlZCB3b3JsZCBk
aWRuJ3QgbmVjZXNzYXJpbHkga25vdyB0byBjbGVhbiB1cC4gIEluc3RlYWQgb2YgY3JlYXRpbmcg
CisgICAgICAgIHVubmVjZXNzYXJ5IG9iamVjdHMgY2hhbmdlIHRoZSBBUEkgdG8gZ2xvYmFsT2Jq
ZWN0SXNBdmFpbGFibGVGb3JGcmFtZSBhbmQgZG8gbm90IHBhc3MgdGhlIGdsb2JhbCBvYmplY3Qg
CisgICAgICAgIGluIHRoZSBBUEkuICBUaGUgb2JqZWN0IGNhbiBiZSBhY2Nlc3NlZCBsYXRlciBi
eSB0aG9zZSB3b3JsZHMgd2hpY2ggcmVxdWlyZSBpdC4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQ6Omdsb2JhbE9iamVj
dElzQXZhaWxhYmxlRm9yRnJhbWUpOiByZW5hbWUgQVBJIGFuZCByZW1vdmUgZ2xvYmFsT2JqZWN0
IHBhcmFtZXRlcgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVQYWdlTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgIChJbmplY3RlZEJ1bmRsZVBhZ2VMb2Fk
ZXJDbGllbnQpOiBkaXR0bworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNs
aWVudDo6ZGlzcGF0Y2hHbG9iYWxPYmplY3RBdmFpbGFibGUpOiBkaXR0bworCiAyMDEyLTA0LTMw
ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2gg
d2hlbiBvcGVuaW5nIHBsdWctaW5zIGluIGJhY2tncm91bmQgdGFicwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlLmgKaW5kZXggNzUyZTgwOC4uOGY3ODY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZS5oCkBAIC0xMDMsNyArMTAzLDcgQEAgdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlkQ2Fu
Y2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2UKIHR5cGVkZWYg
dm9pZCAoKldLQnVuZGxlUGFnZVdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RGb3JGcmFtZUNhbGxi
YWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tVUkxS
ZWYgdXJsLCBkb3VibGUgZGVsYXksIGRvdWJsZSBkYXRlLCBjb25zdCB2b2lkICpjbGllbnRJbmZv
KTsKIHR5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZURpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZy
YW1lQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1l
LCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVNo
b3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdl
LCBXS0J1bmRsZUJhY2tGb3J3YXJkTGlzdEl0ZW1SZWYgaXRlbSwgV0tUeXBlUmVmKiB1c2VyRGF0
YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VE
aWRDcmVhdGVHbG9iYWxPYmplY3RGb3JGcmFtZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFn
ZSwgSlNPYmplY3RSZWYgZ2xvYmFsT2JqZWN0LCBXS0J1bmRsZUZyYW1lUmVmLCBXS0J1bmRsZVNj
cmlwdFdvcmxkUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldL
QnVuZGxlUGFnZUdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJhbWVDYWxsYmFjaykoV0tCdW5k
bGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhbWVSZWYsIFdLQnVuZGxlU2NyaXB0V29ybGRSZWYs
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlV2ls
bERpc2Nvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Gcm9tR2xvYmFsT2JqZWN0Q2FsbGJhY2spKFdL
QnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvblJlZiwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VEaWRSZWNvbm5l
Y3RET01XaW5kb3dFeHRlbnNpb25Ub0dsb2JhbE9iamVjdENhbGxiYWNrKShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSwgV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb25SZWYsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlV2lsbERlc3Ryb3lHbG9iYWxPYmpl
Y3RGb3JET01XaW5kb3dFeHRlbnNpb25DYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdL
QnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKQEAg
LTEzNyw3ICsxMzcsNyBAQCBzdHJ1Y3QgV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50IHsKICAgICBX
S0J1bmRsZVBhZ2VEaWROZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICBkaWROZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQ7CiAgICAgV0tC
dW5kbGVQYWdlRGlkRGV0ZWN0WFNTRm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGlkRGV0ZWN0WFNTRm9yRnJhbWU7CiAgICAgV0tCdW5kbGVQYWdlU2hvdWxk
R29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW1DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgc2hv
dWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW07Ci0gICAgV0tCdW5kbGVQYWdlRGlkQ3JlYXRlR2xv
YmFsT2JqZWN0Rm9yRnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgZGlkQ3JlYXRl
R2xvYmFsT2JqZWN0Rm9yRnJhbWU7CisgICAgV0tCdW5kbGVQYWdlR2xvYmFsT2JqZWN0SXNBdmFp
bGFibGVGb3JGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsT2JqZWN0SXNB
dmFpbGFibGVGb3JGcmFtZTsKICAgICBXS0J1bmRsZVBhZ2VXaWxsRGlzY29ubmVjdERPTVdpbmRv
d0V4dGVuc2lvbkZyb21HbG9iYWxPYmplY3RDYWxsYmFjayAgICB3aWxsRGlzY29ubmVjdERPTVdp
bmRvd0V4dGVuc2lvbkZyb21HbG9iYWxPYmplY3Q7CiAgICAgV0tCdW5kbGVQYWdlRGlkUmVjb25u
ZWN0RE9NV2luZG93RXh0ZW5zaW9uVG9HbG9iYWxPYmplY3RDYWxsYmFjayAgICAgICAgZGlkUmVj
b25uZWN0RE9NV2luZG93RXh0ZW5zaW9uVG9HbG9iYWxPYmplY3Q7CiAgICAgV0tCdW5kbGVQYWdl
V2lsbERlc3Ryb3lHbG9iYWxPYmplY3RGb3JET01XaW5kb3dFeHRlbnNpb25DYWxsYmFjayAgICAg
ICAgd2lsbERlc3Ryb3lHbG9iYWxPYmplY3RGb3JET01XaW5kb3dFeHRlbnNpb247CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlUGFnZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5jcHAKaW5kZXggYmVjY2Ex
YS4uYzQyMjQ0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVy
Q2xpZW50LmNwcApAQCAtMjQ5LDEzICsyNDksMTMgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VM
b2FkZXJDbGllbnQ6OmRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lKFdlYlBhZ2UqIHBhZ2UK
ICAgICBtX2NsaWVudC5kaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZSh0b0FQSShwYWdlKSwg
dG9BUEkoZnJhbWUpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKIH0KIAotdm9pZCBJbmplY3RlZEJ1
bmRsZVBhZ2VMb2FkZXJDbGllbnQ6OmRpZENyZWF0ZUdsb2JhbE9iamVjdEZvckZyYW1lKFdlYlBh
Z2UqIHBhZ2UsIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCwgV2ViRnJhbWUqIGZyYW1lLCBXZWJD
b3JlOjpET01XcmFwcGVyV29ybGQqIHdvcmxkKQordm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VMb2Fk
ZXJDbGllbnQ6Omdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJhbWUoV2ViUGFnZSogcGFnZSwg
V2ViRnJhbWUqIGZyYW1lLCBXZWJDb3JlOjpET01XcmFwcGVyV29ybGQqIHdvcmxkKQogewotICAg
IGlmICghbV9jbGllbnQuZGlkQ3JlYXRlR2xvYmFsT2JqZWN0Rm9yRnJhbWUpCisgICAgaWYgKCFt
X2NsaWVudC5nbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lKQogICAgICAgICByZXR1cm47
CiAgICAgCiAgICAgUmVmUHRyPEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQ+IGluamVjdGVkV29y
bGQgPSBJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkOjpnZXRPckNyZWF0ZSh3b3JsZCk7Ci0gICAg
bV9jbGllbnQuZGlkQ3JlYXRlR2xvYmFsT2JqZWN0Rm9yRnJhbWUodG9BUEkocGFnZSksIGdsb2Jh
bE9iamVjdCwgdG9BUEkoZnJhbWUpLCB0b0FQSShpbmplY3RlZFdvcmxkLmdldCgpKSwgbV9jbGll
bnQuY2xpZW50SW5mbyk7CisgICAgbV9jbGllbnQuZ2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JG
cmFtZSh0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShpbmplY3RlZFdvcmxkLmdldCgp
KSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlTG9h
ZGVyQ2xpZW50Ojp3aWxsRGlzY29ubmVjdERPTVdpbmRvd0V4dGVuc2lvbkZyb21HbG9iYWxPYmpl
Y3QoV2ViUGFnZSogcGFnZSwgV2ViQ29yZTo6RE9NV2luZG93RXh0ZW5zaW9uKiBjb3JlRXh0ZW5z
aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmgKaW5k
ZXggZGRmNmNhMC4uMTY5MjY5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFn
ZUxvYWRlckNsaWVudC5oCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHdpbGxQ
ZXJmb3JtQ2xpZW50UmVkaXJlY3RGb3JGcmFtZShXZWJQYWdlKiwgV2ViRnJhbWUqLCBjb25zdCBT
dHJpbmcmIHVybCwgZG91YmxlIGRlbGF5LCBkb3VibGUgZGF0ZSk7CiAgICAgdm9pZCBkaWRIYW5k
bGVPbmxvYWRFdmVudHNGb3JGcmFtZShXZWJQYWdlKiwgV2ViRnJhbWUqKTsKIAotICAgIHZvaWQg
ZGlkQ3JlYXRlR2xvYmFsT2JqZWN0Rm9yRnJhbWUoV2ViUGFnZSosIEpTT2JqZWN0UmVmIGdsb2Jh
bE9iamVjdCwgV2ViRnJhbWUqLCBXZWJDb3JlOjpET01XcmFwcGVyV29ybGQqKTsKKyAgICB2b2lk
IGdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJhbWUoV2ViUGFnZSosIFdlYkZyYW1lKiwgV2Vi
Q29yZTo6RE9NV3JhcHBlcldvcmxkKik7CiAgICAgdm9pZCB3aWxsRGlzY29ubmVjdERPTVdpbmRv
d0V4dGVuc2lvbkZyb21HbG9iYWxPYmplY3QoV2ViUGFnZSosIFdlYkNvcmU6OkRPTVdpbmRvd0V4
dGVuc2lvbiopOwogICAgIHZvaWQgZGlkUmVjb25uZWN0RE9NV2luZG93RXh0ZW5zaW9uVG9HbG9i
YWxPYmplY3QoV2ViUGFnZSosIFdlYkNvcmU6OkRPTVdpbmRvd0V4dGVuc2lvbiopOwogICAgIHZv
aWQgd2lsbERlc3Ryb3lHbG9iYWxPYmplY3RGb3JET01XaW5kb3dFeHRlbnNpb24oV2ViUGFnZSos
IFdlYkNvcmU6OkRPTVdpbmRvd0V4dGVuc2lvbiopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmNwcAppbmRleCA1ZWFhOWJmLi5mY2FiNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcApAQCAtMTQwNywxMCArMTQwNyw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGll
bnQ6OmRpc3BhdGNoR2xvYmFsT2JqZWN0QXZhaWxhYmxlKERPTVdyYXBwZXJXb3JsZCogd29ybGQp
CiAgICAgaWYgKCF3ZWJQYWdlKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgSlNPYmplY3RS
ZWYgZ2xvYmFsT2JqZWN0ID0gdG9SZWYobV9mcmFtZS0+Y29yZUZyYW1lKCktPnNjcmlwdCgpLT5n
bG9iYWxPYmplY3Qod29ybGQpKTsKLSAgICAKLSAgICB3ZWJQYWdlLT5pbmplY3RlZEJ1bmRsZUxv
YWRlckNsaWVudCgpLmRpZENyZWF0ZUdsb2JhbE9iamVjdEZvckZyYW1lKHdlYlBhZ2UsIGdsb2Jh
bE9iamVjdCwgbV9mcmFtZSwgd29ybGQpOwotICAgIAorICAgIHdlYlBhZ2UtPmluamVjdGVkQnVu
ZGxlTG9hZGVyQ2xpZW50KCkuZ2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZSh3ZWJQYWdl
LCBtX2ZyYW1lLCB3b3JsZCk7CiB9CiAKIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3Bh
dGNoV2lsbERpc2Nvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Gcm9tR2xvYmFsT2JqZWN0KFdlYkNv
cmU6OkRPTVdpbmRvd0V4dGVuc2lvbiogZXh0ZW5zaW9uKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDU3YTJkYzEuLmJlNTU4ZjIgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBA
QAorMjAxMi0wNS0wMiAgU3RlcGhhbmllIExld2lzICA8c2xld2lzQGFwcGxlLmNvbT4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU0NTAgdW5ib3Vu
ZGVkIGdyb3d0aCBvZiBKU0RPTVdpbmRvd1NoZWxscyBsb2FkaW5nIHBhZ2VzIGluIHRoZSBzYW1l
IHdpbmRvdworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEzMjAwNTk+IFJFR1JFU1NJT04gKHIx
MTUwODMpOiBQTFQzIHNob3dzIGxpbmVhciBtZW1vcnkgZ3Jvd3RoIGFuZCBnZXRzIHNsb3dlciB3
aXRoIGVhY2ggcnVuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIEFQSSBhZGRlZCBmb3IgRE9NV2luZG93RXh0ZW5zaW9uLCBkaWRDcmVhdGVHbG9i
YWxPYmplY3RGb3JGcmFtZSwgd291bGQgY3JlYXRlIGEgZ2xvYmFsIG9iamVjdAorICAgICAgICBm
b3IgZXZlcnkgd29ybGQsIGV2ZW4gdGhvc2UgdGhhdCBkaWQgbm90IG5lZWQgdGhlIGNhbGxiYWNr
LiAgVGhpcyBoYWQgdGhlIHNpZGUgZWZmZWN0IG9mIGNyZWF0aW5nIGEKKyAgICAgICAgSlNET01X
aW5kb3dTaGVsbCB0aGF0IHRoZSBhc3NvY2lhdGVkIHdvcmxkIGRpZG4ndCBuZWNlc3NhcmlseSBr
bm93IHRvIGNsZWFuIHVwLiAgSW5zdGVhZCBvZiBjcmVhdGluZworICAgICAgICB1bm5lY2Vzc2Fy
eSBvYmplY3RzIGNoYW5nZSB0aGUgQVBJIHRvIGdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJh
bWUgYW5kIGRvIG5vdCBwYXNzIHRoZSBnbG9iYWwgb2JqZWN0CisgICAgICAgIGluIHRoZSBBUEku
ICBUaGUgb2JqZWN0IGNhbiBiZSBhY2Nlc3NlZCBsYXRlciBieSB0aG9zZSB3b3JsZHMgd2hpY2gg
cmVxdWlyZSBpdC4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9ET01X
aW5kb3dFeHRlbnNpb25CYXNpYy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJKToKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRE9NV2luZG93RXh0ZW5zaW9u
QmFzaWNfQnVuZGxlLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEkpOgorICAgICAgICAoRE9N
V2luZG93RXh0ZW5zaW9uQmFzaWMpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6RE9NV2luZG93
RXh0ZW5zaW9uQmFzaWM6OmRpZENyZWF0ZVBhZ2UpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
RE9NV2luZG93RXh0ZW5zaW9uQmFzaWM6Omdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJhbWUp
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6Z2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JGcmFt
ZUNhbGxiYWNrKToKKwogMjAxMi0wNC0zMCAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIEZpeCB0ZXN0cyB0byBub3QgZGVwZW5kIG9uIHRoZSBhY3R1YWwgbGlzdCBv
ZiBidWlsZGVycyBhdCBidWlsZC5jaHJvbWl1bS5vcmcuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWMuY3BwIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RPTVdpbmRvd0V4dGVuc2lvbkJhc2ljLmNw
cAppbmRleCA0OGI2MmI4Li5iNzhlZTkxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDIvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWMuY3BwCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9ET01XaW5kb3dFeHRlbnNpb25CYXNpYy5jcHAKQEAg
LTM2LDEwICszNiwxMCBAQCBzdGF0aWMgYm9vbCBmaW5pc2hlZDsKIHN0YXRpYyBpbnQgbGl2ZURP
TUV4dGVuc2lvbkNvdW50OwogCiBzdGF0aWMgY29uc3QgY2hhciogZXhwZWN0ZWRNZXNzYWdlc1td
ID0gewotIkRpZENyZWF0ZUdsb2JhbE9iamVjdEZvckZyYW1lIGNhbGxlZCIsCi0iRGlkQ3JlYXRl
R2xvYmFsT2JqZWN0Rm9yRnJhbWUgY2FsbGVkIiwKLSJEaWRDcmVhdGVHbG9iYWxPYmplY3RGb3JG
cmFtZSBjYWxsZWQiLAotIkRpZENyZWF0ZUdsb2JhbE9iamVjdEZvckZyYW1lIGNhbGxlZCIsCisi
R2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZSBjYWxsZWQiLAorIkdsb2JhbE9iamVjdElz
QXZhaWxhYmxlRm9yRnJhbWUgY2FsbGVkIiwKKyJHbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZy
YW1lIGNhbGxlZCIsCisiR2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZSBjYWxsZWQiLAog
IlN1YmZyYW1lIGZpbmlzaGVkIGxvYWRpbmciLAogIkV4dGVuc2lvbiBzdGF0ZXM6XG5GaXJzdCBw
YWdlLCBtYWluIGZyYW1lLCBzdGFuZGFyZCB3b3JsZCAtIENvbm5lY3RlZFxuRmlyc3QgcGFnZSwg
bWFpbiBmcmFtZSwgbm9uLXN0YW5kYXJkIHdvcmxkIC0gQ29ubmVjdGVkXG5GaXJzdCBwYWdlLCBz
dWJmcmFtZSwgc3RhbmRhcmQgd29ybGQgLSBDb25uZWN0ZWRcbkZpcnN0IHBhZ2UsIHN1YmZyYW1l
LCBub24tc3RhbmRhcmQgd29ybGQgLSBDb25uZWN0ZWRcblNlY29uZCBwYWdlLCBtYWluIGZyYW1l
LCBzdGFuZGFyZCB3b3JsZCAtIFVuY3JlYXRlZFxuU2Vjb25kIHBhZ2UsIG1haW4gZnJhbWUsIG5v
bi1zdGFuZGFyZCB3b3JsZCAtIFVuY3JlYXRlZCIsCiAiTWFpbiBmcmFtZSBmaW5pc2hlZCBsb2Fk
aW5nIiwKQEAgLTQ4LDggKzQ4LDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIGV4cGVjdGVkTWVzc2Fn
ZXNbXSA9IHsKICJXaWxsRGlzY29ubmVjdERPTVdpbmRvd0V4dGVuc2lvbkZyb21HbG9iYWxPYmpl
Y3QgY2FsbGVkIiwKICJXaWxsRGlzY29ubmVjdERPTVdpbmRvd0V4dGVuc2lvbkZyb21HbG9iYWxP
YmplY3QgY2FsbGVkIiwKICJXaWxsRGlzY29ubmVjdERPTVdpbmRvd0V4dGVuc2lvbkZyb21HbG9i
YWxPYmplY3QgY2FsbGVkIiwKLSJEaWRDcmVhdGVHbG9iYWxPYmplY3RGb3JGcmFtZSBjYWxsZWQi
LAotIkRpZENyZWF0ZUdsb2JhbE9iamVjdEZvckZyYW1lIGNhbGxlZCIsCisiR2xvYmFsT2JqZWN0
SXNBdmFpbGFibGVGb3JGcmFtZSBjYWxsZWQiLAorIkdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9y
RnJhbWUgY2FsbGVkIiwKICJNYWluIGZyYW1lIGZpbmlzaGVkIGxvYWRpbmciLAogIkV4dGVuc2lv
biBzdGF0ZXM6XG5GaXJzdCBwYWdlLCBtYWluIGZyYW1lLCBzdGFuZGFyZCB3b3JsZCAtIERpc2Nv
bm5lY3RlZFxuRmlyc3QgcGFnZSwgbWFpbiBmcmFtZSwgbm9uLXN0YW5kYXJkIHdvcmxkIC0gRGlz
Y29ubmVjdGVkXG5GaXJzdCBwYWdlLCBzdWJmcmFtZSwgc3RhbmRhcmQgd29ybGQgLSBEaXNjb25u
ZWN0ZWRcbkZpcnN0IHBhZ2UsIHN1YmZyYW1lLCBub24tc3RhbmRhcmQgd29ybGQgLSBEaXNjb25u
ZWN0ZWRcblNlY29uZCBwYWdlLCBtYWluIGZyYW1lLCBzdGFuZGFyZCB3b3JsZCAtIENvbm5lY3Rl
ZFxuU2Vjb25kIHBhZ2UsIG1haW4gZnJhbWUsIG5vbi1zdGFuZGFyZCB3b3JsZCAtIENvbm5lY3Rl
ZCIsCiAiV2lsbERpc2Nvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Gcm9tR2xvYmFsT2JqZWN0IGNh
bGxlZCIsCkBAIC04MCw3ICs4MCw3IEBAIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlRnJv
bUluamVjdGVkQnVuZGxlKFdLQ29udGV4dFJlZiwgV0tTdHJpbmdSZWYgbWVzc2FnCiAgICAgV0tT
dHJpbmdSZWYgYm9keVN0cmluZyA9IChXS1N0cmluZ1JlZiltZXNzYWdlQm9keTsKICAgICBtZXNz
YWdlcy5hcHBlbmQoYm9keVN0cmluZyk7CiAgICAgCi0gICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRv
VVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJEaWRDcmVhdGVHbG9iYWxPYmplY3RGb3JGcmFtZSIp
KQorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiR2xv
YmFsT2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZSIpKQogICAgICAgICBsaXZlRE9NRXh0ZW5zaW9u
Q291bnQrKzsKICAgICBlbHNlIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3Nh
Z2VOYW1lLCAiV2lsbERlc3Ryb3lHbG9iYWxPYmplY3RGb3JET01XaW5kb3dFeHRlbnNpb24iKSkg
ewogICAgICAgICBsaXZlRE9NRXh0ZW5zaW9uQ291bnQtLTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9ET01XaW5kb3dFeHRlbnNpb25CYXNpY19CdW5kbGUu
Y3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RPTVdpbmRvd0V4dGVuc2lv
bkJhc2ljX0J1bmRsZS5jcHAKaW5kZXggOTE5MzdmZi4uNjFhYzFiZCAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RPTVdpbmRvd0V4dGVuc2lvbkJhc2ljX0J1
bmRsZS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL0RPTVdpbmRv
d0V4dGVuc2lvbkJhc2ljX0J1bmRsZS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAKIG5hbWVzcGFjZSBU
ZXN0V2ViS2l0QVBJIHsKIAogc3RhdGljIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lQ2FsbGJh
Y2soV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZUZyYW1lUmVmLCBXS1R5cGVSZWYqLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKLXN0YXRpYyB2b2lkIGRpZENyZWF0ZUdsb2JhbE9iamVjdEZvckZy
YW1lQ2FsbGJhY2soV0tCdW5kbGVQYWdlUmVmLCBKU09iamVjdFJlZiwgV0tCdW5kbGVGcmFtZVJl
ZiwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CitzdGF0
aWMgdm9pZCBnbG9iYWxPYmplY3RJc0F2YWlsYWJsZUZvckZyYW1lQ2FsbGJhY2soV0tCdW5kbGVQ
YWdlUmVmLCBXS0J1bmRsZUZyYW1lUmVmLCBXS0J1bmRsZVNjcmlwdFdvcmxkUmVmLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKIHN0YXRpYyB2b2lkIHdpbGxEaXNjb25uZWN0RE9NV2luZG93RXh0
ZW5zaW9uRnJvbUdsb2JhbE9iamVjdENhbGxiYWNrKFdLQnVuZGxlUGFnZVJlZiwgV0tCdW5kbGVE
T01XaW5kb3dFeHRlbnNpb25SZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogc3RhdGljIHZv
aWQgZGlkUmVjb25uZWN0RE9NV2luZG93RXh0ZW5zaW9uVG9HbG9iYWxPYmplY3RDYWxsYmFjayhX
S0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uUmVmLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKTsKIHN0YXRpYyB2b2lkIHdpbGxEZXN0cm95R2xvYmFsT2JqZWN0Rm9yRE9N
V2luZG93RXh0ZW5zaW9uQ2FsbGJhY2soV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZURPTVdpbmRv
d0V4dGVuc2lvblJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CkBAIC02OCw3ICs2OCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZShXS0J1bmRsZVJlZiwgV0tUeXBl
UmVmIHVzZXJEYXRhKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlUGFnZShXS0J1bmRsZVJl
ZiwgV0tCdW5kbGVQYWdlUmVmKTsKICAgICAKLSAgICB2b2lkIGRpZENyZWF0ZUdsb2JhbE9iamVj
dEZvckZyYW1lKFdLQnVuZGxlRnJhbWVSZWYsIFdLQnVuZGxlU2NyaXB0V29ybGRSZWYpOworICAg
IHZvaWQgZ2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZShXS0J1bmRsZUZyYW1lUmVmLCBX
S0J1bmRsZVNjcmlwdFdvcmxkUmVmKTsKICAgICB2b2lkIHdpbGxEaXNjb25uZWN0RE9NV2luZG93
RXh0ZW5zaW9uRnJvbUdsb2JhbE9iamVjdChXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvblJlZik7
CiAgICAgdm9pZCBkaWRSZWNvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Ub0dsb2JhbE9iamVjdChX
S0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvblJlZik7CiAgICAgdm9pZCB3aWxsRGVzdHJveUdsb2Jh
bE9iamVjdEZvckRPTVdpbmRvd0V4dGVuc2lvbihXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvblJl
Zik7CkBAIC0xNjAsNyArMTYwLDcgQEAgdm9pZCBET01XaW5kb3dFeHRlbnNpb25CYXNpYzo6ZGlk
Q3JlYXRlUGFnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZVJlZgogICAgIHBhZ2VM
b2FkZXJDbGllbnQudmVyc2lvbiA9IDE7CiAgICAgcGFnZUxvYWRlckNsaWVudC5jbGllbnRJbmZv
ID0gdGhpczsKICAgICBwYWdlTG9hZGVyQ2xpZW50LmRpZEZpbmlzaExvYWRGb3JGcmFtZSA9IGRp
ZEZpbmlzaExvYWRGb3JGcmFtZUNhbGxiYWNrOwotICAgIHBhZ2VMb2FkZXJDbGllbnQuZGlkQ3Jl
YXRlR2xvYmFsT2JqZWN0Rm9yRnJhbWUgPSBkaWRDcmVhdGVHbG9iYWxPYmplY3RGb3JGcmFtZUNh
bGxiYWNrOworICAgIHBhZ2VMb2FkZXJDbGllbnQuZ2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JG
cmFtZSA9IGdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJhbWVDYWxsYmFjazsKICAgICBwYWdl
TG9hZGVyQ2xpZW50LndpbGxEaXNjb25uZWN0RE9NV2luZG93RXh0ZW5zaW9uRnJvbUdsb2JhbE9i
amVjdCA9IHdpbGxEaXNjb25uZWN0RE9NV2luZG93RXh0ZW5zaW9uRnJvbUdsb2JhbE9iamVjdENh
bGxiYWNrOwogICAgIHBhZ2VMb2FkZXJDbGllbnQuZGlkUmVjb25uZWN0RE9NV2luZG93RXh0ZW5z
aW9uVG9HbG9iYWxPYmplY3QgPSBkaWRSZWNvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Ub0dsb2Jh
bE9iamVjdENhbGxiYWNrOwogICAgIHBhZ2VMb2FkZXJDbGllbnQud2lsbERlc3Ryb3lHbG9iYWxP
YmplY3RGb3JET01XaW5kb3dFeHRlbnNpb24gPSB3aWxsRGVzdHJveUdsb2JhbE9iamVjdEZvckRP
TVdpbmRvd0V4dGVuc2lvbkNhbGxiYWNrOwpAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgRE9NV2lu
ZG93RXh0ZW5zaW9uQmFzaWM6OnNlbmRCdW5kbGVNZXNzYWdlKGNvbnN0IGNoYXIqIG1lc3NhZ2Up
CiAgICAgV0tCdW5kbGVQb3N0TWVzc2FnZShtX2J1bmRsZSwgd2tNZXNzYWdlLmdldCgpLCB3a01l
c3NhZ2UuZ2V0KCkpOwogfQogCi12b2lkIERPTVdpbmRvd0V4dGVuc2lvbkJhc2ljOjpkaWRDcmVh
dGVHbG9iYWxPYmplY3RGb3JGcmFtZShXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS0J1bmRsZVNj
cmlwdFdvcmxkUmVmIHdvcmxkKQordm9pZCBET01XaW5kb3dFeHRlbnNpb25CYXNpYzo6Z2xvYmFs
T2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZShXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS0J1bmRs
ZVNjcmlwdFdvcmxkUmVmIHdvcmxkKQogewogICAgIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9u
UmVmIGV4dGVuc2lvbiA9IFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uQ3JlYXRlKGZyYW1lLCB3
b3JsZCk7CiAKQEAgLTE5Niw3ICsxOTYsNyBAQCB2b2lkIERPTVdpbmRvd0V4dGVuc2lvbkJhc2lj
OjpkaWRDcmVhdGVHbG9iYWxPYmplY3RGb3JGcmFtZShXS0J1bmRsZUZyYW1lUmVmIGZyYQogICAg
IG1fZXh0ZW5zaW9uVG9SZWNvcmRNYXAuc2V0KGV4dGVuc2lvbiwgaW5kZXgpOwogCiAgICAgdXBk
YXRlRXh0ZW5zaW9uU3RhdGVSZWNvcmQoZXh0ZW5zaW9uLCBDb25uZWN0ZWQpOwotICAgIHNlbmRC
dW5kbGVNZXNzYWdlKCJEaWRDcmVhdGVHbG9iYWxPYmplY3RGb3JGcmFtZSBjYWxsZWQiKTsKKyAg
ICBzZW5kQnVuZGxlTWVzc2FnZSgiR2xvYmFsT2JqZWN0SXNBdmFpbGFibGVGb3JGcmFtZSBjYWxs
ZWQiKTsKIH0KIAogdm9pZCBET01XaW5kb3dFeHRlbnNpb25CYXNpYzo6d2lsbERpc2Nvbm5lY3RE
T01XaW5kb3dFeHRlbnNpb25Gcm9tR2xvYmFsT2JqZWN0KFdLQnVuZGxlRE9NV2luZG93RXh0ZW5z
aW9uUmVmIGV4dGVuc2lvbikKQEAgLTIzMSw5ICsyMzEsOSBAQCBzdGF0aWMgdm9pZCBkaWRGaW5p
c2hMb2FkRm9yRnJhbWVDYWxsYmFjayhXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYg
ZnJhbQogICAgICgoRE9NV2luZG93RXh0ZW5zaW9uQmFzaWMqKWNsaWVudEluZm8pLT5mcmFtZUxv
YWRGaW5pc2hlZChmcmFtZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGRpZENyZWF0ZUdsb2JhbE9iamVj
dEZvckZyYW1lQ2FsbGJhY2soV0tCdW5kbGVQYWdlUmVmLCBKU09iamVjdFJlZiwgV0tCdW5kbGVG
cmFtZVJlZiBmcmFtZSwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiB3b3JsZCwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbykKK3N0YXRpYyB2b2lkIGdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJhbWVD
YWxsYmFjayhXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIFdLQnVuZGxl
U2NyaXB0V29ybGRSZWYgd29ybGQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7Ci0gICAgKChE
T01XaW5kb3dFeHRlbnNpb25CYXNpYyopY2xpZW50SW5mbyktPmRpZENyZWF0ZUdsb2JhbE9iamVj
dEZvckZyYW1lKGZyYW1lLCB3b3JsZCk7CisgICAgKChET01XaW5kb3dFeHRlbnNpb25CYXNpYyop
Y2xpZW50SW5mbyktPmdsb2JhbE9iamVjdElzQXZhaWxhYmxlRm9yRnJhbWUoZnJhbWUsIHdvcmxk
KTsKIH0KIAogc3RhdGljIHZvaWQgd2lsbERpc2Nvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Gcm9t
R2xvYmFsT2JqZWN0Q2FsbGJhY2soV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZURPTVdpbmRvd0V4
dGVuc2lvblJlZiBleHRlbnNpb24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi0tIAoxLjcuOS42
IChBcHBsZSBHaXQtMzEpCgo=
</data>
<flag name="review"
          id="145681"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>