<?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>84919</bug_id>
          
          <creation_ts>2012-04-25 18:08:13 -0700</creation_ts>
          <short_desc>[V8] Pass Isolate to wrapSlow()</short_desc>
          <delta_ts>2012-04-26 13:33:34 -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>WebCore JavaScript</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>84074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>610255</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-25 18:08:13 -0700</bug_when>
    <thetext>The objective is to pass Isolate around in V8 bindings. In this bug, we pass Isolate to wrapSlow().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610256</commentid>
    <comment_count>1</comment_count>
      <attachid>138914</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-25 18:10:54 -0700</bug_when>
    <thetext>Created attachment 138914
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610904</commentid>
    <comment_count>2</comment_count>
      <attachid>138914</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-26 13:33:27 -0700</bug_when>
    <thetext>Comment on attachment 138914
Patch

Clearing flags on attachment: 138914

Committed r115350: &lt;http://trac.webkit.org/changeset/115350&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610906</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-26 13:33:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138914</attachid>
            <date>2012-04-25 18:10:54 -0700</date>
            <delta_ts>2012-04-26 13:33:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84919-20120425181053.patch</filename>
            <type>text/plain</type>
            <size>27808</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjRjNzc2YWUxYWFhZjA2
NDcxNDA0OTRlNGQyMTMyZTg4ZDYyZWQ5Yy4uNjFlMTM1M2QyNjFkMjk3NGYyOGRmZGVmNmVjOTA1
OTVkNDU5MGRkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc1IEBACisyMDEyLTA0LTI1ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIFBhc3MgSXNv
bGF0ZSB0byB3cmFwU2xvdygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NDkxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBvYmplY3RpdmUgaXMgdG8gcGFzcyBJc29sYXRlIGFyb3VuZCBpbiBWOCBi
aW5kaW5ncy4KKyAgICAgICAgSW4gdGhpcyBidWcsIHdlIHBhc3MgSXNvbGF0ZSB0byB3cmFwU2xv
dygpLgorCisgICAgICAgIFRlc3Q6IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBl
dGMKKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOiBNb2Rp
ZmllZCBhcyBkZXNjcmliZWQgYWJvdmUuCisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6CisgICAg
ICAgIChHZW5lcmF0ZVRvVjhDb252ZXJ0ZXJzKToKKworICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHA6IFVwZGF0ZWQgcnVuLWJpbmRpbmdzLXRlc3Rz
LgorICAgICAgICAoV2ViQ29yZTo6VjhGbG9hdDY0QXJyYXk6OndyYXBTbG93KToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaDoKKyAgICAgICAgKFY4
RmxvYXQ2NEFycmF5KToKKyAgICAgICAgKFdlYkNvcmU6OlY4RmxvYXQ2NEFycmF5Ojp3cmFwKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdEFjdGl2ZURPTU9iamVjdDo6d3JhcFNsb3cp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmpl
Y3QuaDoKKyAgICAgICAgKFY4VGVzdEFjdGl2ZURPTU9iamVjdCk6CisgICAgICAgIChXZWJDb3Jl
OjpWOFRlc3RBY3RpdmVET01PYmplY3Q6OndyYXApOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpWOFRlc3RDdXN0b21OYW1lZEdldHRlcjo6d3JhcFNsb3cpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5oOgorICAgICAgICAoVjhU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0Q3VzdG9tTmFt
ZWRHZXR0ZXI6OndyYXApOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RFdmVudENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdEV2ZW50Q29u
c3RydWN0b3I6OndyYXBTbG93KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoVjhUZXN0RXZlbnRDb25zdHJ1Y3Rv
cik6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RFdmVudENvbnN0cnVjdG9yOjp3cmFwKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VjhUZXN0RXZlbnRUYXJnZXQ6OndyYXBTbG93KToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaDoKKyAgICAgICAg
KFY4VGVzdEV2ZW50VGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdEV2ZW50VGFyZ2V0
Ojp3cmFwKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJm
YWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdEludGVyZmFjZTo6d3JhcFNsb3cpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaDoKKyAg
ICAgICAgKFY4VGVzdEludGVyZmFjZSk6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RJbnRlcmZh
Y2U6OndyYXApOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXI6OndyYXBTbG93KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oOgorICAgICAgICAoVjhUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyOjp3cmFwKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3ROYW1l
ZENvbnN0cnVjdG9yOjp3cmFwU2xvdyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKFY4VGVzdE5hbWVkQ29uc3Ry
dWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6d3JhcCk6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VjhUZXN0Tm9kZTo6d3JhcFNsb3cpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmg6CisgICAgICAgIChWOFRlc3ROb2RlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlY4VGVzdE5vZGU6OndyYXApOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhUZXN0T2Jq
Ojp3cmFwU2xvdyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9i
ai5oOgorICAgICAgICAoVjhUZXN0T2JqKToKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdE9iajo6
d3JhcCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OndyYXBTbG93KToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmg6
CisgICAgICAgIChWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6VjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjp3cmFwKToK
KwogMjAxMi0wNC0yNSAgR3JlZyBCaWxsb2NrICA8Z2JpbGxvY2tAZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBJbXBsZW1lbnQgb2JqZWN0LWxpdGVyYWwgY29uc3RydWN0b3IgZm9yIHRoZSBJbnRlbnQg
b2JqZWN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JWOC5wbQppbmRleCAzYzlhZTc2NTRmMjcxODMwN2E4ZjlhMjRlNWFlOGQ2NWMxYzQ4Njg5
Li43YmJmNGUyYWM3MjQ0ZDJmYWM5OTA4YjdlM2QxZjVmZjEyMjBlMjUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtNDE0
LDcgKzQxNCw3IEBAIEVORAogICAgIG15ICR3cmFwU2xvd0FyZ3VtZW50VHlwZSA9IEdldFBhc3NS
ZWZQdHJUeXBlKCRuYXRpdmVUeXBlKTsKICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCA8PEVORCk7
CiBwcml2YXRlOgotICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBTbG93KCR7
d3JhcFNsb3dBcmd1bWVudFR5cGV9KTsKKyAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiB3cmFwU2xvdygke3dyYXBTbG93QXJndW1lbnRUeXBlfSwgdjg6Oklzb2xhdGUqKTsKIH07CiAK
IEVORApAQCAtNDMyLDcgKzQzMiw3IEBAIEVORAogRU5ECiAgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgIiAgICB9XG4iKSBpZiBJc0RPTU5vZGVUeXBlKCRpbnRlcmZhY2VOYW1lKTsKICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCA8PEVORCk7Ci0gICAgcmV0dXJuICR7Y2xhc3NOYW1lfTo6d3JhcFNs
b3coaW1wbCk7CisgICAgcmV0dXJuICR7Y2xhc3NOYW1lfTo6d3JhcFNsb3coaW1wbCwgaXNvbGF0
ZSk7CiB9CiBFTkQKIApAQCAtMzExNiw3ICszMTE2LDcgQEAgc3ViIEdlbmVyYXRlVG9WOENvbnZl
cnRlcnMKIAogICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7CiAKLXY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gJHtjbGFzc05hbWV9Ojp3cmFwU2xvdygke3dyYXBTbG93QXJndW1lbnRUeXBlfSBp
bXBsKQordjg6OkhhbmRsZTx2ODo6T2JqZWN0PiAke2NsYXNzTmFtZX06OndyYXBTbG93KCR7d3Jh
cFNsb3dBcmd1bWVudFR5cGV9IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlcjsKIEVORApAQCAtMzEzOSw3ICszMTM5LDcgQEAg
RU5ECiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7CiAgICAgaWYgKHByb3h5ICYm
IHByb3h5LT53aW5kb3dTaGVsbCgpLT5jb250ZXh0KCkuSXNFbXB0eSgpICYmIHByb3h5LT53aW5k
b3dTaGVsbCgpLT5pbml0Q29udGV4dElmTmVlZGVkKCkpIHsKICAgICAgICAgLy8gaW5pdENvbnRl
eHRJZk5lZWRlZCBtYXkgaGF2ZSBjcmVhdGVkIGEgd3JhcHBlciBmb3IgdGhlIG9iamVjdCwgcmV0
cnkgZnJvbSB0aGUgc3RhcnQuCi0gICAgICAgIHJldHVybiAke2NsYXNzTmFtZX06OndyYXAoaW1w
bC5nZXQoKSk7CisgICAgICAgIHJldHVybiAke2NsYXNzTmFtZX06OndyYXAoaW1wbC5nZXQoKSwg
aXNvbGF0ZSk7CiAgICAgfQogRU5ECiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAKaW5kZXggMjUy
Y2MzYzJjYTY5NDhiY2UxNGQzNjczOTAzY2RhMGJmZTRiZTVmYi4uNjM4Zjk2MjlkOWFlMmU5YzM2
YzQ2MDFmOWI4ZjRkNmMwMTg0ZGNjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCkBAIC0xMjAsNyAr
MTIwLDcgQEAgYm9vbCBWOEZsb2F0NjRBcnJheTo6SGFzSW5zdGFuY2Uodjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHZhbHVlKQogfQogCiAKLXY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhGbG9hdDY0QXJy
YXk6OndyYXBTbG93KFBhc3NSZWZQdHI8RmxvYXQ2NEFycmF5PiBpbXBsKQordjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiBWOEZsb2F0NjRBcnJheTo6d3JhcFNsb3coUGFzc1JlZlB0cjxGbG9hdDY0QXJy
YXk+IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gd3JhcHBlcjsKICAgICBWOFByb3h5KiBwcm94eSA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oCmlu
ZGV4IDA4NDdiNTk3NWY3OGQ0ZmNkNjQ5ZDk5OTk4MDY5ZmRhODExZmUxODIuLjEwNDE1ZDM1MWM5
MzRmMjEzM2MyODcyM2I5M2NlZGY5ZmU0NjZlMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oCkBAIC00Nyw3
ICs0Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0
cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyBjb25zdCBp
bnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3Vu
dCArIDA7CiBwcml2YXRlOgotICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBT
bG93KFBhc3NSZWZQdHI8RmxvYXQ2NEFycmF5Pik7CisgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gd3JhcFNsb3coUGFzc1JlZlB0cjxGbG9hdDY0QXJyYXk+LCB2ODo6SXNvbGF0ZSop
OwogfTsKIAogdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOEZsb2F0NjRBcnJheTo6d3JhcChGbG9h
dDY0QXJyYXkqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQpAQCAtNTUsNyArNTUsNyBAQCB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4RmxvYXQ2NEFycmF5Ojp3cmFwKEZsb2F0NjRBcnJheSog
aW1wbCwgdjg6Oklzb2xhdGUqIGlzbwogICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdy
YXBwZXIgPSBnZXRET01PYmplY3RNYXAoKS5nZXQoaW1wbCk7CiAgICAgICAgIGlmICghd3JhcHBl
ci5Jc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm4gd3JhcHBlcjsKLSAgICByZXR1cm4gVjhG
bG9hdDY0QXJyYXk6OndyYXBTbG93KGltcGwpOworICAgIHJldHVybiBWOEZsb2F0NjRBcnJheTo6
d3JhcFNsb3coaW1wbCwgaXNvbGF0ZSk7CiB9CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KEZsb2F0NjRBcnJheSosIHY4OjpJc29sYXRlKiA9IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9N
T2JqZWN0LmNwcAppbmRleCBiNjg2ODcxMDdjODE2YjMxNGU4YWVlMjBhM2FjYzM3ZmY0ZTM2ZjRk
Li4wODhjYTE4MDYxNzQ5NzViYTE4NmNjNGMyMzQ2NDUxNmI0MWU1ZjEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0QWN0aXZlRE9NT2JqZWN0LmNwcApAQCAtMTU4LDcgKzE1OCw3IEBAIGJvb2wgVjhUZXN0QWN0
aXZlRE9NT2JqZWN0OjpIYXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCiB9
CiAKIAotdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RBY3RpdmVET01PYmplY3Q6OndyYXBT
bG93KFBhc3NSZWZQdHI8VGVzdEFjdGl2ZURPTU9iamVjdD4gaW1wbCkKK3Y4OjpIYW5kbGU8djg6
Ok9iamVjdD4gVjhUZXN0QWN0aXZlRE9NT2JqZWN0Ojp3cmFwU2xvdyhQYXNzUmVmUHRyPFRlc3RB
Y3RpdmVET01PYmplY3Q+IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlcjsKICAgICBWOFByb3h5KiBwcm94eSA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0
aXZlRE9NT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0QWN0aXZlRE9NT2JqZWN0LmgKaW5kZXggMzk0YzNjN2NhZmJjMGVmMjdhYzY1M2U2NDhi
MGQyM2Q2MTYxZTk0NC4uMzkwYWQ0ZjBkZDdhYWVhODNhNjQ4Zjk5NDk4YTQ4ZGYxMGE0NjBiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEFjdGl2ZURPTU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuaApAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIGJvb2wgbmFtZWRTZWN1cml0eUNoZWNrKHY4OjpMb2NhbDx2ODo6T2JqZWN0
PiBob3N0LCB2ODo6TG9jYWw8djg6OlZhbHVlPiBrZXksIHY4OjpBY2Nlc3NUeXBlLCB2ODo6TG9j
YWw8djg6OlZhbHVlPiBkYXRhKTsKICAgICBzdGF0aWMgYm9vbCBpbmRleGVkU2VjdXJpdHlDaGVj
ayh2ODo6TG9jYWw8djg6Ok9iamVjdD4gaG9zdCwgdWludDMyX3QgaW5kZXgsIHY4OjpBY2Nlc3NU
eXBlLCB2ODo6TG9jYWw8djg6OlZhbHVlPiBkYXRhKTsKIHByaXZhdGU6Ci0gICAgc3RhdGljIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcFNsb3coUGFzc1JlZlB0cjxUZXN0QWN0aXZlRE9NT2Jq
ZWN0Pik7CisgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcFNsb3coUGFzc1Jl
ZlB0cjxUZXN0QWN0aXZlRE9NT2JqZWN0Piwgdjg6Oklzb2xhdGUqKTsKIH07CiAKIHY4OjpIYW5k
bGU8djg6Ok9iamVjdD4gVjhUZXN0QWN0aXZlRE9NT2JqZWN0Ojp3cmFwKFRlc3RBY3RpdmVET01P
YmplY3QqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQpAQCAtNTUsNyArNTUsNyBAQCB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6d3JhcChUZXN0QWN0aXZl
RE9NT2JqZWN0KiBpbXBsLCB2OAogICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBw
ZXIgPSBnZXRET01PYmplY3RNYXAoKS5nZXQoaW1wbCk7CiAgICAgICAgIGlmICghd3JhcHBlci5J
c0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm4gd3JhcHBlcjsKLSAgICByZXR1cm4gVjhUZXN0
QWN0aXZlRE9NT2JqZWN0Ojp3cmFwU2xvdyhpbXBsKTsKKyAgICByZXR1cm4gVjhUZXN0QWN0aXZl
RE9NT2JqZWN0Ojp3cmFwU2xvdyhpbXBsLCBpc29sYXRlKTsKIH0KIAogaW5saW5lIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB0b1Y4KFRlc3RBY3RpdmVET01PYmplY3QqIGltcGwsIHY4OjpJc29sYXRl
KiBpc29sYXRlID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCmluZGV4
IDY5NDA0NTQxY2NiNjBjMTQwMTQ1ZDMwYmJkMTU3ZWZhOTI5OGRiZWIuLmFlNDQ5YTQ1ZTJlMDYy
NDUxMDFmMjliMWUxODM5MTBjZmY5YzAxNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVk
R2V0dGVyLmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIGJvb2wgVjhUZXN0Q3VzdG9tTmFtZWRHZXR0
ZXI6Okhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKIH0KIAogCi12ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjp3cmFwU2xvdyhQYXNz
UmVmUHRyPFRlc3RDdXN0b21OYW1lZEdldHRlcj4gaW1wbCkKK3Y4OjpIYW5kbGU8djg6Ok9iamVj
dD4gVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OndyYXBTbG93KFBhc3NSZWZQdHI8VGVzdEN1c3Rv
bU5hbWVkR2V0dGVyPiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICB2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXI7CiAgICAgVjhQcm94eSogcHJveHkgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3Rv
bU5hbWVkR2V0dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaAppbmRleCAyZDNjYTE0ZmRlNmYyZTUwODdhODc3NWYw
M2YzMmZhNzY4Mjg3NmIxLi4yNGJkMjBhYTI2NDM1ZWQ0MTkxMTA3MTY0YWExODVmNGY5ZTA3ODQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaApAQCAtNDYsNyArNDYsNyBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBuYW1lZFByb3BlcnR5R2V0
dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYpOwogICAg
IHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlcklu
dGVybmFsRmllbGRDb3VudCArIDA7CiBwcml2YXRlOgotICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IHdyYXBTbG93KFBhc3NSZWZQdHI8VGVzdEN1c3RvbU5hbWVkR2V0dGVyPik7Cisg
ICAgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcFNsb3coUGFzc1JlZlB0cjxUZXN0
Q3VzdG9tTmFtZWRHZXR0ZXI+LCB2ODo6SXNvbGF0ZSopOwogfTsKIAogdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiBWOFRlc3RDdXN0b21OYW1lZEdldHRlcjo6d3JhcChUZXN0Q3VzdG9tTmFtZWRHZXR0
ZXIqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQpAQCAtNTQsNyArNTQsNyBAQCB2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjp3cmFwKFRlc3RDdXN0b21O
YW1lZEdldHRlciogaW1wbAogICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIg
PSBnZXRET01PYmplY3RNYXAoKS5nZXQoaW1wbCk7CiAgICAgICAgIGlmICghd3JhcHBlci5Jc0Vt
cHR5KCkpCiAgICAgICAgICAgICByZXR1cm4gd3JhcHBlcjsKLSAgICByZXR1cm4gVjhUZXN0Q3Vz
dG9tTmFtZWRHZXR0ZXI6OndyYXBTbG93KGltcGwpOworICAgIHJldHVybiBWOFRlc3RDdXN0b21O
YW1lZEdldHRlcjo6d3JhcFNsb3coaW1wbCwgaXNvbGF0ZSk7CiB9CiAKIGlubGluZSB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqIGltcGwsIHY4OjpJc29s
YXRlKiBpc29sYXRlID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcAppbmRl
eCAzZmRiNmNiNzgwNzJiYTgyMzVjZjIzNjhmYmIxM2E1YzI0MmE2Nzg0Li5kMmE2OGRkYjJlZWFl
Yjg1YmI0ZmFiMDZlYTQxMDUwZjhhOGU1MjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3Ry
dWN0b3IuY3BwCkBAIC0xNDYsNyArMTQ2LDcgQEAgYm9vbCBWOFRlc3RFdmVudENvbnN0cnVjdG9y
OjpIYXNJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCiB9CiAKIAotdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjp3cmFwU2xvdyhQYXNzUmVm
UHRyPFRlc3RFdmVudENvbnN0cnVjdG9yPiBpbXBsKQordjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBW
OFRlc3RFdmVudENvbnN0cnVjdG9yOjp3cmFwU2xvdyhQYXNzUmVmUHRyPFRlc3RFdmVudENvbnN0
cnVjdG9yPiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IHdyYXBwZXI7CiAgICAgVjhQcm94eSogcHJveHkgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3Ry
dWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RF
dmVudENvbnN0cnVjdG9yLmgKaW5kZXggYzExNTNiYWE3ZTY2N2E0NWYyMTk4NzlkOTExZGU5NzJk
NTI0NDA4Zi4uYTg3ZjJkOGQzY2E0Y2NjNGFmYTY3NmVkYzMyN2U1OGY4MWVhMTljYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50
Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVsZENvdW50
ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CiBwcml2YXRlOgotICAg
IHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBTbG93KFBhc3NSZWZQdHI8VGVzdEV2
ZW50Q29uc3RydWN0b3I+KTsKKyAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFw
U2xvdyhQYXNzUmVmUHRyPFRlc3RFdmVudENvbnN0cnVjdG9yPiwgdjg6Oklzb2xhdGUqKTsKIH07
CiAKIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6d3JhcChU
ZXN0RXZlbnRDb25zdHJ1Y3RvciogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCkBAIC01NSw3
ICs1NSw3IEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6
d3JhcChUZXN0RXZlbnRDb25zdHJ1Y3RvciogaW1wbCwKICAgICAgICAgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiB3cmFwcGVyID0gZ2V0RE9NT2JqZWN0TWFwKCkuZ2V0KGltcGwpOwogICAgICAgICBp
ZiAoIXdyYXBwZXIuSXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuIHdyYXBwZXI7Ci0gICAg
cmV0dXJuIFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6OndyYXBTbG93KGltcGwpOworICAgIHJldHVy
biBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjp3cmFwU2xvdyhpbXBsLCBpc29sYXRlKTsKIH0KIAog
aW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFRlc3RFdmVudENvbnN0cnVjdG9yKiBp
bXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcApp
bmRleCAyMDAwOGQ5YjE4M2U2ODliYWNhNjk1MzY3NDlhODVkNDZjNGZjZDA0Li44N2FhODg3NTll
ZDhhNTlmYTQzYTU0MTNmOGVkNDlkMzc3ODZkYmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5j
cHAKQEAgLTE3Myw3ICsxNzMsNyBAQCBib29sIFY4VGVzdEV2ZW50VGFyZ2V0OjpIYXNJbnN0YW5j
ZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCiB9CiAKIAotdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiBWOFRlc3RFdmVudFRhcmdldDo6d3JhcFNsb3coUGFzc1JlZlB0cjxUZXN0RXZlbnRUYXJn
ZXQ+IGltcGwpCit2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdEV2ZW50VGFyZ2V0Ojp3cmFw
U2xvdyhQYXNzUmVmUHRyPFRlc3RFdmVudFRhcmdldD4gaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xh
dGUpCiB7CiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyOwogICAgIFY4UHJveHkq
IHByb3h5ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgKaW5kZXggMjdiYjViNWQ2NDZlMzgyZjRk
MzViNjMxODNiZmI4ZWRjYTIyNmE1Yi4uMDI2OGVhYTQ0ODExZmQyMzQ5ZmI1NGVjZjQ3MTdiOTE0
OGVjNzIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgKQEAgLTQ4LDcgKzQ4LDcgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBjb25zdCBpbnQgZXZlbnRMaXN0ZW5lckNhY2hlSW5kZXggPSB2OERlZmF1
bHRXcmFwcGVySW50ZXJuYWxGaWVsZENvdW50ICsgMDsKICAgICBzdGF0aWMgY29uc3QgaW50IGlu
dGVybmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAx
OwogcHJpdmF0ZToKLSAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwU2xvdyhQ
YXNzUmVmUHRyPFRlc3RFdmVudFRhcmdldD4pOworICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IHdyYXBTbG93KFBhc3NSZWZQdHI8VGVzdEV2ZW50VGFyZ2V0Piwgdjg6Oklzb2xhdGUq
KTsKIH07CiAKIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0RXZlbnRUYXJnZXQ6OndyYXAo
VGVzdEV2ZW50VGFyZ2V0KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKQEAgLTU2LDcgKzU2
LDcgQEAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RFdmVudFRhcmdldDo6d3JhcChUZXN0
RXZlbnRUYXJnZXQqIGltcGwsIHY4OjpJc29sYXQKICAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiB3cmFwcGVyID0gZ2V0RE9NT2JqZWN0TWFwKCkuZ2V0KGltcGwpOwogICAgICAgICBpZiAo
IXdyYXBwZXIuSXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuIHdyYXBwZXI7Ci0gICAgcmV0
dXJuIFY4VGVzdEV2ZW50VGFyZ2V0Ojp3cmFwU2xvdyhpbXBsKTsKKyAgICByZXR1cm4gVjhUZXN0
RXZlbnRUYXJnZXQ6OndyYXBTbG93KGltcGwsIGlzb2xhdGUpOwogfQogCiBpbmxpbmUgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdEV2ZW50VGFyZ2V0KiBpbXBsLCB2ODo6SXNvbGF0ZSog
aXNvbGF0ZSA9IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCmluZGV4IGQ2NDRkZjkzYmY0M2U2YWRh
OWZmMTM0OTZjMDlmYTVkYmQ0YWQ4NGEuLjk0MjA5NDgxN2FhNDA3YTBlZjMyOTkzZGE0ZWE1MWFi
OGMyMjc5OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCkBAIC0zMDUsNyArMzA1LDcgQEAgQWN0
aXZlRE9NT2JqZWN0KiBWOFRlc3RJbnRlcmZhY2U6OnRvQWN0aXZlRE9NT2JqZWN0KHY4OjpIYW5k
bGU8djg6Ok9iamVjdD4gb2JqZWMKICAgICByZXR1cm4gdG9OYXRpdmUob2JqZWN0KTsKIH0gICAg
ICAKIAotdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RJbnRlcmZhY2U6OndyYXBTbG93KFBh
c3NSZWZQdHI8VGVzdEludGVyZmFjZT4gaW1wbCkKK3Y4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhU
ZXN0SW50ZXJmYWNlOjp3cmFwU2xvdyhQYXNzUmVmUHRyPFRlc3RJbnRlcmZhY2U+IGltcGwsIHY4
OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBl
cjsKICAgICBWOFByb3h5KiBwcm94eSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmgKaW5kZXggN2NhNzI0
OWE2NjE5MzI0MGVmNGYwM2JjYzQ3NWU4MGNhYmY2YTRjYS4uZDAyY2UyOGI0YmUxZmI4MmQ2ZDE0
Y2QzNTk4MzViZDFiMTBhODYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaApAQCAtNTAsNyArNTAsNyBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBuYW1lZFByb3BlcnR5
U2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4sIGNvbnN0
IHY4OjpBY2Nlc3NvckluZm8mKTsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVybmFsRmllbGRD
b3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwogcHJpdmF0ZToK
LSAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwU2xvdyhQYXNzUmVmUHRyPFRl
c3RJbnRlcmZhY2U+KTsKKyAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwU2xv
dyhQYXNzUmVmUHRyPFRlc3RJbnRlcmZhY2U+LCB2ODo6SXNvbGF0ZSopOwogfTsKIAogdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RJbnRlcmZhY2U6OndyYXAoVGVzdEludGVyZmFjZSogaW1w
bCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCkBAIC01OCw3ICs1OCw3IEBAIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gVjhUZXN0SW50ZXJmYWNlOjp3cmFwKFRlc3RJbnRlcmZhY2UqIGltcGwsIHY4OjpJ
c29sYXRlKiBpCiAgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IGdldEFj
dGl2ZURPTU9iamVjdE1hcCgpLmdldChpbXBsKTsKICAgICAgICAgaWYgKCF3cmFwcGVyLklzRW1w
dHkoKSkKICAgICAgICAgICAgIHJldHVybiB3cmFwcGVyOwotICAgIHJldHVybiBWOFRlc3RJbnRl
cmZhY2U6OndyYXBTbG93KGltcGwpOworICAgIHJldHVybiBWOFRlc3RJbnRlcmZhY2U6OndyYXBT
bG93KGltcGwsIGlzb2xhdGUpOwogfQogCiBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRv
VjgoVGVzdEludGVyZmFjZSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCmluZGV4IDg2YzU1MjhlYWY5
N2Y2ZThiNTM0MjA1ODdjMjk4YWVkZDM3MjQ1YjUuLjNjZGQzYzMyMTQ3OTM2MjI0MGU4MjY1NWEw
NGFkMDgzYzI0M2Q4OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCBib29sIFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXI6Okhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKIH0KIAogCi12
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OndyYXBT
bG93KFBhc3NSZWZQdHI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+IGltcGwpCit2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OndyYXBTbG93KFBh
c3NSZWZQdHI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+IGltcGwsIHY4OjpJc29sYXRlKiBp
c29sYXRlKQogewogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlcjsKICAgICBWOFBy
b3h5KiBwcm94eSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
aAppbmRleCBjNTJhYzM0YzA2Y2NmNjdiYTBhYjNhYzc3YzJiNzUxMzlkMGUwOWRkLi5hOTgyNzc2
YmViMjc4MWE3MmZkYjk1OTk5MDVjNDEyY2I4MjFkNjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogICAgIHN0
YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVybmFs
RmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwogcHJp
dmF0ZToKLSAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwU2xvdyhQYXNzUmVm
UHRyPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPik7CisgICAgc3RhdGljIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4gd3JhcFNsb3coUGFzc1JlZlB0cjxUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cj4sIHY4OjpJc29sYXRlKik7CiB9OwogCiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXI6OndyYXAoVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIGlt
cGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQpAQCAtNTMsNyArNTMsNyBAQCB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OndyYXAoVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdAogICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBnZXRE
T01PYmplY3RNYXAoKS5nZXQoaW1wbCk7CiAgICAgICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkp
CiAgICAgICAgICAgICByZXR1cm4gd3JhcHBlcjsKLSAgICByZXR1cm4gVjhUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcjo6d3JhcFNsb3coaW1wbCk7CisgICAgcmV0dXJuIFY4VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXI6OndyYXBTbG93KGltcGwsIGlzb2xhdGUpOwogfQogCiBpbmxpbmUgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIGltcGws
IHY4OjpJc29sYXRlKiBpc29sYXRlID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9y
LmNwcAppbmRleCAyNjk0NzA3MjI1ZTc4ODY2NWViOWRmZmY0ODY4MDQwMmI0OTRjODBmLi40OTc2
NTY2ZmViYjA4ZmYzNDk4N2QzNjkxMDhiNGE1Y2UwMWFmODI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5h
bWVkQ29uc3RydWN0b3IuY3BwCkBAIC0xNTQsNyArMTU0LDcgQEAgQWN0aXZlRE9NT2JqZWN0KiBW
OFRlc3ROYW1lZENvbnN0cnVjdG9yOjp0b0FjdGl2ZURPTU9iamVjdCh2ODo6SGFuZGxlPHY4OjpP
YmplY3QKICAgICByZXR1cm4gdG9OYXRpdmUob2JqZWN0KTsKIH0gICAgICAKIAotdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjp3cmFwU2xvdyhQYXNzUmVmUHRy
PFRlc3ROYW1lZENvbnN0cnVjdG9yPiBpbXBsKQordjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRl
c3ROYW1lZENvbnN0cnVjdG9yOjp3cmFwU2xvdyhQYXNzUmVmUHRyPFRlc3ROYW1lZENvbnN0cnVj
dG9yPiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IHdyYXBwZXI7CiAgICAgVjhQcm94eSogcHJveHkgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1l
ZENvbnN0cnVjdG9yLmgKaW5kZXggMGQ1MTBkMjVkMmQ4MWQ2MGM2NDJkZWNkYmUyMjBiZWNmZGVk
ODcyMy4uMGE1ZjU4ZjY4ZjU3NmI0YjIwMThkYWE5MWYxY2FkYzM2NTRmNzk3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29u
c3RydWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgQWN0aXZlRE9NT2JqZWN0KiB0b0FjdGl2ZURPTU9iamVjdCh2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+KTsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVybmFsRmllbGRDb3VudCA9IHY4RGVm
YXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwogcHJpdmF0ZToKLSAgICBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwU2xvdyhQYXNzUmVmUHRyPFRlc3ROYW1lZENvbnN0
cnVjdG9yPik7CisgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcFNsb3coUGFz
c1JlZlB0cjxUZXN0TmFtZWRDb25zdHJ1Y3Rvcj4sIHY4OjpJc29sYXRlKik7CiB9OwogCiB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OndyYXAoVGVzdE5hbWVk
Q29uc3RydWN0b3IqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQpAQCAtNjAsNyArNjAsNyBA
QCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OndyYXAoVGVz
dE5hbWVkQ29uc3RydWN0b3IqIGltcGwsCiAgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
d3JhcHBlciA9IGdldEFjdGl2ZURPTU9iamVjdE1hcCgpLmdldChpbXBsKTsKICAgICAgICAgaWYg
KCF3cmFwcGVyLklzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiB3cmFwcGVyOwotICAgIHJl
dHVybiBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjp3cmFwU2xvdyhpbXBsKTsKKyAgICByZXR1cm4g
VjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6d3JhcFNsb3coaW1wbCwgaXNvbGF0ZSk7CiB9CiAKIGlu
bGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1w
bCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuY3BwCmluZGV4IGFhMGM1MTViMDIw
ZWE1ZGEzOGIwNTE0YzdkYzhkOTZlMDQyMDRhODEuLjdiMmQyYTc3OGMwMDBkZjhjMjZiNDFkMWQ1
ZWJiNThkY2QwOTY3ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3ROb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5jcHAKQEAgLTEwOCw3ICsxMDgsNyBAQCBib29sIFY4
VGVzdE5vZGU6Okhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKIH0KIAog
Ci12ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdE5vZGU6OndyYXBTbG93KFBhc3NSZWZQdHI8
VGVzdE5vZGU+IGltcGwpCit2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdE5vZGU6OndyYXBT
bG93KFBhc3NSZWZQdHI8VGVzdE5vZGU+IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewog
ICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlcjsKICAgICBWOFByb3h5KiBwcm94eSA9
IFY4UHJveHk6OnJldHJpZXZlKGltcGwtPmRvY3VtZW50KCktPmZyYW1lKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmgKaW5k
ZXggYzAyYzEzYWM4NTg5MzA1OGJhYzJhZDM0ZjAzMjk1MWZkOWMxNmY2NC4uNTdlNTAyNmRjNzZj
ZGExN2YzMWM4ODFhODJmMTEwYzQ1YzcwZTBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5oCkBAIC00Niw3ICs0Niw3IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdG9yQ2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJu
YWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CiBw
cml2YXRlOgotICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBTbG93KFBhc3NS
ZWZQdHI8VGVzdE5vZGU+KTsKKyAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFw
U2xvdyhQYXNzUmVmUHRyPFRlc3ROb2RlPiwgdjg6Oklzb2xhdGUqKTsKIH07CiAKIHY4OjpIYW5k
bGU8djg6Ok9iamVjdD4gVjhUZXN0Tm9kZTo6d3JhcChUZXN0Tm9kZSogaW1wbCwgdjg6Oklzb2xh
dGUqIGlzb2xhdGUpCkBAIC01NCw3ICs1NCw3IEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhU
ZXN0Tm9kZTo6d3JhcChUZXN0Tm9kZSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiAgICAg
ICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NV3JhcHBlcjo6Z2V0Q2Fj
aGVkV3JhcHBlcihpbXBsKTsKICAgICAgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSkKICAgICAg
ICAgICAgIHJldHVybiB3cmFwcGVyOwotICAgIHJldHVybiBWOFRlc3ROb2RlOjp3cmFwU2xvdyhp
bXBsKTsKKyAgICByZXR1cm4gVjhUZXN0Tm9kZTo6d3JhcFNsb3coaW1wbCwgaXNvbGF0ZSk7CiB9
CiAKIGlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0Tm9kZSogaW1wbCwgdjg6
Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRleCA0YWM0MDI2M2I4MTQ5OWJkZWNi
NmI5MzlmYWM2YzY4MjVkMWM3NjFiLi5kMGM5MThmM2I1YmFmYTNhYTQ3NDY2ZmU3YzBiOGU0MjQz
NWY3NDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0T2JqLmNwcApAQCAtMjM4OSw3ICsyMzg5LDcgQEAgYm9vbCBWOFRlc3RPYmo6
Okhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKIH0KIAogCi12ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IFY4VGVzdE9iajo6d3JhcFNsb3coUGFzc1JlZlB0cjxUZXN0T2JqPiBp
bXBsKQordjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RPYmo6OndyYXBTbG93KFBhc3NSZWZQ
dHI8VGVzdE9iaj4gaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiB3cmFwcGVyOwogICAgIFY4UHJveHkqIHByb3h5ID0gMDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouaAppbmRl
eCBiOGY5ZDc2YmJjODNiYzlkOTJmNDg5YzRlNjA5NzU5YmQzNjg0NDhhLi40ZjMwNWE5YTA5YTk1
NWVmNDZhMGY0ZTMxYTY0NjY1MDFlMTZhMTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5oCkBAIC01MSw3ICs1MSw3IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgdm9pZCBjdXN0b21BdHRyQWNjZXNzb3JTZXR0ZXIodjg6OkxvY2Fs
PHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+LCBjb25zdCB2ODo6QWNjZXNz
b3JJbmZvJik7CiAgICAgc3RhdGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERl
ZmF1bHRXcmFwcGVySW50ZXJuYWxGaWVsZENvdW50ICsgMDsKIHByaXZhdGU6Ci0gICAgc3RhdGlj
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcFNsb3coUGFzc1JlZlB0cjxUZXN0T2JqPik7Cisg
ICAgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcFNsb3coUGFzc1JlZlB0cjxUZXN0
T2JqPiwgdjg6Oklzb2xhdGUqKTsKIH07CiAKIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0
T2JqOjp3cmFwKFRlc3RPYmoqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQpAQCAtNTksNyAr
NTksNyBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdE9iajo6d3JhcChUZXN0T2JqKiBp
bXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKICAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiB3cmFwcGVyID0gZ2V0RE9NT2JqZWN0TWFwKCkuZ2V0KGltcGwpOwogICAgICAgICBpZiAoIXdy
YXBwZXIuSXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuIHdyYXBwZXI7Ci0gICAgcmV0dXJu
IFY4VGVzdE9iajo6d3JhcFNsb3coaW1wbCk7CisgICAgcmV0dXJuIFY4VGVzdE9iajo6d3JhcFNs
b3coaW1wbCwgaXNvbGF0ZSk7CiB9CiAKIGlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9W
OChUZXN0T2JqKiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4IDk2
MjQ1MmU1ZDhkYzMzNTQ3NzZhZDUxNjk2Y2I2NmI3MGY0ZTQ0ZjcuLjcxZTQ2N2YyZjBiNzVjZTJj
OThkMmRkMTRjYjZiZTI4Mzg3MTc1YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC0yOTMsNyArMjkzLDcgQEAgYm9v
bCBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6Okhhc0luc3RhbmNlKHY4OjpI
YW5kbGU8djg6OlZhbHVlPiB2YWwKIH0KIAogCi12ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6d3JhcFNsb3coUGFzc1JlZlB0cjxUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlPiBpbXBsKQordjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OndyYXBTbG93KFBhc3NS
ZWZQdHI8VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZT4gaW1wbCwgdjg6Oklzb2xh
dGUqIGlzb2xhdGUpCiB7CiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyOwogICAg
IFY4UHJveHkqIHByb3h5ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UuaAppbmRleCAzNzllYWNiMTY3MWM4OWIyMjdkMzQzYTFlMDk4
MjIxZTQ1YzZjOGIwLi45MzNmOTE4ZTliZGU2NTVmM2U3YTY2NmFhODY1M2VmNGM3MGI5NGYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZS5oCkBAIC00OCw3ICs0OCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IGNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0
YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVy
bmFsRmllbGRDb3VudCArIDA7CiBwcml2YXRlOgotICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IHdyYXBTbG93KFBhc3NSZWZQdHI8VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZT4pOworICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBTbG93KFBhc3NS
ZWZQdHI8VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZT4sIHY4OjpJc29sYXRlKik7
CiB9OwogCiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZTo6d3JhcChUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKiBpbXBs
LCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKQEAgLTU2LDcgKzU2LDcgQEAgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OndyYXAoVGVzdFNl
cmlhbGl6ZWQKICAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gZ2V0RE9N
T2JqZWN0TWFwKCkuZ2V0KGltcGwpOwogICAgICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpKQog
ICAgICAgICAgICAgcmV0dXJuIHdyYXBwZXI7Ci0gICAgcmV0dXJuIFY4VGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZTo6d3JhcFNsb3coaW1wbCk7CisgICAgcmV0dXJuIFY4VGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6d3JhcFNsb3coaW1wbCwgaXNvbGF0ZSk7CiB9
CiAKIGlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlKiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>