<?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>81222</bug_id>
          
          <creation_ts>2012-03-15 08:11:02 -0700</creation_ts>
          <short_desc>[chromium] Changes to overdraw metrics to allow upload tracking</short_desc>
          <delta_ts>2012-03-16 02:20:49 -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>New Bugs</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>
          <dependson>81156</dependson>
          <blocked>81175</blocked>
    
    <blocked>81242</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dana Jansens">danakj</reporter>
          <assigned_to name="Dana Jansens">danakj</assigned_to>
          <cc>backer</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>piman</cc>
    
    <cc>reveman</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>579393</commentid>
    <comment_count>0</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-15 08:11:02 -0700</bug_when>
    <thetext>[chromium] Changes to overdraw metrics to all upload tracking</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579401</commentid>
    <comment_count>1</comment_count>
      <attachid>132054</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-15 08:19:18 -0700</bug_when>
    <thetext>Created attachment 132054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579672</commentid>
    <comment_count>2</comment_count>
      <attachid>132054</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-03-15 13:23:44 -0700</bug_when>
    <thetext>Comment on attachment 132054
Patch

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

R=me.  It makes sense to rename painting to upload, since we may paint much more if we&apos;re not using per-tile painting.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCOcclusionTracker.h:113
&gt; +    OwnPtr&lt;CCOverdrawMetrics&gt; m_overdrawMetrics;

nit: Maybe make this a local, since you always create it and return a reference to it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579674</commentid>
    <comment_count>3</comment_count>
      <attachid>132054</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-15 13:25:01 -0700</bug_when>
    <thetext>Comment on attachment 132054
Patch

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

Thanks!

&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCOcclusionTracker.h:113
&gt;&gt; +    OwnPtr&lt;CCOverdrawMetrics&gt; m_overdrawMetrics;
&gt; 
&gt; nit: Maybe make this a local, since you always create it and return a reference to it?

I agree, but then I can&apos;t pass a const CCOcclusionTracker around to culling. WDYT is better?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579689</commentid>
    <comment_count>4</comment_count>
      <attachid>132054</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-03-15 13:36:38 -0700</bug_when>
    <thetext>Comment on attachment 132054
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCOcclusionTracker.h:113
&gt;&gt;&gt; +    OwnPtr&lt;CCOverdrawMetrics&gt; m_overdrawMetrics;
&gt;&gt; 
&gt;&gt; nit: Maybe make this a local, since you always create it and return a reference to it?
&gt; 
&gt; I agree, but then I can&apos;t pass a const CCOcclusionTracker around to culling. WDYT is better?

Ah, I see.  What&apos;s in the patch seems reasonable given that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579968</commentid>
    <comment_count>5</comment_count>
      <attachid>132164</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-15 17:51:24 -0700</bug_when>
    <thetext>Created attachment 132164
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580295</commentid>
    <comment_count>6</comment_count>
      <attachid>132164</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-16 02:20:45 -0700</bug_when>
    <thetext>Comment on attachment 132164
Patch

Clearing flags on attachment: 132164

Committed r110973: &lt;http://trac.webkit.org/changeset/110973&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580296</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-16 02:20:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132054</attachid>
            <date>2012-03-15 08:19:18 -0700</date>
            <delta_ts>2012-03-15 17:51:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81222-20120315111915.patch</filename>
            <type>text/plain</type>
            <size>38323</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwODA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWZhZDQ0NzQ1MmQzZmJm
MzY3NDEwNmRmZjUyMTgzOWE4MTYxMTE5Yy4uZjJiZjlkNjYyYTA4ZjFlMmJkZjUzNDgxODQ0NzRi
MGI3YTQ4ZTYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTAzLTE1ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQ2hh
bmdlcyB0byBvdmVyZHJhdyBtZXRyaWNzIHRvIGFsbG93IHVwbG9hZCB0cmFja2luZworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEyMjIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdGljayBDQ092ZXJkcmF3
TWV0cmljcyBpbnRvIENDT2NjbHVzaW9uVHJhY2tlciwgc28gdGhhdCBpdCBpcyBhdmFpbGFibGUK
KyAgICAgICAgZXZlcnl3aGVyZSB0aGF0IGN1bGxpbmcvZHJhd2luZy9wYWludGluZyBpcyBnb2lu
ZyBvbi4gVGhlbiB3ZSBjYW4gc3RvcAorICAgICAgICBwbHVtYmluZyBhIG1ldHJpY3Mgb2JqZWN0
IHRocm91Z2ggQ0NRdWFkQ3VsbGVyLgorCisgICAgICAgIFJlbmFtZSB0aGUgQ0NPdmVyZHJhd01l
dHJpY3MgInBhaW50aW5nIiBzdHVmZiB0byAidXBsb2FkaW5nIiBhcyB0aGlzIHdpbGwKKyAgICAg
ICAgbWVhc3VyZSB0ZXh0dXJlIHVwbG9hZHMgcmF0aGVyIHRoYW4gcGl4ZWxzIHBhaW50ZWQgaW4g
bWFpbiBtZW1vcnkuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6Y2FsY3VsYXRlUmVu
ZGVyUGFzc2VzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ09j
Y2x1c2lvblRyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6OjpDQ09jY2x1c2lvblRyYWNr
ZXJCYXNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ09jY2x1
c2lvblRyYWNrZXIuaDoKKyAgICAgICAgKENDT2NjbHVzaW9uVHJhY2tlckJhc2UpOgorICAgICAg
ICAoV2ViQ29yZTo6Q0NPY2NsdXNpb25UcmFja2VyQmFzZTo6b3ZlcmRyYXdNZXRyaWNzKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ092ZXJkcmF3TWV0cmljcy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDQ092ZXJkcmF3TWV0cmljczo6ZGlkQ3VsbCk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDT3ZlcmRyYXdNZXRyaWNzOjpkaWRE
cmF3KToKKyAgICAgICAgKFdlYkNvcmU6OkNDT3ZlcmRyYXdNZXRyaWNzOjpyZWNvcmRNZXRyaWNz
KToKKyAgICAgICAgKFdlYkNvcmU6OkNDT3ZlcmRyYXdNZXRyaWNzOjpyZWNvcmRNZXRyaWNzSW50
ZXJuYWwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT3ZlcmRy
YXdNZXRyaWNzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDT3Zl
cmRyYXdNZXRyaWNzOjpjcmVhdGUpOgorICAgICAgICAoQ0NPdmVyZHJhd01ldHJpY3MpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUXVhZEN1bGxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1F1YWRDdWxsZXI6OkNDUXVhZEN1bGxlcik6CisgICAgICAgIChX
ZWJDb3JlOjpDQ1F1YWRDdWxsZXI6OmFwcGVuZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NRdWFkQ3VsbGVyLmg6CisgICAgICAgIChDQ1F1YWRDdWxsZXIpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclBhc3M6OmFwcGVuZFF1YWRzRm9yTGF5ZXIpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDQ1JlbmRlclBhc3MpOgorCiAyMDEyLTAzLTE0
ICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1
bV0gTW92ZSBvdmVyZHJhdyBtZXRyaWNzIGludG8gYSB0ZW1wbGF0ZWQgY2xhc3MgZm9yIGJvdGgg
cGFpbnQgYW5kIGRyYXcgbWV0cmljcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMDJi
OGM5MTNhMmYxNjhlMDI1NzYwNDNmNzZhZmQ5NWNkYTA4YWIyNC4uYmFhMjQzYmQwMTZhM2Y4OTFk
MTUwOGU4YWM1ZTEzNTFiNGU3ZGU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMi0wMy0xNSAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBbY2hyb21pdW1dIENoYW5nZXMgdG8gb3ZlcmRyYXcgbWV0cmljcyB0byBh
bGxvdyB1cGxvYWQgdHJhY2tpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgxMjIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB0ZXN0cy9DQ1F1YWRDdWxsZXJUZXN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmFwcGVuZFF1YWRzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
VEVTVCk6CisgICAgICAgICogdGVzdHMvTW9ja0NDUXVhZEN1bGxlci5oOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja0NDUXVhZEN1bGxlcjo6TW9ja0NDUXVhZEN1bGxlcik6CisKIDIwMTItMDMtMTQg
IERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVt
XSBNb3ZlIG92ZXJkcmF3IG1ldHJpY3MgaW50byBhIHRlbXBsYXRlZCBjbGFzcyBmb3IgYm90aCBw
YWludCBhbmQgZHJhdyBtZXRyaWNzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBs
LmNwcAppbmRleCBiOWIzYTQ2YTRjODhjMzQ5MmIxY2Q1MDE0ZTIxMDY2OGNjOTk2MzY0Li4yODIw
YjhiMWU2ZjdjZDEyMGNhYTJiMDQ0Yzk5MjI3NTIwOGEzNGU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0xheWVyVHJlZUhvc3RJbXBsLmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgImNjL0ND
TGF5ZXJJdGVyYXRvci5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdC5oIgogI2luY2x1
ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdENvbW1vbi5oIgotI2luY2x1ZGUgImNjL0NDT3ZlcmRyYXdN
ZXRyaWNzLmgiCiAjaW5jbHVkZSAiY2MvQ0NQYWdlU2NhbGVBbmltYXRpb24uaCIKICNpbmNsdWRl
ICJjYy9DQ1JlbmRlclN1cmZhY2VEcmF3UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDVGhyZWFkVGFz
ay5oIgpAQCAtMjYwLDkgKzI1OSw2IEBAIHZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6Y2FsY3Vs
YXRlUmVuZGVyUGFzc2VzKENDUmVuZGVyUGFzc0xpc3QmIHBhc3NlcywgQ0NMYXllCiAgICAgICAg
IHBhc3Nlcy5hcHBlbmQocGFzcy5yZWxlYXNlKCkpOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBj
b21wdXRlIG92ZXJkcmF3IG1ldHJpY3Mgb25seSBvY2Nhc2lvbmFsbHksIG5vdCBldmVyeSBmcmFt
ZS4KLSAgICBDQ092ZXJkcmF3TWV0cmljcyBvdmVyZHJhd01ldHJpY3M7Ci0KICAgICBJbnRSZWN0
IHNjaXNzb3JSZWN0OwogICAgIGlmIChsYXllclJlbmRlcmVyQ2FwYWJpbGl0aWVzKCkudXNpbmdQ
YXJ0aWFsU3dhcCkKICAgICAgICAgc2Npc3NvclJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KG1fcm9v
dERhbWFnZVJlY3QpOwpAQCAtMjk2LDExICsyOTIsMTEgQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3RJ
bXBsOjpjYWxjdWxhdGVSZW5kZXJQYXNzZXMoQ0NSZW5kZXJQYXNzTGlzdCYgcGFzc2VzLCBDQ0xh
eWUKICAgICAgICAgfQogCiAgICAgICAgIGl0LT53aWxsRHJhdyhtX2xheWVyUmVuZGVyZXIuZ2V0
KCkpOwotICAgICAgICBwYXNzLT5hcHBlbmRRdWFkc0ZvckxheWVyKCppdCwgJm9jY2x1c2lvblRy
YWNrZXIsICZvdmVyZHJhd01ldHJpY3MpOworICAgICAgICBwYXNzLT5hcHBlbmRRdWFkc0Zvckxh
eWVyKCppdCwgJm9jY2x1c2lvblRyYWNrZXIpOwogICAgICAgICBvY2NsdXNpb25UcmFja2VyLm1h
cmtPY2NsdWRlZEJlaGluZExheWVyKCppdCk7CiAgICAgfQogCi0gICAgb3ZlcmRyYXdNZXRyaWNz
LnJlY29yZE1ldHJpY3ModGhpcyk7CisgICAgb2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJp
Y3MoKS5yZWNvcmRNZXRyaWNzKHRoaXMpOwogfQogCiB2b2lkIENDTGF5ZXJUcmVlSG9zdEltcGw6
OmFuaW1hdGVMYXllcnNSZWN1cnNpdmUoQ0NMYXllckltcGwqIGN1cnJlbnQsIGRvdWJsZSBtb25v
dG9uaWNUaW1lLCBkb3VibGUgd2FsbENsb2NrVGltZSwgQ0NBbmltYXRpb25FdmVudHNWZWN0b3Im
IGV2ZW50cywgYm9vbCYgZGlkQW5pbWF0ZSwgYm9vbCYgbmVlZHNBbmltYXRlTGF5ZXJzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NP
Y2NsdXNpb25UcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKaW5kZXggYjJkZmNiNWI2ODBjYzU3MDQ4
ZDU3YTlmMTIzMDEwYjEwYzQ0NmM1OS4uNDBjOWYxYWZlOWI5ZDdiNDkzZjUzYTA0YWU5MDc1YzM3
ZmEwZDQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3BwCkBAIC00Miw2
ICs0Miw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIExheWVyVHlwZSwgdHlwZW5hbWUgUmVuZGVyU3Vy
ZmFjZVR5cGU+CiBDQ09jY2x1c2lvblRyYWNrZXJCYXNlPExheWVyVHlwZSwgUmVuZGVyU3VyZmFj
ZVR5cGU+OjpDQ09jY2x1c2lvblRyYWNrZXJCYXNlKEludFJlY3Qgc2Npc3NvclJlY3RJblNjcmVl
blNwYWNlKQogICAgIDogbV9zY2lzc29yUmVjdEluU2NyZWVuU3BhY2Uoc2Npc3NvclJlY3RJblNj
cmVlblNwYWNlKQogICAgICwgbV9zdXJmYWNlRGFtYWdlQ2xpZW50KDApCisgICAgLCBtX292ZXJk
cmF3TWV0cmljcyhDQ092ZXJkcmF3TWV0cmljczo6Y3JlYXRlKCkpCiAgICAgLCBtX3VzZVBhaW50
VHJhY2tpbmcodHJ1ZSkgLy8gRklYTUU6IFJlbW92ZSB0aGlzIHdoZW4gcGFpbnQgdHJhY2tpbmcg
aXMgb24gZm9yIHBhaW50IGN1bGxpbmcuCiB7CiB9CkBAIC01MCw2ICs1MSw3IEBAIHRlbXBsYXRl
PHR5cGVuYW1lIExheWVyVHlwZSwgdHlwZW5hbWUgUmVuZGVyU3VyZmFjZVR5cGU+CiBDQ09jY2x1
c2lvblRyYWNrZXJCYXNlPExheWVyVHlwZSwgUmVuZGVyU3VyZmFjZVR5cGU+OjpDQ09jY2x1c2lv
blRyYWNrZXJCYXNlKEludFJlY3Qgc2Npc3NvclJlY3RJblNjcmVlblNwYWNlLCBjb25zdCBEYW1h
Z2VDbGllbnRUeXBlKiBzdXJmYWNlRGFtYWdlQ2xpZW50KQogICAgIDogbV9zY2lzc29yUmVjdElu
U2NyZWVuU3BhY2Uoc2Npc3NvclJlY3RJblNjcmVlblNwYWNlKQogICAgICwgbV9zdXJmYWNlRGFt
YWdlQ2xpZW50KHN1cmZhY2VEYW1hZ2VDbGllbnQpCisgICAgLCBtX292ZXJkcmF3TWV0cmljcyhD
Q092ZXJkcmF3TWV0cmljczo6Y3JlYXRlKCkpCiAgICAgLCBtX3VzZVBhaW50VHJhY2tpbmcodHJ1
ZSkgLy8gRklYTUU6IFJlbW92ZSB0aGlzIHdoZW4gcGFpbnQgdHJhY2tpbmcgaXMgb24gZm9yIHBh
aW50IGN1bGxpbmcuCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5oCmluZGV4
IDE5ZmMyYzFkZDBkYWM4MjU1YjU2NDI4MjQzMjc4MDNiMTJhZWVlMzQuLmVhOTMwYTQ0NTIxZTZj
ZmQ4MWQyOGE3Yjg0Yjg3NmMxODU1Mzk1ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJh
Y2tlci5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVk
ZSAiUmVnaW9uLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKKyNpbmNsdWRl
ICJjYy9DQ092ZXJkcmF3TWV0cmljcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBD
Q0xheWVySW1wbDsKQEAgLTc3LDYgKzc4LDkgQEAgcHVibGljOgogICAgIC8vIEdpdmVzIGFuIHVu
b2NjbHVkZWQgc3ViLXJlY3Qgb2YgfGNvbnRlbnRSZWN0fCBpbiB0aGUgY29udGVudCBzcGFjZSBv
ZiB0aGUgbGF5ZXIuIFVzZWQgd2hlbiBjb25zaWRlcmluZyBvY2NsdXNpb24gZm9yIGEgbGF5ZXIg
dGhhdCBwYWludHMvZHJhd3Mgc29tZXRoaW5nLgogICAgIEludFJlY3QgdW5vY2NsdWRlZENvbnRl
bnRSZWN0KGNvbnN0IExheWVyVHlwZSosIGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0KSBjb25z
dDsKIAorICAgIC8vIFJlcG9ydCBvcGVyYXRpb25zIGZvciByZWNvcmRpbmcgb3ZlcmRyYXcgbWV0
cmljcy4KKyAgICBDQ092ZXJkcmF3TWV0cmljcyYgb3ZlcmRyYXdNZXRyaWNzKCkgY29uc3QgeyBy
ZXR1cm4gKm1fb3ZlcmRyYXdNZXRyaWNzLmdldCgpOyB9CisKICAgICAvLyBGSVhNRTogUmVtb3Zl
IHRoaXMgd2hlbiBwYWludCB0cmFja2luZyBpcyBvbiBmb3IgcGFpbnQgY3VsbGluZy4KICAgICB2
b2lkIHNldFVzZVBhaW50VHJhY2tpbmcoYm9vbCB1c2UpIHsgbV91c2VQYWludFRyYWNraW5nID0g
dXNlOyB9CiAKQEAgLTEwNiw2ICsxMTAsNyBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIElu
dFJlY3QgbV9zY2lzc29yUmVjdEluU2NyZWVuU3BhY2U7CiAgICAgY29uc3QgRGFtYWdlQ2xpZW50
VHlwZSogbV9zdXJmYWNlRGFtYWdlQ2xpZW50OworICAgIE93blB0cjxDQ092ZXJkcmF3TWV0cmlj
cz4gbV9vdmVyZHJhd01ldHJpY3M7CiAgICAgYm9vbCBtX3VzZVBhaW50VHJhY2tpbmc7IC8vIEZJ
WE1FOiBSZW1vdmUgdGhpcyB3aGVuIHBhaW50IHRyYWNraW5nIGlzIG9uIGZvciBwYWludCBjdWxs
aW5nLgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NPdmVyZHJhd01ldHJpY3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPdmVyZHJhd01ldHJpY3MuY3BwCmluZGV4IDRjYjJm
NGI4MGRiOWZkZDgzYWM2OTNlMGE1Y2I5ZDQwODkwZmYzZTYuLmE3N2RjNjlmMDYxYjUwODNiODhj
OGI1OGYyOTA4YzNjNDk1MDY0YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT3ZlcmRyYXdNZXRyaWNzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ092ZXJkcmF3TWV0cmljcy5j
cHAKQEAgLTU4LDIwICs1OCwyNiBAQCBzdGF0aWMgaW5saW5lIGZsb2F0IHF1YWRBcmVhKGNvbnN0
IEZsb2F0UXVhZCYgcXVhZCkKICAgICAgICAgICAgICAgICAgICAgICAgd2VkZ2VQcm9kdWN0KHF1
YWQucDQoKSwgcXVhZC5wMSgpKSkpOwogfQogCi12b2lkIENDT3ZlcmRyYXdNZXRyaWNzOjpkaWRE
cmF3KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm1Ub1RhcmdldCwgY29uc3Qg
SW50UmVjdCYgYmVmb3JlQ3VsbFJlY3QsIGNvbnN0IEludFJlY3QmIGFmdGVyQ3VsbFJlY3QsIGNv
bnN0IEludFJlY3QmIG9wYXF1ZVJlY3QpCit2b2lkIENDT3ZlcmRyYXdNZXRyaWNzOjpkaWRDdWxs
KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm1Ub1RhcmdldCwgY29uc3QgSW50
UmVjdCYgYmVmb3JlQ3VsbFJlY3QsIGNvbnN0IEludFJlY3QmIGFmdGVyQ3VsbFJlY3QpCiB7CiAg
ICAgZmxvYXQgYmVmb3JlQ3VsbEFyZWEgPSBxdWFkQXJlYSh0cmFuc2Zvcm1Ub1RhcmdldC5tYXBR
dWFkKEZsb2F0UXVhZChiZWZvcmVDdWxsUmVjdCkpKTsKICAgICBmbG9hdCBhZnRlckN1bGxBcmVh
ID0gcXVhZEFyZWEodHJhbnNmb3JtVG9UYXJnZXQubWFwUXVhZChGbG9hdFF1YWQoYWZ0ZXJDdWxs
UmVjdCkpKTsKKworICAgIG1fcGl4ZWxzQ3VsbGVkICs9IGJlZm9yZUN1bGxBcmVhIC0gYWZ0ZXJD
dWxsQXJlYTsKK30KKwordm9pZCBDQ092ZXJkcmF3TWV0cmljczo6ZGlkRHJhdyhjb25zdCBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtVG9UYXJnZXQsIGNvbnN0IEludFJlY3QmIGFmdGVy
Q3VsbFJlY3QsIGNvbnN0IEludFJlY3QmIG9wYXF1ZVJlY3QpCit7CisgICAgZmxvYXQgYWZ0ZXJD
dWxsQXJlYSA9IHF1YWRBcmVhKHRyYW5zZm9ybVRvVGFyZ2V0Lm1hcFF1YWQoRmxvYXRRdWFkKGFm
dGVyQ3VsbFJlY3QpKSk7CiAgICAgZmxvYXQgYWZ0ZXJDdWxsT3BhcXVlQXJlYSA9IHF1YWRBcmVh
KHRyYW5zZm9ybVRvVGFyZ2V0Lm1hcFF1YWQoRmxvYXRRdWFkKGludGVyc2VjdGlvbihvcGFxdWVS
ZWN0LCBhZnRlckN1bGxSZWN0KSkpKTsKIAogICAgIG1fcGl4ZWxzRHJhd25PcGFxdWUgKz0gYWZ0
ZXJDdWxsT3BhcXVlQXJlYTsKICAgICBtX3BpeGVsc0RyYXduVHJhbnNsdWNlbnQgKz0gYWZ0ZXJD
dWxsQXJlYSAtIGFmdGVyQ3VsbE9wYXF1ZUFyZWE7Ci0gICAgbV9waXhlbHNDdWxsZWQgKz0gYmVm
b3JlQ3VsbEFyZWEgLSBhZnRlckN1bGxBcmVhOwogfQogCiB2b2lkIENDT3ZlcmRyYXdNZXRyaWNz
OjpyZWNvcmRNZXRyaWNzKGNvbnN0IENDTGF5ZXJUcmVlSG9zdCogbGF5ZXJUcmVlSG9zdCkgY29u
c3QKIHsKLSAgICByZWNvcmRNZXRyaWNzSW50ZXJuYWw8Q0NMYXllclRyZWVIb3N0PihQQUlOVElO
RywgbGF5ZXJUcmVlSG9zdCk7CisgICAgcmVjb3JkTWV0cmljc0ludGVybmFsPENDTGF5ZXJUcmVl
SG9zdD4oVVBMT0FESU5HLCBsYXllclRyZWVIb3N0KTsKIH0KIAogdm9pZCBDQ092ZXJkcmF3TWV0
cmljczo6cmVjb3JkTWV0cmljcyhjb25zdCBDQ0xheWVyVHJlZUhvc3RJbXBsKiBsYXllclRyZWVI
b3N0KSBjb25zdApAQCAtOTcsMTMgKzEwMywxMyBAQCB2b2lkIENDT3ZlcmRyYXdNZXRyaWNzOjpy
ZWNvcmRNZXRyaWNzSW50ZXJuYWwoTWV0cmljc1R5cGUgbWV0cmljc1R5cGUsIGNvbnN0IExheQog
ICAgICAgICBvcGFxdWVDb3VudGVyTmFtZSA9ICJQaXhlbHNEcmF3bk9wYXF1ZSI7CiAgICAgICAg
IHRyYW5zbHVjZW50Q291bnRlck5hbWUgPSAiUGl4ZWxzRHJhd25UcmFuc2x1Y2VudCI7CiAgICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgUEFJTlRJTkc6Ci0gICAgICAgIGhpc3RvZ3JhbU9wYXF1ZU5h
bWUgPSAiUmVuZGVyZXI0LnBhaW50UGl4ZWxDb3VudE9wYXF1ZSI7Ci0gICAgICAgIGhpc3RvZ3Jh
bVRyYW5zbHVjZW50TmFtZSA9ICJSZW5kZXJlcjQucGFpbnRQaXhlbENvdW50VHJhbnNsdWNlbnQi
OwotICAgICAgICBoaXN0b2dyYW1DdWxsZWROYW1lID0gIlJlbmRlcmVyNC5wYWludFBpeGVsQ291
bnRDdWxsZWQiOwotICAgICAgICBjdWxsQ291bnRlck5hbWUgPSAiUGFpbnRQaXhlbHNDdWxsZWQi
OwotICAgICAgICBvcGFxdWVDb3VudGVyTmFtZSA9ICJQaXhlbHNQYWludGVkT3BhcXVlIjsKLSAg
ICAgICAgdHJhbnNsdWNlbnRDb3VudGVyTmFtZSA9ICJQaXhlbHNQYWludGVkVHJhbnNsdWNlbnQi
OworICAgIGNhc2UgVVBMT0FESU5HOgorICAgICAgICBoaXN0b2dyYW1PcGFxdWVOYW1lID0gIlJl
bmRlcmVyNC51cGxvYWRQaXhlbENvdW50T3BhcXVlIjsKKyAgICAgICAgaGlzdG9ncmFtVHJhbnNs
dWNlbnROYW1lID0gIlJlbmRlcmVyNC51cGxvYWRQaXhlbENvdW50VHJhbnNsdWNlbnQiOworICAg
ICAgICBoaXN0b2dyYW1DdWxsZWROYW1lID0gIlJlbmRlcmVyNC51cGxvYWRQaXhlbENvdW50Q3Vs
bGVkIjsKKyAgICAgICAgY3VsbENvdW50ZXJOYW1lID0gIlVwbG9hZFBpeGVsc0N1bGxlZCI7Cisg
ICAgICAgIG9wYXF1ZUNvdW50ZXJOYW1lID0gIlBpeGVsc1VwbG9hZGVkT3BhcXVlIjsKKyAgICAg
ICAgdHJhbnNsdWNlbnRDb3VudGVyTmFtZSA9ICJQaXhlbHNVcGxvYWRlZFRyYW5zbHVjZW50IjsK
ICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIEFTU0VSVChoaXN0b2dyYW1PcGFxdWVOYW1lKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDT3ZlcmRyYXdNZXRyaWNzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ092ZXJkcmF3TWV0cmljcy5oCmluZGV4IGNmNzIzNTc4NWVjYTZmYmQyNjIz
MmNmMmYyZDhjZmMzYTU4NDNkZTAuLjQ4OWNhNTY5YzUyNTUzODljY2YzMDJhNGMzOGNkODdmNjIw
Y2MxZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDT3ZlcmRyYXdNZXRyaWNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPdmVyZHJhd01ldHJpY3MuaApAQCAtMjUsMTcgKzI1LDIx
IEBACiAjaWZuZGVmIENDT3ZlcmRyYXdNZXRyaWNzX2gKICNkZWZpbmUgQ0NPdmVyZHJhd01ldHJp
Y3NfaAogCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgSW50UmVjdDsKIGNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4OwogY2xhc3MgQ0NM
YXllclRyZWVIb3N0OwogY2xhc3MgQ0NMYXllclRyZWVIb3N0SW1wbDsKIAorLy8gRklYTUU6IGNv
bXB1dGUgb3ZlcmRyYXcgbWV0cmljcyBvbmx5IG9jY2FzaW9uYWxseSwgbm90IGV2ZXJ5IGZyYW1l
LgogY2xhc3MgQ0NPdmVyZHJhd01ldHJpY3MgewogcHVibGljOgotICAgIENDT3ZlcmRyYXdNZXRy
aWNzKCk7CisgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NPdmVyZHJhd01ldHJpY3M+IGNyZWF0ZSgp
IHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ092ZXJkcmF3TWV0cmljcygpKTsgfQogCi0gICAgdm9p
ZCBkaWREcmF3KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm1Ub1RhcmdldCwg
Y29uc3QgSW50UmVjdCYgYmVmb3JlQ3VsbFJlY3QsIGNvbnN0IEludFJlY3QmIGFmdGVyQ3VsbFJl
Y3QsIGNvbnN0IEludFJlY3QmIG9wYXF1ZVJlY3QpOworICAgIHZvaWQgZGlkQ3VsbChjb25zdCBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtVG9UYXJnZXQsIGNvbnN0IEludFJlY3QmIGJl
Zm9yZUN1bGxSZWN0LCBjb25zdCBJbnRSZWN0JiBhZnRlckN1bGxSZWN0KTsKKyAgICB2b2lkIGRp
ZERyYXcoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybVRvVGFyZ2V0LCBjb25z
dCBJbnRSZWN0JiBhZnRlckN1bGxSZWN0LCBjb25zdCBJbnRSZWN0JiBvcGFxdWVSZWN0KTsKIAog
ICAgIHZvaWQgcmVjb3JkTWV0cmljcyhjb25zdCBDQ0xheWVyVHJlZUhvc3QqKSBjb25zdDsKICAg
ICB2b2lkIHJlY29yZE1ldHJpY3MoY29uc3QgQ0NMYXllclRyZWVIb3N0SW1wbCopIGNvbnN0OwpA
QCAtNDYsOSArNTAsMTEgQEAgcHVibGljOgogICAgIGZsb2F0IHBpeGVsc0N1bGxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fcGl4ZWxzQ3VsbGVkOyB9CiAKIHByaXZhdGU6CisgICAgQ0NPdmVyZHJhd01l
dHJpY3MoKTsKKwogICAgIGVudW0gTWV0cmljc1R5cGUgewogICAgICAgICBEUkFXSU5HLAotICAg
ICAgICBQQUlOVElORworICAgICAgICBVUExPQURJTkcKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgTGF5ZXJUcmVlSG9zdFR5cGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1F1YWRDdWxsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NRdWFkQ3VsbGVyLmNwcAppbmRl
eCBiMWViMTgzZWJiNjVmNDgyOTA3NWY5ZWYxNjM3NjM4NGU0NjY1OThlLi5mMmE4NTg3MTcwYzNi
YTVhZTIyZTFiMzg4ZjNmODgyNmQwZWZkM2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1F1YWRDdWxsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUXVhZEN1bGxlci5jcHAK
QEAgLTQwLDExICs0MCwxMCBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLUNDUXVhZEN1bGxlcjo6Q0NRdWFkQ3VsbGVyKENDUXVhZExpc3QmIHF1YWRMaXN0
LCBDQ0xheWVySW1wbCogbGF5ZXIsIENDT2NjbHVzaW9uVHJhY2tlckltcGwqIG9jY2x1c2lvblRy
YWNrZXIsIENDT3ZlcmRyYXdNZXRyaWNzKiBvdmVyZHJhd01ldHJpY3MpCitDQ1F1YWRDdWxsZXI6
OkNDUXVhZEN1bGxlcihDQ1F1YWRMaXN0JiBxdWFkTGlzdCwgQ0NMYXllckltcGwqIGxheWVyLCBD
Q09jY2x1c2lvblRyYWNrZXJJbXBsKiBvY2NsdXNpb25UcmFja2VyKQogICAgIDogbV9xdWFkTGlz
dChxdWFkTGlzdCkKICAgICAsIG1fbGF5ZXIobGF5ZXIpCiAgICAgLCBtX29jY2x1c2lvblRyYWNr
ZXIob2NjbHVzaW9uVHJhY2tlcikKLSAgICAsIG1fb3ZlcmRyYXdNZXRyaWNzKG92ZXJkcmF3TWV0
cmljcykKIHsKIH0KIApAQCAtNTYsOCArNTUsOCBAQCB2b2lkIENDUXVhZEN1bGxlcjo6YXBwZW5k
KFBhc3NPd25QdHI8Q0NEcmF3UXVhZD4gcGFzc0RyYXdRdWFkKQogICAgIGlmIChrZWVwUXVhZCkK
ICAgICAgICAgZHJhd1F1YWQtPnNldFF1YWRWaXNpYmxlUmVjdChjdWxsZWRSZWN0KTsKIAotICAg
IGlmIChtX292ZXJkcmF3TWV0cmljcykKLSAgICAgICAgbV9vdmVyZHJhd01ldHJpY3MtPmRpZERy
YXcoZHJhd1F1YWQtPnF1YWRUcmFuc2Zvcm0oKSwgZHJhd1F1YWQtPnF1YWRSZWN0KCksIGN1bGxl
ZFJlY3QsIGRyYXdRdWFkLT5vcGFxdWVSZWN0KCkpOworICAgIG1fb2NjbHVzaW9uVHJhY2tlci0+
b3ZlcmRyYXdNZXRyaWNzKCkuZGlkQ3VsbChkcmF3UXVhZC0+cXVhZFRyYW5zZm9ybSgpLCBkcmF3
UXVhZC0+cXVhZFJlY3QoKSwgY3VsbGVkUmVjdCk7CisgICAgbV9vY2NsdXNpb25UcmFja2VyLT5v
dmVyZHJhd01ldHJpY3MoKS5kaWREcmF3KGRyYXdRdWFkLT5xdWFkVHJhbnNmb3JtKCksIGN1bGxl
ZFJlY3QsIGRyYXdRdWFkLT5vcGFxdWVSZWN0KCkpOwogCiAgICAgLy8gUmVsZWFzZSB0aGUgcXVh
ZCBhZnRlciB3ZSdyZSBkb25lIHVzaW5nIGl0LgogICAgIGlmIChrZWVwUXVhZCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUXVhZEN1
bGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NR
dWFkQ3VsbGVyLmgKaW5kZXggOTc2N2JhZTMxMmM2OWViYTQ2ZWE2ZDlmMDJhODdkMTdhMGQ4MTZh
NS4uMWY0YjkyMDU2MmFlOTVjNTZkZjcwNjkzZDhiOWMxNzA4ZmM5OTcyMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NRdWFkQ3VsbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NR
dWFkQ3VsbGVyLmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgQ0NRdWFkQ3VsbGVyIHsKIHB1Ymxp
YzoKICAgICAvLyBQYXNzaW5nIDAgZm9yIENDT3ZlcmRyYXdDb3VudHMqIGlzIHZhbGlkLCBhbmQg
ZGlzYWJsZSB0aGUgZXh0cmEgY29tcHV0YXRpb24KICAgICAvLyBkb25lIHRvIGVzdGltYXRlIG92
ZXIgZHJhdyBzdGF0aXN0aWNzLgotICAgIENDUXVhZEN1bGxlcihDQ1F1YWRMaXN0JiwgQ0NMYXll
ckltcGwqLCBDQ09jY2x1c2lvblRyYWNrZXJJbXBsKiwgQ0NPdmVyZHJhd01ldHJpY3MqKTsKKyAg
ICBDQ1F1YWRDdWxsZXIoQ0NRdWFkTGlzdCYsIENDTGF5ZXJJbXBsKiwgQ0NPY2NsdXNpb25UcmFj
a2VySW1wbCopOwogCiAgICAgdmlydHVhbCB2b2lkIGFwcGVuZChQYXNzT3duUHRyPENDRHJhd1F1
YWQ+IHBhc3NEcmF3UXVhZCk7CiAKQEAgLTQ0LDcgKzQ0LDYgQEAgcHJpdmF0ZToKICAgICBDQ1F1
YWRMaXN0JiBtX3F1YWRMaXN0OwogICAgIENDTGF5ZXJJbXBsKiBtX2xheWVyOwogICAgIENDT2Nj
bHVzaW9uVHJhY2tlckltcGwqIG1fb2NjbHVzaW9uVHJhY2tlcjsKLSAgICBDQ092ZXJkcmF3TWV0
cmljcyogbV9vdmVyZHJhd01ldHJpY3M7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNw
cAppbmRleCA3NDAxOTlhMWEyZTNlYmYyZmIwZDIzYzJjMDM2MWY5MGJiMTBmOTU5Li5hMTJiZmJi
NTlmNGE3YjkzOTYzZDI0MzRlYzYwY2JlODUwMDU2MzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFz
cy5jcHAKQEAgLTQ2LDkgKzQ2LDkgQEAgQ0NSZW5kZXJQYXNzOjpDQ1JlbmRlclBhc3MoQ0NSZW5k
ZXJTdXJmYWNlKiB0YXJnZXRTdXJmYWNlKQogICAgIEFTU0VSVChtX3RhcmdldFN1cmZhY2UpOwog
fQogCi12b2lkIENDUmVuZGVyUGFzczo6YXBwZW5kUXVhZHNGb3JMYXllcihDQ0xheWVySW1wbCog
bGF5ZXIsIENDT2NjbHVzaW9uVHJhY2tlckltcGwqIG9jY2x1c2lvblRyYWNrZXIsIENDT3ZlcmRy
YXdNZXRyaWNzKiBvdmVyZHJhd01ldHJpY3MpCit2b2lkIENDUmVuZGVyUGFzczo6YXBwZW5kUXVh
ZHNGb3JMYXllcihDQ0xheWVySW1wbCogbGF5ZXIsIENDT2NjbHVzaW9uVHJhY2tlckltcGwqIG9j
Y2x1c2lvblRyYWNrZXIpCiB7Ci0gICAgQ0NRdWFkQ3VsbGVyIHF1YWRDdWxsZXIobV9xdWFkTGlz
dCwgbGF5ZXIsIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3TWV0cmljcyk7CisgICAgQ0NRdWFk
Q3VsbGVyIHF1YWRDdWxsZXIobV9xdWFkTGlzdCwgbGF5ZXIsIG9jY2x1c2lvblRyYWNrZXIpOwog
CiAgICAgT3duUHRyPENDU2hhcmVkUXVhZFN0YXRlPiBzaGFyZWRRdWFkU3RhdGUgPSBsYXllci0+
Y3JlYXRlU2hhcmVkUXVhZFN0YXRlKCk7CiAgICAgbGF5ZXItPmFwcGVuZFF1YWRzKHF1YWRDdWxs
ZXIsIHNoYXJlZFF1YWRTdGF0ZS5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oCmluZGV4IGUw
YWIzZWRhYTkwZjQ1N2U5MzAyNWY0MTJhNmI5MTRjZTFlOTA0ZTYuLmFjOGRiYzFhMGQyNmE4NDc2
NjU3ZmI2NzJjMmYxNWFhYjI0YzhlZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oCkBAIC0zNCw3
ICszNCw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENDTGF5ZXJJbXBsOwotY2xh
c3MgQ0NPdmVyZHJhd01ldHJpY3M7CiBjbGFzcyBDQ1JlbmRlclN1cmZhY2U7CiBjbGFzcyBDQ1No
YXJlZFF1YWRTdGF0ZTsKIApAQCAtNTUsNyArNTQsNyBAQCBjbGFzcyBDQ1JlbmRlclBhc3Mgewog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPENDUmVuZGVyUGFzcz4gY3JlYXRlKENDUmVu
ZGVyU3VyZmFjZSopOwogCi0gICAgdm9pZCBhcHBlbmRRdWFkc0ZvckxheWVyKENDTGF5ZXJJbXBs
KiwgQ0NPY2NsdXNpb25UcmFja2VySW1wbCosIENDT3ZlcmRyYXdNZXRyaWNzKik7CisgICAgdm9p
ZCBhcHBlbmRRdWFkc0ZvckxheWVyKENDTGF5ZXJJbXBsKiwgQ0NPY2NsdXNpb25UcmFja2VySW1w
bCopOwogICAgIHZvaWQgYXBwZW5kUXVhZHNGb3JSZW5kZXJTdXJmYWNlTGF5ZXIoQ0NMYXllcklt
cGwqKTsKIAogICAgIGNvbnN0IENDUXVhZExpc3QmIHF1YWRMaXN0KCkgY29uc3QgeyByZXR1cm4g
bV9xdWFkTGlzdDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9D
Q1F1YWRDdWxsZXJUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NRdWFk
Q3VsbGVyVGVzdC5jcHAKaW5kZXggYjIzYWFlZTRiMjUzNzg3MDc5ODNhMzJhNjY0YWRkOTExYzhh
NzljZC4uZTYxM2M5MDBmNDRjNjZkNDEyYjQ4MzNjOGRhZjczMWI0NTMwYmFlMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1F1YWRDdWxsZXJUZXN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDUXVhZEN1bGxlclRlc3QuY3BwCkBAIC03
OCw5ICs3OCw5IEBAIHN0YXRpYyBQYXNzT3duUHRyPENDVGlsZWRMYXllckltcGw+IG1ha2VMYXll
cihjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgZHJhd1RyCiAgICAgcmV0dXJuIGxheWVyLnJl
bGVhc2UoKTsKIH0KIAotc3RhdGljIHZvaWQgYXBwZW5kUXVhZHMoQ0NRdWFkTGlzdCYgcXVhZExp
c3QsIENDVGlsZWRMYXllckltcGwqIGxheWVyLCBDQ09jY2x1c2lvblRyYWNrZXJJbXBsJiBvY2Ns
dXNpb25UcmFja2VyLCBDQ092ZXJkcmF3TWV0cmljcyYgb3ZlcmRyYXcpCitzdGF0aWMgdm9pZCBh
cHBlbmRRdWFkcyhDQ1F1YWRMaXN0JiBxdWFkTGlzdCwgQ0NUaWxlZExheWVySW1wbCogbGF5ZXIs
IENDT2NjbHVzaW9uVHJhY2tlckltcGwmIG9jY2x1c2lvblRyYWNrZXIpCiB7Ci0gICAgQ0NRdWFk
Q3VsbGVyIHF1YWRDdWxsZXIocXVhZExpc3QsIGxheWVyLCAmb2NjbHVzaW9uVHJhY2tlciwgJm92
ZXJkcmF3KTsKKyAgICBDQ1F1YWRDdWxsZXIgcXVhZEN1bGxlcihxdWFkTGlzdCwgbGF5ZXIsICZv
Y2NsdXNpb25UcmFja2VyKTsKICAgICBPd25QdHI8Q0NTaGFyZWRRdWFkU3RhdGU+IHNoYXJlZFF1
YWRTdGF0ZSA9IGxheWVyLT5jcmVhdGVTaGFyZWRRdWFkU3RhdGUoKTsKICAgICBsYXllci0+YXBw
ZW5kUXVhZHMocXVhZEN1bGxlciwgc2hhcmVkUXVhZFN0YXRlLmdldCgpKTsKIH0KQEAgLTg4LDcg
Kzg4LDYgQEAgc3RhdGljIHZvaWQgYXBwZW5kUXVhZHMoQ0NRdWFkTGlzdCYgcXVhZExpc3QsIEND
VGlsZWRMYXllckltcGwqIGxheWVyLCBDQ09jY2x1c2kKICNkZWZpbmUgREVDTEFSRV9BTkRfSU5J
VElBTElaRV9URVNUX1FVQURTICAgICAgICAgICAgICAgXAogICAgIERlYnVnU2NvcGVkU2V0SW1w
bFRocmVhZCBpbXBsOyAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgQ0NRdWFkTGlzdCBxdWFk
TGlzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBDQ092ZXJkcmF3TWV0
cmljcyBvdmVyZHJhdzsgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIFRyYW5zZm9ybWF0
aW9uTWF0cml4IGNoaWxkVHJhbnNmb3JtOyAgICAgICAgICAgICAgICBcCiAgICAgSW50U2l6ZSBy
b290U2l6ZSA9IEludFNpemUoMzAwLCAzMDApOyAgICAgICAgICAgICAgIFwKICAgICBJbnRSZWN0
IHJvb3RSZWN0ID0gSW50UmVjdChJbnRQb2ludCgpLCByb290U2l6ZSk7ICAgXApAQCAtMTAzLDEy
ICsxMDIsMTIgQEAgVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlOb0N1bGxpbmcpCiAgICAg
T3duUHRyPENDVGlsZWRMYXllckltcGw+IGNoaWxkTGF5ZXIgPSBtYWtlTGF5ZXIoVHJhbnNmb3Jt
YXRpb25NYXRyaXgoKSwgY2hpbGRSZWN0LCAxLjAsIHRydWUsIEludFJlY3QoKSk7CiAgICAgVGVz
dENDT2NjbHVzaW9uVHJhY2tlckltcGwgb2NjbHVzaW9uVHJhY2tlcihJbnRSZWN0KC0xMDAsIC0x
MDAsIDEwMDAsIDEwMDApKTsKIAotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVy
LmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7Ci0gICAgYXBwZW5kUXVhZHMocXVh
ZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAg
IGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2Vy
KTsKKyAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNpb25U
cmFja2VyKTsKICAgICBFWFBFQ1RfRVEocXVhZExpc3Quc2l6ZSgpLCAxM3UpOwotICAgIEVYUEVD
VF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXduT3BhcXVlKCksIDEzMDAwMCwgMSk7Ci0gICAgRVhQ
RUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAwLCAxKTsKLSAgICBF
WFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNDdWxsZWQoKSwgMCwgMSk7CisgICAgRVhQRUNUX05F
QVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3bk9wYXF1ZSgp
LCAxMzAwMDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdN
ZXRyaWNzKCkucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAwLCAxKTsKKyAgICBFWFBFQ1RfTkVB
UihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0N1bGxlZCgpLCAwLCAx
KTsKIH0KIAogLy8gRmFpbHMgb24gV2luZG93cyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODEwODMKQEAgLTEyMCwxMyArMTE5LDEzIEBAIFRFU1QoQ0NRdWFkQ3VsbGVy
VGVzdCwgRkFJTFNfdmVyaWZ5Q3VsbENoaWxkTGluZXNVcFRvcExlZnQpCiAgICAgT3duUHRyPEND
VGlsZWRMYXllckltcGw+IGNoaWxkTGF5ZXIgPSBtYWtlTGF5ZXIoVHJhbnNmb3JtYXRpb25NYXRy
aXgoKSwgY2hpbGRSZWN0LCAxLjAsIHRydWUsIEludFJlY3QoKSk7CiAgICAgVGVzdENDT2NjbHVz
aW9uVHJhY2tlckltcGwgb2NjbHVzaW9uVHJhY2tlcihJbnRSZWN0KC0xMDAsIC0xMDAsIDEwMDAs
IDEwMDApKTsKIAotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBv
Y2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7CisgICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIGNo
aWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIG9jY2x1c2lvblRyYWNrZXIu
bWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoY2hpbGRMYXllci5nZXQoKSk7Ci0gICAgYXBwZW5kUXVh
ZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcp
OworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRy
YWNrZXIpOwogICAgIEVYUEVDVF9FUShxdWFkTGlzdC5zaXplKCksIDl1KTsKLSAgICBFWFBFQ1Rf
TkVBUihvdmVyZHJhdy5waXhlbHNEcmF3bk9wYXF1ZSgpLCA5MDAwMCwgMSk7Ci0gICAgRVhQRUNU
X05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAwLCAxKTsKLSAgICBFWFBF
Q1RfTkVBUihvdmVyZHJhdy5waXhlbHNDdWxsZWQoKSwgNDAwMDAsIDEpOworICAgIEVYUEVDVF9O
RUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJhd25PcGFxdWUo
KSwgOTAwMDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdN
ZXRyaWNzKCkucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAwLCAxKTsKKyAgICBFWFBFQ1RfTkVB
UihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0N1bGxlZCgpLCA0MDAw
MCwgMSk7CiB9CiAKIFRFU1QoQ0NRdWFkQ3VsbGVyVGVzdCwgdmVyaWZ5Q3VsbFdoZW5DaGlsZE9w
YWNpdHlOb3RPbmUpCkBAIC0xMzcsMTMgKzEzNiwxMyBAQCBURVNUKENDUXVhZEN1bGxlclRlc3Qs
IHZlcmlmeUN1bGxXaGVuQ2hpbGRPcGFjaXR5Tm90T25lKQogICAgIE93blB0cjxDQ1RpbGVkTGF5
ZXJJbXBsPiBjaGlsZExheWVyID0gbWFrZUxheWVyKGNoaWxkVHJhbnNmb3JtLCBjaGlsZFJlY3Qs
IDAuOSwgdHJ1ZSwgSW50UmVjdCgpKTsKICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VySW1wbCBv
Y2NsdXNpb25UcmFja2VyKEludFJlY3QoLTEwMCwgLTEwMCwgMTAwMCwgMTAwMCkpOwogCi0gICAg
YXBwZW5kUXVhZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIs
IG92ZXJkcmF3KTsKKyAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQoKSwg
b2NjbHVzaW9uVHJhY2tlcik7CiAgICAgb2NjbHVzaW9uVHJhY2tlci5tYXJrT2NjbHVkZWRCZWhp
bmRMYXllcihjaGlsZExheWVyLmdldCgpKTsKLSAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgcm9v
dExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7CisgICAgYXBwZW5kUXVh
ZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlcik7CiAgICAgRVhQ
RUNUX0VRKHF1YWRMaXN0LnNpemUoKSwgMTN1KTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5w
aXhlbHNEcmF3bk9wYXF1ZSgpLCA5MDAwMCwgMSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcu
cGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCA0MDAwMCwgMSk7Ci0gICAgRVhQRUNUX05FQVIob3Zl
cmRyYXcucGl4ZWxzQ3VsbGVkKCksIDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRy
YWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJhd25PcGFxdWUoKSwgOTAwMDAsIDEpOwor
ICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxz
RHJhd25UcmFuc2x1Y2VudCgpLCA0MDAwMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9u
VHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNDdWxsZWQoKSwgMCwgMSk7CiB9CiAKIFRF
U1QoQ0NRdWFkQ3VsbGVyVGVzdCwgdmVyaWZ5Q3VsbFdoZW5DaGlsZE9wYXF1ZUZsYWdGYWxzZSkK
QEAgLTE1NCwxMyArMTUzLDEzIEBAIFRFU1QoQ0NRdWFkQ3VsbGVyVGVzdCwgdmVyaWZ5Q3VsbFdo
ZW5DaGlsZE9wYXF1ZUZsYWdGYWxzZSkKICAgICBPd25QdHI8Q0NUaWxlZExheWVySW1wbD4gY2hp
bGRMYXllciA9IG1ha2VMYXllcihjaGlsZFRyYW5zZm9ybSwgY2hpbGRSZWN0LCAxLjAsIGZhbHNl
LCBJbnRSZWN0KCkpOwogICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJJbXBsIG9jY2x1c2lvblRy
YWNrZXIoSW50UmVjdCgtMTAwLCAtMTAwLCAxMDAwLCAxMDAwKSk7CiAKLSAgICBhcHBlbmRRdWFk
cyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcp
OworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25U
cmFja2VyKTsKICAgICBvY2NsdXNpb25UcmFja2VyLm1hcmtPY2NsdWRlZEJlaGluZExheWVyKGNo
aWxkTGF5ZXIuZ2V0KCkpOwotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0
KCksIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsKKyAgICBhcHBlbmRRdWFkcyhxdWFkTGlz
dCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBFWFBFQ1RfRVEocXVh
ZExpc3Quc2l6ZSgpLCAxM3UpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXdu
T3BhcXVlKCksIDkwMDAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3
blRyYW5zbHVjZW50KCksIDQwMDAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhl
bHNDdWxsZWQoKSwgMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVy
ZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3bk9wYXF1ZSgpLCA5MDAwMCwgMSk7CisgICAgRVhQRUNU
X05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3blRyYW5z
bHVjZW50KCksIDQwMDAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92
ZXJkcmF3TWV0cmljcygpLnBpeGVsc0N1bGxlZCgpLCAwLCAxKTsKIH0KIAogVEVTVChDQ1F1YWRD
dWxsZXJUZXN0LCB2ZXJpZnlDdWxsQ2VudGVyVGlsZU9ubHkpCkBAIC0xNzMsOSArMTcyLDkgQEAg
VEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsQ2VudGVyVGlsZU9ubHkpCiAgICAgT3du
UHRyPENDVGlsZWRMYXllckltcGw+IGNoaWxkTGF5ZXIgPSBtYWtlTGF5ZXIoY2hpbGRUcmFuc2Zv
cm0sIGNoaWxkUmVjdCwgMS4wLCB0cnVlLCBJbnRSZWN0KCkpOwogICAgIFRlc3RDQ09jY2x1c2lv
blRyYWNrZXJJbXBsIG9jY2x1c2lvblRyYWNrZXIoSW50UmVjdCgtMTAwLCAtMTAwLCAxMDAwLCAx
MDAwKSk7CiAKLSAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQoKSwgb2Nj
bHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGls
ZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBvY2NsdXNpb25UcmFja2VyLm1h
cmtPY2NsdWRlZEJlaGluZExheWVyKGNoaWxkTGF5ZXIuZ2V0KCkpOwotICAgIGFwcGVuZFF1YWRz
KHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsK
KyAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFj
a2VyKTsKICAgICBFWFBFQ1RfRVEocXVhZExpc3Quc2l6ZSgpLCAxMnUpOwogCiAgICAgSW50UmVj
dCBxdWFkVmlzaWJsZVJlY3QxID0gcXVhZExpc3RbNV0uZ2V0KCktPnF1YWRWaXNpYmxlUmVjdCgp
OwpAQCAtMTkzLDkgKzE5Miw5IEBAIFRFU1QoQ0NRdWFkQ3VsbGVyVGVzdCwgdmVyaWZ5Q3VsbENl
bnRlclRpbGVPbmx5KQogICAgIEVYUEVDVF9FUShxdWFkVmlzaWJsZVJlY3Q2LmhlaWdodCgpLCA1
MCk7CiAgICAgRVhQRUNUX0VRKHF1YWRWaXNpYmxlUmVjdDYueSgpLCAyNTApOwogCi0gICAgRVhQ
RUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25PcGFxdWUoKSwgMTAwMDAwLCAxKTsKLSAgICBF
WFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDAsIDEpOwotICAg
IEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0N1bGxlZCgpLCAzMDAwMCwgMSk7CisgICAgRVhQ
RUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3bk9w
YXF1ZSgpLCAxMDAwMDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3Zl
cmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAwLCAxKTsKKyAgICBFWFBF
Q1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0N1bGxlZCgp
LCAzMDAwMCwgMSk7CiB9CiAKIFRFU1QoQ0NRdWFkQ3VsbGVyVGVzdCwgdmVyaWZ5Q3VsbENlbnRl
clRpbGVOb25JbnRlZ3JhbFNpemUxKQpAQCAtMjE2LDE0ICsyMTUsMTQgQEAgVEVTVChDQ1F1YWRD
dWxsZXJUZXN0LCB2ZXJpZnlDdWxsQ2VudGVyVGlsZU5vbkludGVncmFsU2l6ZTEpCiAgICAgT3du
UHRyPENDVGlsZWRMYXllckltcGw+IGNoaWxkTGF5ZXIgPSBtYWtlTGF5ZXIoY2hpbGRUcmFuc2Zv
cm0sIGNoaWxkUmVjdCwgMS4wLCB0cnVlLCBJbnRSZWN0KCkpOwogICAgIFRlc3RDQ09jY2x1c2lv
blRyYWNrZXJJbXBsIG9jY2x1c2lvblRyYWNrZXIoSW50UmVjdCgtMTAwLCAtMTAwLCAxMDAwLCAx
MDAwKSk7CiAKLSAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQoKSwgb2Nj
bHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGls
ZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBvY2NsdXNpb25UcmFja2VyLm1h
cmtPY2NsdWRlZEJlaGluZExheWVyKGNoaWxkTGF5ZXIuZ2V0KCkpOwotICAgIGFwcGVuZFF1YWRz
KHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsK
KyAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFj
a2VyKTsKICAgICBFWFBFQ1RfRVEocXVhZExpc3Quc2l6ZSgpLCAydSk7CiAKLSAgICBFWFBFQ1Rf
TkVBUihvdmVyZHJhdy5waXhlbHNEcmF3bk9wYXF1ZSgpLCAyMDM2MywgMSk7Ci0gICAgRVhQRUNU
X05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAwLCAxKTsKLSAgICBFWFBF
Q1RfTkVBUihvdmVyZHJhdy5waXhlbHNDdWxsZWQoKSwgMCwgMSk7CisgICAgRVhQRUNUX05FQVIo
b2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3bk9wYXF1ZSgpLCAy
MDM2MywgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJp
Y3MoKS5waXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9j
Y2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzQ3VsbGVkKCksIDAsIDEpOwog
fQogCiBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlmeUN1bGxDZW50ZXJUaWxlTm9uSW50ZWdy
YWxTaXplMikKQEAgLTI0NCwxNCArMjQzLDE0IEBAIFRFU1QoQ0NRdWFkQ3VsbGVyVGVzdCwgdmVy
aWZ5Q3VsbENlbnRlclRpbGVOb25JbnRlZ3JhbFNpemUyKQogICAgIE93blB0cjxDQ1RpbGVkTGF5
ZXJJbXBsPiBjaGlsZExheWVyID0gbWFrZUxheWVyKGNoaWxkVHJhbnNmb3JtLCBjaGlsZFJlY3Qs
IDEuMCwgdHJ1ZSwgSW50UmVjdCgpKTsKICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VySW1wbCBv
Y2NsdXNpb25UcmFja2VyKEludFJlY3QoLTEwMCwgLTEwMCwgMTAwMCwgMTAwMCkpOwogCi0gICAg
YXBwZW5kUXVhZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIs
IG92ZXJkcmF3KTsKKyAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQoKSwg
b2NjbHVzaW9uVHJhY2tlcik7CiAgICAgb2NjbHVzaW9uVHJhY2tlci5tYXJrT2NjbHVkZWRCZWhp
bmRMYXllcihjaGlsZExheWVyLmdldCgpKTsKLSAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgcm9v
dExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7CisgICAgYXBwZW5kUXVh
ZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlcik7CiAgICAgRVhQ
RUNUX0VRKHF1YWRMaXN0LnNpemUoKSwgMnUpOwogCi0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcu
cGl4ZWxzRHJhd25PcGFxdWUoKSwgMTk2NDMsIDEpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3
LnBpeGVsc0RyYXduVHJhbnNsdWNlbnQoKSwgMCwgMSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRy
YXcucGl4ZWxzQ3VsbGVkKCksIDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNr
ZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJhd25PcGFxdWUoKSwgMTk2NDMsIDEpOworICAg
IEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJh
d25UcmFuc2x1Y2VudCgpLCAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2Vy
Lm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0N1bGxlZCgpLCAwLCAxKTsKIH0KIAogVEVTVChDQ1F1
YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsQ2hpbGRMaW5lc1VwQm90dG9tUmlnaHQpCkBAIC0yNjQs
MTMgKzI2MywxMyBAQCBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlmeUN1bGxDaGlsZExpbmVz
VXBCb3R0b21SaWdodCkKICAgICBPd25QdHI8Q0NUaWxlZExheWVySW1wbD4gY2hpbGRMYXllciA9
IG1ha2VMYXllcihjaGlsZFRyYW5zZm9ybSwgY2hpbGRSZWN0LCAxLjAsIHRydWUsIEludFJlY3Qo
KSk7CiAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckltcGwgb2NjbHVzaW9uVHJhY2tlcihJbnRS
ZWN0KC0xMDAsIC0xMDAsIDEwMDAsIDEwMDApKTsKIAotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0
LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7CisgICAgYXBw
ZW5kUXVhZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwog
ICAgIG9jY2x1c2lvblRyYWNrZXIubWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoY2hpbGRMYXllci5n
ZXQoKSk7Ci0gICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2NjbHVz
aW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5
ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIEVYUEVDVF9FUShxdWFkTGlzdC5zaXpl
KCksIDl1KTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3bk9wYXF1ZSgpLCA5
MDAwMCwgMSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25UcmFuc2x1Y2Vu
dCgpLCAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNDdWxsZWQoKSwgNDAw
MDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNz
KCkucGl4ZWxzRHJhd25PcGFxdWUoKSwgOTAwMDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1
c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAw
LCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygp
LnBpeGVsc0N1bGxlZCgpLCA0MDAwMCwgMSk7CiB9CiAKIFRFU1QoQ0NRdWFkQ3VsbGVyVGVzdCwg
dmVyaWZ5Q3VsbFN1YlJlZ2lvbikKQEAgLTI4NCwxMyArMjgzLDEzIEBAIFRFU1QoQ0NRdWFkQ3Vs
bGVyVGVzdCwgdmVyaWZ5Q3VsbFN1YlJlZ2lvbikKICAgICBPd25QdHI8Q0NUaWxlZExheWVySW1w
bD4gY2hpbGRMYXllciA9IG1ha2VMYXllcihjaGlsZFRyYW5zZm9ybSwgY2hpbGRSZWN0LCAxLjAs
IGZhbHNlLCBjaGlsZE9wYXF1ZVJlY3QpOwogICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJJbXBs
IG9jY2x1c2lvblRyYWNrZXIoSW50UmVjdCgtMTAwLCAtMTAwLCAxMDAwLCAxMDAwKSk7CiAKLSAg
ICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tl
ciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgp
LCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBvY2NsdXNpb25UcmFja2VyLm1hcmtPY2NsdWRlZEJl
aGluZExheWVyKGNoaWxkTGF5ZXIuZ2V0KCkpOwotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBy
b290TGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsKKyAgICBhcHBlbmRR
dWFkcyhxdWFkTGlzdCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBF
WFBFQ1RfRVEocXVhZExpc3Quc2l6ZSgpLCAxMnUpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3
LnBpeGVsc0RyYXduT3BhcXVlKCksIDkwMDAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJh
dy5waXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDMwMDAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihv
dmVyZHJhdy5waXhlbHNDdWxsZWQoKSwgMTAwMDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1
c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJhd25PcGFxdWUoKSwgOTAwMDAs
IDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCku
cGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAzMDAwMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2Nj
bHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNDdWxsZWQoKSwgMTAwMDAsIDEp
OwogfQogCiBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlmeUN1bGxTdWJSZWdpb24yKQpAQCAt
MzA0LDEzICszMDMsMTMgQEAgVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsU3ViUmVn
aW9uMikKICAgICBPd25QdHI8Q0NUaWxlZExheWVySW1wbD4gY2hpbGRMYXllciA9IG1ha2VMYXll
cihjaGlsZFRyYW5zZm9ybSwgY2hpbGRSZWN0LCAxLjAsIGZhbHNlLCBjaGlsZE9wYXF1ZVJlY3Qp
OwogICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJJbXBsIG9jY2x1c2lvblRyYWNrZXIoSW50UmVj
dCgtMTAwLCAtMTAwLCAxMDAwLCAxMDAwKSk7CiAKLSAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwg
Y2hpbGRMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVu
ZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAg
ICBvY2NsdXNpb25UcmFja2VyLm1hcmtPY2NsdWRlZEJlaGluZExheWVyKGNoaWxkTGF5ZXIuZ2V0
KCkpOwotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0KCksIG9jY2x1c2lv
blRyYWNrZXIsIG92ZXJkcmF3KTsKKyAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgcm9vdExheWVy
LmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBFWFBFQ1RfRVEocXVhZExpc3Quc2l6ZSgp
LCAxMnUpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXduT3BhcXVlKCksIDkw
MDAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3blRyYW5zbHVjZW50
KCksIDI1MDAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNDdWxsZWQoKSwg
MTUwMDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRy
aWNzKCkucGl4ZWxzRHJhd25PcGFxdWUoKSwgOTAwMDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9j
Y2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgp
LCAyNTAwMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01l
dHJpY3MoKS5waXhlbHNDdWxsZWQoKSwgMTUwMDAsIDEpOwogfQogCiBURVNUKENDUXVhZEN1bGxl
clRlc3QsIHZlcmlmeUN1bGxTdWJSZWdpb25DaGVja092ZXJjdWxsKQpAQCAtMzI0LDEzICszMjMs
MTMgQEAgVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsU3ViUmVnaW9uQ2hlY2tPdmVy
Y3VsbCkKICAgICBPd25QdHI8Q0NUaWxlZExheWVySW1wbD4gY2hpbGRMYXllciA9IG1ha2VMYXll
cihjaGlsZFRyYW5zZm9ybSwgY2hpbGRSZWN0LCAxLjAsIGZhbHNlLCBjaGlsZE9wYXF1ZVJlY3Qp
OwogICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJJbXBsIG9jY2x1c2lvblRyYWNrZXIoSW50UmVj
dCgtMTAwLCAtMTAwLCAxMDAwLCAxMDAwKSk7CiAKLSAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwg
Y2hpbGRMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVu
ZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAg
ICBvY2NsdXNpb25UcmFja2VyLm1hcmtPY2NsdWRlZEJlaGluZExheWVyKGNoaWxkTGF5ZXIuZ2V0
KCkpOwotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0KCksIG9jY2x1c2lv
blRyYWNrZXIsIG92ZXJkcmF3KTsKKyAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgcm9vdExheWVy
LmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBFWFBFQ1RfRVEocXVhZExpc3Quc2l6ZSgp
LCAxM3UpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXduT3BhcXVlKCksIDkw
MDAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3blRyYW5zbHVjZW50
KCksIDMwMDAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNDdWxsZWQoKSwg
MTAwMDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRy
aWNzKCkucGl4ZWxzRHJhd25PcGFxdWUoKSwgOTAwMDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9j
Y2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgp
LCAzMDAwMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01l
dHJpY3MoKS5waXhlbHNDdWxsZWQoKSwgMTAwMDAsIDEpOwogfQogCiBURVNUKENDUXVhZEN1bGxl
clRlc3QsIHZlcmlmeU5vbkF4aXNBbGlnbmVkUXVhZHNEb250T2NjbHVkZSkKQEAgLTM0NCwxMyAr
MzQzLDEzIEBAIFRFU1QoQ0NRdWFkQ3VsbGVyVGVzdCwgdmVyaWZ5Tm9uQXhpc0FsaWduZWRRdWFk
c0RvbnRPY2NsdWRlKQogICAgIE93blB0cjxDQ1RpbGVkTGF5ZXJJbXBsPiBjaGlsZExheWVyID0g
bWFrZUxheWVyKGNoaWxkVHJhbnNmb3JtLCBjaGlsZFJlY3QsIDEuMCwgdHJ1ZSwgSW50UmVjdCgp
KTsKICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VySW1wbCBvY2NsdXNpb25UcmFja2VyKEludFJl
Y3QoLTEwMCwgLTEwMCwgMTAwMCwgMTAwMCkpOwogCi0gICAgYXBwZW5kUXVhZHMocXVhZExpc3Qs
IGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsKKyAgICBhcHBl
bmRRdWFkcyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlcik7CiAg
ICAgb2NjbHVzaW9uVHJhY2tlci5tYXJrT2NjbHVkZWRCZWhpbmRMYXllcihjaGlsZExheWVyLmdl
dCgpKTsKLSAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNp
b25UcmFja2VyLCBvdmVyZHJhdyk7CisgICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIHJvb3RMYXll
ci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlcik7CiAgICAgRVhQRUNUX0VRKHF1YWRMaXN0LnNpemUo
KSwgMTN1KTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3bk9wYXF1ZSgpLCAx
MzAwMDAsIDEpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXduVHJhbnNsdWNl
bnQoKSwgMCwgMSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzQ3VsbGVkKCksIDAs
IDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCku
cGl4ZWxzRHJhd25PcGFxdWUoKSwgMTMwMDAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNp
b25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0RyYXduVHJhbnNsdWNlbnQoKSwgMCwg
MSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5w
aXhlbHNDdWxsZWQoKSwgMCwgMSk7CiB9CiAKIC8vIFRoaXMgdGVzdCByZXF1aXJlcyBzb21lIGV4
cGxhbmF0aW9uOiBoZXJlIHdlIGFyZSByb3RhdGluZyB0aGUgcXVhZHMgdG8gYmUgY3VsbGVkLgpA
QCAtMzcwLDEzICszNjksMTMgQEAgVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlOb25BeGlz
QWxpZ25lZFF1YWRzU2FmZWx5Q3VsbGVkKQogICAgIE93blB0cjxDQ1RpbGVkTGF5ZXJJbXBsPiBj
aGlsZExheWVyID0gbWFrZUxheWVyKFRyYW5zZm9ybWF0aW9uTWF0cml4KCksIGNoaWxkUmVjdCwg
MS4wLCB0cnVlLCBJbnRSZWN0KCkpOwogICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJJbXBsIG9j
Y2x1c2lvblRyYWNrZXIoSW50UmVjdCgtMTAwLCAtMTAwLCAxMDAwLCAxMDAwKSk7CiAKLSAgICBh
cHBlbmRRdWFkcyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwg
b3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBv
Y2NsdXNpb25UcmFja2VyKTsKICAgICBvY2NsdXNpb25UcmFja2VyLm1hcmtPY2NsdWRlZEJlaGlu
ZExheWVyKGNoaWxkTGF5ZXIuZ2V0KCkpOwotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290
TGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsKKyAgICBhcHBlbmRRdWFk
cyhxdWFkTGlzdCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBFWFBF
Q1RfRVEocXVhZExpc3Quc2l6ZSgpLCAxMnUpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBp
eGVsc0RyYXduT3BhcXVlKCksIDEwMDYwMCwgMSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcu
cGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJh
dy5waXhlbHNDdWxsZWQoKSwgMjk0MDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRy
YWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJhd25PcGFxdWUoKSwgMTAwNjAwLCAxKTsK
KyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVs
c0RyYXduVHJhbnNsdWNlbnQoKSwgMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJh
Y2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNDdWxsZWQoKSwgMjk0MDAsIDEpOwogfQogCiBU
RVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlmeUN1bGxPdXRzaWRlU2Npc3Nvck92ZXJUaWxlKQpA
QCAtMzg3LDEzICszODYsMTMgQEAgVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsT3V0
c2lkZVNjaXNzb3JPdmVyVGlsZSkKICAgICBPd25QdHI8Q0NUaWxlZExheWVySW1wbD4gY2hpbGRM
YXllciA9IG1ha2VMYXllcihUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBjaGlsZFJlY3QsIDEuMCwg
dHJ1ZSwgSW50UmVjdCgpKTsKICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VySW1wbCBvY2NsdXNp
b25UcmFja2VyKEludFJlY3QoMjAwLCAxMDAsIDEwMCwgMTAwKSk7CiAKLSAgICBhcHBlbmRRdWFk
cyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcp
OworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25U
cmFja2VyKTsKICAgICBvY2NsdXNpb25UcmFja2VyLm1hcmtPY2NsdWRlZEJlaGluZExheWVyKGNo
aWxkTGF5ZXIuZ2V0KCkpOwotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0
KCksIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsKKyAgICBhcHBlbmRRdWFkcyhxdWFkTGlz
dCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBFWFBFQ1RfRVEocXVh
ZExpc3Quc2l6ZSgpLCAxdSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25P
cGFxdWUoKSwgMTAwMDAsIDEpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXdu
VHJhbnNsdWNlbnQoKSwgMCwgMSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzQ3Vs
bGVkKCksIDEyMDAwMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVy
ZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3bk9wYXF1ZSgpLCAxMDAwMCwgMSk7CisgICAgRVhQRUNU
X05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3blRyYW5z
bHVjZW50KCksIDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRy
YXdNZXRyaWNzKCkucGl4ZWxzQ3VsbGVkKCksIDEyMDAwMCwgMSk7CiB9CiAKIFRFU1QoQ0NRdWFk
Q3VsbGVyVGVzdCwgdmVyaWZ5Q3VsbE91dHNpZGVTY2lzc29yT3ZlckN1bGxlZFRpbGUpCkBAIC00
MDQsMTMgKzQwMywxMyBAQCBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlmeUN1bGxPdXRzaWRl
U2Npc3Nvck92ZXJDdWxsZWRUaWxlKQogICAgIE93blB0cjxDQ1RpbGVkTGF5ZXJJbXBsPiBjaGls
ZExheWVyID0gbWFrZUxheWVyKFRyYW5zZm9ybWF0aW9uTWF0cml4KCksIGNoaWxkUmVjdCwgMS4w
LCB0cnVlLCBJbnRSZWN0KCkpOwogICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJJbXBsIG9jY2x1
c2lvblRyYWNrZXIoSW50UmVjdCgxMDAsIDEwMCwgMTAwLCAxMDApKTsKIAotICAgIGFwcGVuZFF1
YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJh
dyk7CisgICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lv
blRyYWNrZXIpOwogICAgIG9jY2x1c2lvblRyYWNrZXIubWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIo
Y2hpbGRMYXllci5nZXQoKSk7Ci0gICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIHJvb3RMYXllci5n
ZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRM
aXN0LCByb290TGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIEVYUEVDVF9FUShx
dWFkTGlzdC5zaXplKCksIDF1KTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3
bk9wYXF1ZSgpLCAxMDAwMCwgMSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJh
d25UcmFuc2x1Y2VudCgpLCAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHND
dWxsZWQoKSwgMTIwMDAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92
ZXJkcmF3TWV0cmljcygpLnBpeGVsc0RyYXduT3BhcXVlKCksIDEwMDAwLCAxKTsKKyAgICBFWFBF
Q1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0RyYXduVHJh
bnNsdWNlbnQoKSwgMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVy
ZHJhd01ldHJpY3MoKS5waXhlbHNDdWxsZWQoKSwgMTIwMDAwLCAxKTsKIH0KIAogVEVTVChDQ1F1
YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsT3V0c2lkZVNjaXNzb3JPdmVyUGFydGlhbFRpbGVzKQpA
QCAtNDIxLDEzICs0MjAsMTMgQEAgVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsT3V0
c2lkZVNjaXNzb3JPdmVyUGFydGlhbFRpbGVzKQogICAgIE93blB0cjxDQ1RpbGVkTGF5ZXJJbXBs
PiBjaGlsZExheWVyID0gbWFrZUxheWVyKFRyYW5zZm9ybWF0aW9uTWF0cml4KCksIGNoaWxkUmVj
dCwgMS4wLCB0cnVlLCBJbnRSZWN0KCkpOwogICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJJbXBs
IG9jY2x1c2lvblRyYWNrZXIoSW50UmVjdCg1MCwgNTAsIDIwMCwgMjAwKSk7CiAKLSAgICBhcHBl
bmRRdWFkcyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3Zl
cmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2Ns
dXNpb25UcmFja2VyKTsKICAgICBvY2NsdXNpb25UcmFja2VyLm1hcmtPY2NsdWRlZEJlaGluZExh
eWVyKGNoaWxkTGF5ZXIuZ2V0KCkpOwotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5
ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsKKyAgICBhcHBlbmRRdWFkcyhx
dWFkTGlzdCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBFWFBFQ1Rf
RVEocXVhZExpc3Quc2l6ZSgpLCA5dSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxz
RHJhd25PcGFxdWUoKSwgNDAwMDAsIDEpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVs
c0RyYXduVHJhbnNsdWNlbnQoKSwgMCwgMSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4
ZWxzQ3VsbGVkKCksIDkwMDAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2Vy
Lm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0RyYXduT3BhcXVlKCksIDQwMDAwLCAxKTsKKyAgICBF
WFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0RyYXdu
VHJhbnNsdWNlbnQoKSwgMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5v
dmVyZHJhd01ldHJpY3MoKS5waXhlbHNDdWxsZWQoKSwgOTAwMDAsIDEpOwogfQogCiBURVNUKEND
UXVhZEN1bGxlclRlc3QsIHZlcmlmeUN1bGxPdXRzaWRlU2Npc3Nvck92ZXJOb1RpbGVzKQpAQCAt
NDM4LDEzICs0MzcsMTMgQEAgVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsT3V0c2lk
ZVNjaXNzb3JPdmVyTm9UaWxlcykKICAgICBPd25QdHI8Q0NUaWxlZExheWVySW1wbD4gY2hpbGRM
YXllciA9IG1ha2VMYXllcihUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBjaGlsZFJlY3QsIDEuMCwg
dHJ1ZSwgSW50UmVjdCgpKTsKICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VySW1wbCBvY2NsdXNp
b25UcmFja2VyKEludFJlY3QoNTAwLCA1MDAsIDEwMCwgMTAwKSk7CiAKLSAgICBhcHBlbmRRdWFk
cyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcp
OworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25U
cmFja2VyKTsKICAgICBvY2NsdXNpb25UcmFja2VyLm1hcmtPY2NsdWRlZEJlaGluZExheWVyKGNo
aWxkTGF5ZXIuZ2V0KCkpOwotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0
KCksIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsKKyAgICBhcHBlbmRRdWFkcyhxdWFkTGlz
dCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBFWFBFQ1RfRVEocXVh
ZExpc3Quc2l6ZSgpLCAwdSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25P
cGFxdWUoKSwgMCwgMSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25UcmFu
c2x1Y2VudCgpLCAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNDdWxsZWQo
KSwgMTMwMDAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3
TWV0cmljcygpLnBpeGVsc0RyYXduT3BhcXVlKCksIDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9j
Y2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgp
LCAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmlj
cygpLnBpeGVsc0N1bGxlZCgpLCAxMzAwMDAsIDEpOwogfQogCiB9IC8vIG5hbWVzcGFjZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Nb2NrQ0NRdWFkQ3VsbGVyLmgg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01vY2tDQ1F1YWRDdWxsZXIuaAppbmRleCA2
ZGM3MmM1YTE5NWIwN2VhODRmMGQyZjI5ZGEyMzY3YmQyNzczZTM4Li43OTFhZjUwMzNmNzhmNjYx
MGFhMjY2NTJiMzRiYjhkZmUwN2Y4ZGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL01vY2tDQ1F1YWRDdWxsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL01vY2tDQ1F1YWRDdWxsZXIuaApAQCAtMzUsMTIgKzM1LDEyIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIE1vY2tDQ1F1YWRDdWxsZXIgOiBwdWJsaWMgV2ViQ29yZTo6Q0NRdWFk
Q3VsbGVyIHsKIHB1YmxpYzoKICAgICBNb2NrQ0NRdWFkQ3VsbGVyKCkKLSAgICAgICAgOiBDQ1F1
YWRDdWxsZXIobV9xdWFkTGlzdFN0b3JhZ2UsIDAsIDAsIDApCisgICAgICAgIDogQ0NRdWFkQ3Vs
bGVyKG1fcXVhZExpc3RTdG9yYWdlLCAwLCAwKQogICAgICAgICAsIG1fYWN0aXZlUXVhZExpc3Qo
bV9xdWFkTGlzdFN0b3JhZ2UpCiAgICAgeyB9CiAKICAgICBleHBsaWNpdCBNb2NrQ0NRdWFkQ3Vs
bGVyKENDUXVhZExpc3QmIGV4dGVybmFsUXVhZExpc3QpCi0gICAgICAgIDogQ0NRdWFkQ3VsbGVy
KGV4dGVybmFsUXVhZExpc3QsIDAsIDAsIDApCisgICAgICAgIDogQ0NRdWFkQ3VsbGVyKGV4dGVy
bmFsUXVhZExpc3QsIDAsIDApCiAgICAgICAgICwgbV9hY3RpdmVRdWFkTGlzdChleHRlcm5hbFF1
YWRMaXN0KQogICAgIHsgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132164</attachid>
            <date>2012-03-15 17:51:24 -0700</date>
            <delta_ts>2012-03-16 02:20:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81222-20120315205122.patch</filename>
            <type>text/plain</type>
            <size>38421</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwOTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWZiODQ0ZGUzZjIwNzU2
ODVlYzYyY2E5MDBiNTljN2YxMTRkZDg3MC4uYTFkNmUzZmI2OWM5MmNiNjU0NGNiYjFmOGRkYTky
YjQ3N2E1MzhlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5IEBACiAyMDEyLTAzLTE1ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFtjaHJvbWl1bV0gQ2hh
bmdlcyB0byBvdmVyZHJhdyBtZXRyaWNzIHRvIGFsbG93IHVwbG9hZCB0cmFja2luZworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEyMjIKKworICAgICAg
ICBSZXZpZXdlZCBieSBBZHJpZW5uZSBXYWxrZXIuCisKKyAgICAgICAgU3RpY2sgQ0NPdmVyZHJh
d01ldHJpY3MgaW50byBDQ09jY2x1c2lvblRyYWNrZXIsIHNvIHRoYXQgaXQgaXMgYXZhaWxhYmxl
CisgICAgICAgIGV2ZXJ5d2hlcmUgdGhhdCBjdWxsaW5nL2RyYXdpbmcvcGFpbnRpbmcgaXMgZ29p
bmcgb24uIFRoZW4gd2UgY2FuIHN0b3AKKyAgICAgICAgcGx1bWJpbmcgYSBtZXRyaWNzIG9iamVj
dCB0aHJvdWdoIENDUXVhZEN1bGxlci4KKworICAgICAgICBSZW5hbWUgdGhlIENDT3ZlcmRyYXdN
ZXRyaWNzICJwYWludGluZyIgc3R1ZmYgdG8gInVwbG9hZGluZyIgYXMgdGhpcyB3aWxsCisgICAg
ICAgIG1lYXN1cmUgdGV4dHVyZSB1cGxvYWRzIHJhdGhlciB0aGFuIHBpeGVscyBwYWludGVkIGlu
IG1haW4gbWVtb3J5LgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OmNhbGN1bGF0ZVJl
bmRlclBhc3Nlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NP
Y2NsdXNpb25UcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ojo6Q0NPY2NsdXNpb25UcmFj
a2VyQmFzZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2Ns
dXNpb25UcmFja2VyLmg6CisgICAgICAgIChDQ09jY2x1c2lvblRyYWNrZXJCYXNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNDT2NjbHVzaW9uVHJhY2tlckJhc2U6Om92ZXJkcmF3TWV0cmljcyk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPdmVyZHJhd01ldHJpY3Mu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NPdmVyZHJhd01ldHJpY3M6OmRpZEN1bGwpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ092ZXJkcmF3TWV0cmljczo6ZGlk
RHJhdyk6CisgICAgICAgIChXZWJDb3JlOjpDQ092ZXJkcmF3TWV0cmljczo6cmVjb3JkTWV0cmlj
cyk6CisgICAgICAgIChXZWJDb3JlOjpDQ092ZXJkcmF3TWV0cmljczo6cmVjb3JkTWV0cmljc0lu
dGVybmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ092ZXJk
cmF3TWV0cmljcy5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ092
ZXJkcmF3TWV0cmljczo6Y3JlYXRlKToKKyAgICAgICAgKENDT3ZlcmRyYXdNZXRyaWNzKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1F1YWRDdWxsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NRdWFkQ3VsbGVyOjpDQ1F1YWRDdWxsZXIpOgorICAgICAgICAo
V2ViQ29yZTo6Q0NRdWFkQ3VsbGVyOjphcHBlbmQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDUXVhZEN1bGxlci5oOgorICAgICAgICAoQ0NRdWFkQ3VsbGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJQYXNzOjphcHBlbmRRdWFkc0ZvckxheWVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ0NSZW5kZXJQYXNzKToKKworMjAxMi0wMy0x
NSAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KKwogICAgICAgICBbY2hyb21p
dW1dIE1vdmUgb3ZlcmRyYXcgbWV0cmljcyBpbnRvIGEgdGVtcGxhdGVkIGNsYXNzIGZvciBib3Ro
IHBhaW50IGFuZCBkcmF3IG1ldHJpY3MuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MTE1NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDcx
MjZmM2IxOWYwNTI2ZTdkYmNlMzRiOWQ2YWY3MmQ2YmU5MjRhMjMuLjhkYjg2ZWQwNzU2ZGRlZWU4
OWFlYWUxZDM1MDRkZTBiNWYyNTMwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0x
LDUgKzEsMTkgQEAKIDIwMTItMDMtMTUgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5v
cmc+CiAKKyAgICAgICAgW2Nocm9taXVtXSBDaGFuZ2VzIHRvIG92ZXJkcmF3IG1ldHJpY3MgdG8g
YWxsb3cgdXBsb2FkIHRyYWNraW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MTIyMgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkcmllbm5lIFdhbGtl
ci4KKworICAgICAgICAqIHRlc3RzL0NDUXVhZEN1bGxlclRlc3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6YXBwZW5kUXVhZHMpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpURVNUKToKKyAgICAgICAgKiB0ZXN0cy9Nb2NrQ0NRdWFkQ3VsbGVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpNb2NrQ0NRdWFkQ3VsbGVyOjpNb2NrQ0NRdWFkQ3VsbGVyKToKKworMjAxMi0wMy0x
NSAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KKwogICAgICAgICBbY2hyb21p
dW1dIE1vdmUgb3ZlcmRyYXcgbWV0cmljcyBpbnRvIGEgdGVtcGxhdGVkIGNsYXNzIGZvciBib3Ro
IHBhaW50IGFuZCBkcmF3IG1ldHJpY3MuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MTE1NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdElt
cGwuY3BwCmluZGV4IDc5ODU4YzZhOWNlNjcxMTc4MGVjZWFlMDUwOWM2Y2I5Y2YxYWQ5NDEuLmVi
ZTA2ZjUxMGU5NmQ1ZDA3ZDdkNzBmN2U2M2M1OTM2NDVhNjRkNDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdElt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSAiY2Mv
Q0NMYXllckl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXllclRyZWVIb3N0LmgiCiAjaW5j
bHVkZSAiY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmgiCi0jaW5jbHVkZSAiY2MvQ0NPdmVyZHJh
d01ldHJpY3MuaCIKICNpbmNsdWRlICJjYy9DQ1BhZ2VTY2FsZUFuaW1hdGlvbi5oIgogI2luY2x1
ZGUgImNjL0NDUmVuZGVyU3VyZmFjZURyYXdRdWFkLmgiCiAjaW5jbHVkZSAiY2MvQ0NUaHJlYWRU
YXNrLmgiCkBAIC0yNzEsOSArMjcwLDYgQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxj
dWxhdGVSZW5kZXJQYXNzZXMoQ0NSZW5kZXJQYXNzTGlzdCYgcGFzc2VzLCBDQ0xheWUKICAgICAg
ICAgcGFzc2VzLmFwcGVuZChwYXNzLnJlbGVhc2UoKSk7CiAgICAgfQogCi0gICAgLy8gRklYTUU6
IGNvbXB1dGUgb3ZlcmRyYXcgbWV0cmljcyBvbmx5IG9jY2FzaW9uYWxseSwgbm90IGV2ZXJ5IGZy
YW1lLgotICAgIENDT3ZlcmRyYXdNZXRyaWNzIG92ZXJkcmF3TWV0cmljczsKLQogICAgIEludFJl
Y3Qgc2Npc3NvclJlY3Q7CiAgICAgaWYgKGxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMoKS51c2lu
Z1BhcnRpYWxTd2FwKQogICAgICAgICBzY2lzc29yUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QobV9y
b290RGFtYWdlUmVjdCk7CkBAIC0zMDcsMTEgKzMwMywxMSBAQCB2b2lkIENDTGF5ZXJUcmVlSG9z
dEltcGw6OmNhbGN1bGF0ZVJlbmRlclBhc3NlcyhDQ1JlbmRlclBhc3NMaXN0JiBwYXNzZXMsIEND
TGF5ZQogICAgICAgICB9CiAKICAgICAgICAgaXQtPndpbGxEcmF3KG1fbGF5ZXJSZW5kZXJlci5n
ZXQoKSk7Ci0gICAgICAgIHBhc3MtPmFwcGVuZFF1YWRzRm9yTGF5ZXIoKml0LCAmb2NjbHVzaW9u
VHJhY2tlciwgJm92ZXJkcmF3TWV0cmljcyk7CisgICAgICAgIHBhc3MtPmFwcGVuZFF1YWRzRm9y
TGF5ZXIoKml0LCAmb2NjbHVzaW9uVHJhY2tlcik7CiAgICAgICAgIG9jY2x1c2lvblRyYWNrZXIu
bWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoKml0KTsKICAgICB9CiAKLSAgICBvdmVyZHJhd01ldHJp
Y3MucmVjb3JkTWV0cmljcyh0aGlzKTsKKyAgICBvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0
cmljcygpLnJlY29yZE1ldHJpY3ModGhpcyk7CiB9CiAKIHZvaWQgQ0NMYXllclRyZWVIb3N0SW1w
bDo6YW5pbWF0ZUxheWVyc1JlY3Vyc2l2ZShDQ0xheWVySW1wbCogY3VycmVudCwgZG91YmxlIG1v
bm90b25pY1RpbWUsIGRvdWJsZSB3YWxsQ2xvY2tUaW1lLCBDQ0FuaW1hdGlvbkV2ZW50c1ZlY3Rv
ciYgZXZlbnRzLCBib29sJiBkaWRBbmltYXRlLCBib29sJiBuZWVkc0FuaW1hdGVMYXllcnMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q09jY2x1c2lvblRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcAppbmRleCAxYjRmODkxY2NhMWE4Nzc5
NmE1ZTcwODE0MTE4NDBlMTExMTMxYjkwLi5lMGEzZTRmOGVhZTBlOWMwOWZlYjFkYWRiYTllYTQ4
MjgzZTUwOTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKQEAgLTQy
LDYgKzQyLDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJT
dXJmYWNlVHlwZT4KIENDT2NjbHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJUeXBlLCBSZW5kZXJTdXJm
YWNlVHlwZT46OkNDT2NjbHVzaW9uVHJhY2tlckJhc2UoSW50UmVjdCBzY2lzc29yUmVjdEluU2Ny
ZWVuU3BhY2UpCiAgICAgOiBtX3NjaXNzb3JSZWN0SW5TY3JlZW5TcGFjZShzY2lzc29yUmVjdElu
U2NyZWVuU3BhY2UpCiAgICAgLCBtX3N1cmZhY2VEYW1hZ2VDbGllbnQoMCkKKyAgICAsIG1fb3Zl
cmRyYXdNZXRyaWNzKENDT3ZlcmRyYXdNZXRyaWNzOjpjcmVhdGUoKSkKICAgICAsIG1fdXNlUGFp
bnRUcmFja2luZyh0cnVlKSAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgd2hlbiBwYWludCB0cmFja2lu
ZyBpcyBvbiBmb3IgcGFpbnQgY3VsbGluZy4KIHsKIH0KQEAgLTUwLDYgKzUxLDcgQEAgdGVtcGxh
dGU8dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJTdXJmYWNlVHlwZT4KIENDT2Nj
bHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJUeXBlLCBSZW5kZXJTdXJmYWNlVHlwZT46OkNDT2NjbHVz
aW9uVHJhY2tlckJhc2UoSW50UmVjdCBzY2lzc29yUmVjdEluU2NyZWVuU3BhY2UsIGNvbnN0IERh
bWFnZUNsaWVudFR5cGUqIHN1cmZhY2VEYW1hZ2VDbGllbnQpCiAgICAgOiBtX3NjaXNzb3JSZWN0
SW5TY3JlZW5TcGFjZShzY2lzc29yUmVjdEluU2NyZWVuU3BhY2UpCiAgICAgLCBtX3N1cmZhY2VE
YW1hZ2VDbGllbnQoc3VyZmFjZURhbWFnZUNsaWVudCkKKyAgICAsIG1fb3ZlcmRyYXdNZXRyaWNz
KENDT3ZlcmRyYXdNZXRyaWNzOjpjcmVhdGUoKSkKICAgICAsIG1fdXNlUGFpbnRUcmFja2luZyh0
cnVlKSAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgd2hlbiBwYWludCB0cmFja2luZyBpcyBvbiBmb3Ig
cGFpbnQgY3VsbGluZy4KIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmgKaW5k
ZXggZjdhZDY1MjljMGM0Zjk3NTYzMzE2OWNhMWUyOWRlNTM5NGFkNjQ0NS4uMTM0ZDRjYzJiODJh
YTMzZDVlZDdjYTJlZDRiMTUzNmUzZTIxNGI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25U
cmFja2VyLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNs
dWRlICJSZWdpb24uaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgorI2luY2x1
ZGUgImNjL0NDT3ZlcmRyYXdNZXRyaWNzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IENDTGF5ZXJJbXBsOwpAQCAtNzcsNiArNzgsOSBAQCBwdWJsaWM6CiAgICAgLy8gR2l2ZXMgYW4g
dW5vY2NsdWRlZCBzdWItcmVjdCBvZiB8Y29udGVudFJlY3R8IGluIHRoZSBjb250ZW50IHNwYWNl
IG9mIHRoZSBsYXllci4gVXNlZCB3aGVuIGNvbnNpZGVyaW5nIG9jY2x1c2lvbiBmb3IgYSBsYXll
ciB0aGF0IHBhaW50cy9kcmF3cyBzb21ldGhpbmcuCiAgICAgSW50UmVjdCB1bm9jY2x1ZGVkQ29u
dGVudFJlY3QoY29uc3QgTGF5ZXJUeXBlKiwgY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QpIGNv
bnN0OwogCisgICAgLy8gUmVwb3J0IG9wZXJhdGlvbnMgZm9yIHJlY29yZGluZyBvdmVyZHJhdyBt
ZXRyaWNzLgorICAgIENDT3ZlcmRyYXdNZXRyaWNzJiBvdmVyZHJhd01ldHJpY3MoKSBjb25zdCB7
IHJldHVybiAqbV9vdmVyZHJhd01ldHJpY3MuZ2V0KCk7IH0KKwogICAgIC8vIEZJWE1FOiBSZW1v
dmUgdGhpcyB3aGVuIHBhaW50IHRyYWNraW5nIGlzIG9uIGZvciBwYWludCBjdWxsaW5nLgogICAg
IHZvaWQgc2V0VXNlUGFpbnRUcmFja2luZyhib29sIHVzZSkgeyBtX3VzZVBhaW50VHJhY2tpbmcg
PSB1c2U7IH0KIApAQCAtMTA4LDYgKzExMiw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAg
SW50UmVjdCBtX3NjaXNzb3JSZWN0SW5TY3JlZW5TcGFjZTsKICAgICBjb25zdCBEYW1hZ2VDbGll
bnRUeXBlKiBtX3N1cmZhY2VEYW1hZ2VDbGllbnQ7CisgICAgT3duUHRyPENDT3ZlcmRyYXdNZXRy
aWNzPiBtX292ZXJkcmF3TWV0cmljczsKICAgICBib29sIG1fdXNlUGFpbnRUcmFja2luZzsgLy8g
RklYTUU6IFJlbW92ZSB0aGlzIHdoZW4gcGFpbnQgdHJhY2tpbmcgaXMgb24gZm9yIHBhaW50IGN1
bGxpbmcuCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ092ZXJkcmF3TWV0cmljcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ092ZXJkcmF3TWV0cmljcy5jcHAKaW5kZXggNGNi
MmY0YjgwZGI5ZmRkODNhYzY5M2UwYTVjYjlkNDA4OTBmZjNlNi4uYTc3ZGM2OWYwNjFiNTA4M2I4
OGM4YjU4ZjI5MDhjM2M0OTUwNjRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPdmVyZHJhd01ldHJpY3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT3ZlcmRyYXdNZXRyaWNz
LmNwcApAQCAtNTgsMjAgKzU4LDI2IEBAIHN0YXRpYyBpbmxpbmUgZmxvYXQgcXVhZEFyZWEoY29u
c3QgRmxvYXRRdWFkJiBxdWFkKQogICAgICAgICAgICAgICAgICAgICAgICB3ZWRnZVByb2R1Y3Qo
cXVhZC5wNCgpLCBxdWFkLnAxKCkpKSk7CiB9CiAKLXZvaWQgQ0NPdmVyZHJhd01ldHJpY3M6OmRp
ZERyYXcoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybVRvVGFyZ2V0LCBjb25z
dCBJbnRSZWN0JiBiZWZvcmVDdWxsUmVjdCwgY29uc3QgSW50UmVjdCYgYWZ0ZXJDdWxsUmVjdCwg
Y29uc3QgSW50UmVjdCYgb3BhcXVlUmVjdCkKK3ZvaWQgQ0NPdmVyZHJhd01ldHJpY3M6OmRpZEN1
bGwoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybVRvVGFyZ2V0LCBjb25zdCBJ
bnRSZWN0JiBiZWZvcmVDdWxsUmVjdCwgY29uc3QgSW50UmVjdCYgYWZ0ZXJDdWxsUmVjdCkKIHsK
ICAgICBmbG9hdCBiZWZvcmVDdWxsQXJlYSA9IHF1YWRBcmVhKHRyYW5zZm9ybVRvVGFyZ2V0Lm1h
cFF1YWQoRmxvYXRRdWFkKGJlZm9yZUN1bGxSZWN0KSkpOwogICAgIGZsb2F0IGFmdGVyQ3VsbEFy
ZWEgPSBxdWFkQXJlYSh0cmFuc2Zvcm1Ub1RhcmdldC5tYXBRdWFkKEZsb2F0UXVhZChhZnRlckN1
bGxSZWN0KSkpOworCisgICAgbV9waXhlbHNDdWxsZWQgKz0gYmVmb3JlQ3VsbEFyZWEgLSBhZnRl
ckN1bGxBcmVhOworfQorCit2b2lkIENDT3ZlcmRyYXdNZXRyaWNzOjpkaWREcmF3KGNvbnN0IFRy
YW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm1Ub1RhcmdldCwgY29uc3QgSW50UmVjdCYgYWZ0
ZXJDdWxsUmVjdCwgY29uc3QgSW50UmVjdCYgb3BhcXVlUmVjdCkKK3sKKyAgICBmbG9hdCBhZnRl
ckN1bGxBcmVhID0gcXVhZEFyZWEodHJhbnNmb3JtVG9UYXJnZXQubWFwUXVhZChGbG9hdFF1YWQo
YWZ0ZXJDdWxsUmVjdCkpKTsKICAgICBmbG9hdCBhZnRlckN1bGxPcGFxdWVBcmVhID0gcXVhZEFy
ZWEodHJhbnNmb3JtVG9UYXJnZXQubWFwUXVhZChGbG9hdFF1YWQoaW50ZXJzZWN0aW9uKG9wYXF1
ZVJlY3QsIGFmdGVyQ3VsbFJlY3QpKSkpOwogCiAgICAgbV9waXhlbHNEcmF3bk9wYXF1ZSArPSBh
ZnRlckN1bGxPcGFxdWVBcmVhOwogICAgIG1fcGl4ZWxzRHJhd25UcmFuc2x1Y2VudCArPSBhZnRl
ckN1bGxBcmVhIC0gYWZ0ZXJDdWxsT3BhcXVlQXJlYTsKLSAgICBtX3BpeGVsc0N1bGxlZCArPSBi
ZWZvcmVDdWxsQXJlYSAtIGFmdGVyQ3VsbEFyZWE7CiB9CiAKIHZvaWQgQ0NPdmVyZHJhd01ldHJp
Y3M6OnJlY29yZE1ldHJpY3MoY29uc3QgQ0NMYXllclRyZWVIb3N0KiBsYXllclRyZWVIb3N0KSBj
b25zdAogewotICAgIHJlY29yZE1ldHJpY3NJbnRlcm5hbDxDQ0xheWVyVHJlZUhvc3Q+KFBBSU5U
SU5HLCBsYXllclRyZWVIb3N0KTsKKyAgICByZWNvcmRNZXRyaWNzSW50ZXJuYWw8Q0NMYXllclRy
ZWVIb3N0PihVUExPQURJTkcsIGxheWVyVHJlZUhvc3QpOwogfQogCiB2b2lkIENDT3ZlcmRyYXdN
ZXRyaWNzOjpyZWNvcmRNZXRyaWNzKGNvbnN0IENDTGF5ZXJUcmVlSG9zdEltcGwqIGxheWVyVHJl
ZUhvc3QpIGNvbnN0CkBAIC05NywxMyArMTAzLDEzIEBAIHZvaWQgQ0NPdmVyZHJhd01ldHJpY3M6
OnJlY29yZE1ldHJpY3NJbnRlcm5hbChNZXRyaWNzVHlwZSBtZXRyaWNzVHlwZSwgY29uc3QgTGF5
CiAgICAgICAgIG9wYXF1ZUNvdW50ZXJOYW1lID0gIlBpeGVsc0RyYXduT3BhcXVlIjsKICAgICAg
ICAgdHJhbnNsdWNlbnRDb3VudGVyTmFtZSA9ICJQaXhlbHNEcmF3blRyYW5zbHVjZW50IjsKICAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBQQUlOVElORzoKLSAgICAgICAgaGlzdG9ncmFtT3BhcXVl
TmFtZSA9ICJSZW5kZXJlcjQucGFpbnRQaXhlbENvdW50T3BhcXVlIjsKLSAgICAgICAgaGlzdG9n
cmFtVHJhbnNsdWNlbnROYW1lID0gIlJlbmRlcmVyNC5wYWludFBpeGVsQ291bnRUcmFuc2x1Y2Vu
dCI7Ci0gICAgICAgIGhpc3RvZ3JhbUN1bGxlZE5hbWUgPSAiUmVuZGVyZXI0LnBhaW50UGl4ZWxD
b3VudEN1bGxlZCI7Ci0gICAgICAgIGN1bGxDb3VudGVyTmFtZSA9ICJQYWludFBpeGVsc0N1bGxl
ZCI7Ci0gICAgICAgIG9wYXF1ZUNvdW50ZXJOYW1lID0gIlBpeGVsc1BhaW50ZWRPcGFxdWUiOwot
ICAgICAgICB0cmFuc2x1Y2VudENvdW50ZXJOYW1lID0gIlBpeGVsc1BhaW50ZWRUcmFuc2x1Y2Vu
dCI7CisgICAgY2FzZSBVUExPQURJTkc6CisgICAgICAgIGhpc3RvZ3JhbU9wYXF1ZU5hbWUgPSAi
UmVuZGVyZXI0LnVwbG9hZFBpeGVsQ291bnRPcGFxdWUiOworICAgICAgICBoaXN0b2dyYW1UcmFu
c2x1Y2VudE5hbWUgPSAiUmVuZGVyZXI0LnVwbG9hZFBpeGVsQ291bnRUcmFuc2x1Y2VudCI7Cisg
ICAgICAgIGhpc3RvZ3JhbUN1bGxlZE5hbWUgPSAiUmVuZGVyZXI0LnVwbG9hZFBpeGVsQ291bnRD
dWxsZWQiOworICAgICAgICBjdWxsQ291bnRlck5hbWUgPSAiVXBsb2FkUGl4ZWxzQ3VsbGVkIjsK
KyAgICAgICAgb3BhcXVlQ291bnRlck5hbWUgPSAiUGl4ZWxzVXBsb2FkZWRPcGFxdWUiOworICAg
ICAgICB0cmFuc2x1Y2VudENvdW50ZXJOYW1lID0gIlBpeGVsc1VwbG9hZGVkVHJhbnNsdWNlbnQi
OwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgQVNTRVJUKGhpc3RvZ3JhbU9wYXF1ZU5hbWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NPdmVyZHJhd01ldHJpY3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDT3ZlcmRyYXdNZXRyaWNzLmgKaW5kZXggY2Y3MjM1Nzg1ZWNhNmZiZDI2
MjMyY2YyZjJkOGNmYzNhNTg0M2RlMC4uNDg5Y2E1NjljNTI1NTM4OWNjZjMwMmE0YzM4Y2Q4N2Y2
MjBjYzFmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NPdmVyZHJhd01ldHJpY3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ092ZXJkcmF3TWV0cmljcy5oCkBAIC0yNSwxNyArMjUs
MjEgQEAKICNpZm5kZWYgQ0NPdmVyZHJhd01ldHJpY3NfaAogI2RlZmluZSBDQ092ZXJkcmF3TWV0
cmljc19oCiAKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiBjbGFzcyBD
Q0xheWVyVHJlZUhvc3Q7CiBjbGFzcyBDQ0xheWVyVHJlZUhvc3RJbXBsOwogCisvLyBGSVhNRTog
Y29tcHV0ZSBvdmVyZHJhdyBtZXRyaWNzIG9ubHkgb2NjYXNpb25hbGx5LCBub3QgZXZlcnkgZnJh
bWUuCiBjbGFzcyBDQ092ZXJkcmF3TWV0cmljcyB7CiBwdWJsaWM6Ci0gICAgQ0NPdmVyZHJhd01l
dHJpY3MoKTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxDQ092ZXJkcmF3TWV0cmljcz4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRQdHIobmV3IENDT3ZlcmRyYXdNZXRyaWNzKCkpOyB9CiAKLSAgICB2
b2lkIGRpZERyYXcoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybVRvVGFyZ2V0
LCBjb25zdCBJbnRSZWN0JiBiZWZvcmVDdWxsUmVjdCwgY29uc3QgSW50UmVjdCYgYWZ0ZXJDdWxs
UmVjdCwgY29uc3QgSW50UmVjdCYgb3BhcXVlUmVjdCk7CisgICAgdm9pZCBkaWRDdWxsKGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm1Ub1RhcmdldCwgY29uc3QgSW50UmVjdCYg
YmVmb3JlQ3VsbFJlY3QsIGNvbnN0IEludFJlY3QmIGFmdGVyQ3VsbFJlY3QpOworICAgIHZvaWQg
ZGlkRHJhdyhjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtVG9UYXJnZXQsIGNv
bnN0IEludFJlY3QmIGFmdGVyQ3VsbFJlY3QsIGNvbnN0IEludFJlY3QmIG9wYXF1ZVJlY3QpOwog
CiAgICAgdm9pZCByZWNvcmRNZXRyaWNzKGNvbnN0IENDTGF5ZXJUcmVlSG9zdCopIGNvbnN0Owog
ICAgIHZvaWQgcmVjb3JkTWV0cmljcyhjb25zdCBDQ0xheWVyVHJlZUhvc3RJbXBsKikgY29uc3Q7
CkBAIC00Niw5ICs1MCwxMSBAQCBwdWJsaWM6CiAgICAgZmxvYXQgcGl4ZWxzQ3VsbGVkKCkgY29u
c3QgeyByZXR1cm4gbV9waXhlbHNDdWxsZWQ7IH0KIAogcHJpdmF0ZToKKyAgICBDQ092ZXJkcmF3
TWV0cmljcygpOworCiAgICAgZW51bSBNZXRyaWNzVHlwZSB7CiAgICAgICAgIERSQVdJTkcsCi0g
ICAgICAgIFBBSU5USU5HCisgICAgICAgIFVQTE9BRElORwogICAgIH07CiAKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBMYXllclRyZWVIb3N0VHlwZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUXVhZEN1bGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1F1YWRDdWxsZXIuY3BwCmlu
ZGV4IGIxZWIxODNlYmI2NWY0ODI5MDc1ZjllZjE2Mzc2Mzg0ZTQ2NjU5OGUuLmYyYTg1ODcxNzBj
M2JhNWFlMjJlMWIzODhmM2Y4ODI2ZDBlZmQzYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUXVhZEN1bGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NRdWFkQ3VsbGVyLmNw
cApAQCAtNDAsMTEgKzQwLDEwIEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotQ0NRdWFkQ3VsbGVyOjpDQ1F1YWRDdWxsZXIoQ0NRdWFkTGlzdCYgcXVhZExp
c3QsIENDTGF5ZXJJbXBsKiBsYXllciwgQ0NPY2NsdXNpb25UcmFja2VySW1wbCogb2NjbHVzaW9u
VHJhY2tlciwgQ0NPdmVyZHJhd01ldHJpY3MqIG92ZXJkcmF3TWV0cmljcykKK0NDUXVhZEN1bGxl
cjo6Q0NRdWFkQ3VsbGVyKENDUXVhZExpc3QmIHF1YWRMaXN0LCBDQ0xheWVySW1wbCogbGF5ZXIs
IENDT2NjbHVzaW9uVHJhY2tlckltcGwqIG9jY2x1c2lvblRyYWNrZXIpCiAgICAgOiBtX3F1YWRM
aXN0KHF1YWRMaXN0KQogICAgICwgbV9sYXllcihsYXllcikKICAgICAsIG1fb2NjbHVzaW9uVHJh
Y2tlcihvY2NsdXNpb25UcmFja2VyKQotICAgICwgbV9vdmVyZHJhd01ldHJpY3Mob3ZlcmRyYXdN
ZXRyaWNzKQogewogfQogCkBAIC01Niw4ICs1NSw4IEBAIHZvaWQgQ0NRdWFkQ3VsbGVyOjphcHBl
bmQoUGFzc093blB0cjxDQ0RyYXdRdWFkPiBwYXNzRHJhd1F1YWQpCiAgICAgaWYgKGtlZXBRdWFk
KQogICAgICAgICBkcmF3UXVhZC0+c2V0UXVhZFZpc2libGVSZWN0KGN1bGxlZFJlY3QpOwogCi0g
ICAgaWYgKG1fb3ZlcmRyYXdNZXRyaWNzKQotICAgICAgICBtX292ZXJkcmF3TWV0cmljcy0+ZGlk
RHJhdyhkcmF3UXVhZC0+cXVhZFRyYW5zZm9ybSgpLCBkcmF3UXVhZC0+cXVhZFJlY3QoKSwgY3Vs
bGVkUmVjdCwgZHJhd1F1YWQtPm9wYXF1ZVJlY3QoKSk7CisgICAgbV9vY2NsdXNpb25UcmFja2Vy
LT5vdmVyZHJhd01ldHJpY3MoKS5kaWRDdWxsKGRyYXdRdWFkLT5xdWFkVHJhbnNmb3JtKCksIGRy
YXdRdWFkLT5xdWFkUmVjdCgpLCBjdWxsZWRSZWN0KTsKKyAgICBtX29jY2x1c2lvblRyYWNrZXIt
Pm92ZXJkcmF3TWV0cmljcygpLmRpZERyYXcoZHJhd1F1YWQtPnF1YWRUcmFuc2Zvcm0oKSwgY3Vs
bGVkUmVjdCwgZHJhd1F1YWQtPm9wYXF1ZVJlY3QoKSk7CiAKICAgICAvLyBSZWxlYXNlIHRoZSBx
dWFkIGFmdGVyIHdlJ3JlIGRvbmUgdXNpbmcgaXQuCiAgICAgaWYgKGtlZXBRdWFkKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NRdWFk
Q3VsbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1F1YWRDdWxsZXIuaAppbmRleCA5NzY3YmFlMzEyYzY5ZWJhNDZlYTZkOWYwMmE4N2QxN2EwZDgx
NmE1Li4xZjRiOTIwNTYyYWU5NWM1NmRmNzA2OTNkOGI5YzE3MDhmYzk5NzIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1F1YWRDdWxs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1F1YWRDdWxsZXIuaApAQCAtMzYsNyArMzYsNyBAQCBjbGFzcyBDQ1F1YWRDdWxsZXIgewogcHVi
bGljOgogICAgIC8vIFBhc3NpbmcgMCBmb3IgQ0NPdmVyZHJhd0NvdW50cyogaXMgdmFsaWQsIGFu
ZCBkaXNhYmxlIHRoZSBleHRyYSBjb21wdXRhdGlvbgogICAgIC8vIGRvbmUgdG8gZXN0aW1hdGUg
b3ZlciBkcmF3IHN0YXRpc3RpY3MuCi0gICAgQ0NRdWFkQ3VsbGVyKENDUXVhZExpc3QmLCBDQ0xh
eWVySW1wbCosIENDT2NjbHVzaW9uVHJhY2tlckltcGwqLCBDQ092ZXJkcmF3TWV0cmljcyopOwor
ICAgIENDUXVhZEN1bGxlcihDQ1F1YWRMaXN0JiwgQ0NMYXllckltcGwqLCBDQ09jY2x1c2lvblRy
YWNrZXJJbXBsKik7CiAKICAgICB2aXJ0dWFsIHZvaWQgYXBwZW5kKFBhc3NPd25QdHI8Q0NEcmF3
UXVhZD4gcGFzc0RyYXdRdWFkKTsKIApAQCAtNDQsNyArNDQsNiBAQCBwcml2YXRlOgogICAgIEND
UXVhZExpc3QmIG1fcXVhZExpc3Q7CiAgICAgQ0NMYXllckltcGwqIG1fbGF5ZXI7CiAgICAgQ0NP
Y2NsdXNpb25UcmFja2VySW1wbCogbV9vY2NsdXNpb25UcmFja2VyOwotICAgIENDT3ZlcmRyYXdN
ZXRyaWNzKiBtX292ZXJkcmF3TWV0cmljczsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3Mu
Y3BwCmluZGV4IDc0MDE5OWExYTJlM2ViZjJmYjBkMjNjMmMwMzYxZjkwYmIxMGY5NTkuLmExMmJm
YmI1OWY0YTdiOTM5NjNkMjQzNGVjNjBjYmU4NTAwNTYzNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQ
YXNzLmNwcApAQCAtNDYsOSArNDYsOSBAQCBDQ1JlbmRlclBhc3M6OkNDUmVuZGVyUGFzcyhDQ1Jl
bmRlclN1cmZhY2UqIHRhcmdldFN1cmZhY2UpCiAgICAgQVNTRVJUKG1fdGFyZ2V0U3VyZmFjZSk7
CiB9CiAKLXZvaWQgQ0NSZW5kZXJQYXNzOjphcHBlbmRRdWFkc0ZvckxheWVyKENDTGF5ZXJJbXBs
KiBsYXllciwgQ0NPY2NsdXNpb25UcmFja2VySW1wbCogb2NjbHVzaW9uVHJhY2tlciwgQ0NPdmVy
ZHJhd01ldHJpY3MqIG92ZXJkcmF3TWV0cmljcykKK3ZvaWQgQ0NSZW5kZXJQYXNzOjphcHBlbmRR
dWFkc0ZvckxheWVyKENDTGF5ZXJJbXBsKiBsYXllciwgQ0NPY2NsdXNpb25UcmFja2VySW1wbCog
b2NjbHVzaW9uVHJhY2tlcikKIHsKLSAgICBDQ1F1YWRDdWxsZXIgcXVhZEN1bGxlcihtX3F1YWRM
aXN0LCBsYXllciwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXdNZXRyaWNzKTsKKyAgICBDQ1F1
YWRDdWxsZXIgcXVhZEN1bGxlcihtX3F1YWRMaXN0LCBsYXllciwgb2NjbHVzaW9uVHJhY2tlcik7
CiAKICAgICBPd25QdHI8Q0NTaGFyZWRRdWFkU3RhdGU+IHNoYXJlZFF1YWRTdGF0ZSA9IGxheWVy
LT5jcmVhdGVTaGFyZWRRdWFkU3RhdGUoKTsKICAgICBsYXllci0+YXBwZW5kUXVhZHMocXVhZEN1
bGxlciwgc2hhcmVkUXVhZFN0YXRlLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKaW5kZXgg
ZTBhYjNlZGFhOTBmNDU3ZTkzMDI1ZjQxMmE2YjkxNGNlMWU5MDRlNi4uYWM4ZGJjMWEwZDI2YTg0
NzY2NTdmYjY3MmMyZjE1YWFiMjRjOGVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKQEAgLTM0
LDcgKzM0LDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ0NMYXllckltcGw7Ci1j
bGFzcyBDQ092ZXJkcmF3TWV0cmljczsKIGNsYXNzIENDUmVuZGVyU3VyZmFjZTsKIGNsYXNzIEND
U2hhcmVkUXVhZFN0YXRlOwogCkBAIC01NSw3ICs1NCw3IEBAIGNsYXNzIENDUmVuZGVyUGFzcyB7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzPiBjcmVhdGUoQ0NS
ZW5kZXJTdXJmYWNlKik7CiAKLSAgICB2b2lkIGFwcGVuZFF1YWRzRm9yTGF5ZXIoQ0NMYXllcklt
cGwqLCBDQ09jY2x1c2lvblRyYWNrZXJJbXBsKiwgQ0NPdmVyZHJhd01ldHJpY3MqKTsKKyAgICB2
b2lkIGFwcGVuZFF1YWRzRm9yTGF5ZXIoQ0NMYXllckltcGwqLCBDQ09jY2x1c2lvblRyYWNrZXJJ
bXBsKik7CiAgICAgdm9pZCBhcHBlbmRRdWFkc0ZvclJlbmRlclN1cmZhY2VMYXllcihDQ0xheWVy
SW1wbCopOwogCiAgICAgY29uc3QgQ0NRdWFkTGlzdCYgcXVhZExpc3QoKSBjb25zdCB7IHJldHVy
biBtX3F1YWRMaXN0OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L0NDUXVhZEN1bGxlclRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1F1
YWRDdWxsZXJUZXN0LmNwcAppbmRleCAxOWI5YTZjZjQ3NjFjNzE2NTZkZDNjMGU4MzZkY2U0ZGM4
NmIyZDkzLi4xNThiMGMwOGI3MGYxYzFmODY5N2Q3MTI5MGJiOWNlNmU2ZDNiN2E0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDUXVhZEN1bGxlclRlc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NRdWFkQ3VsbGVyVGVzdC5jcHAKQEAg
LTc4LDkgKzc4LDkgQEAgc3RhdGljIFBhc3NPd25QdHI8Q0NUaWxlZExheWVySW1wbD4gbWFrZUxh
eWVyKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBkcmF3VHIKICAgICByZXR1cm4gbGF5ZXIu
cmVsZWFzZSgpOwogfQogCi1zdGF0aWMgdm9pZCBhcHBlbmRRdWFkcyhDQ1F1YWRMaXN0JiBxdWFk
TGlzdCwgQ0NUaWxlZExheWVySW1wbCogbGF5ZXIsIENDT2NjbHVzaW9uVHJhY2tlckltcGwmIG9j
Y2x1c2lvblRyYWNrZXIsIENDT3ZlcmRyYXdNZXRyaWNzJiBvdmVyZHJhdykKK3N0YXRpYyB2b2lk
IGFwcGVuZFF1YWRzKENDUXVhZExpc3QmIHF1YWRMaXN0LCBDQ1RpbGVkTGF5ZXJJbXBsKiBsYXll
ciwgQ0NPY2NsdXNpb25UcmFja2VySW1wbCYgb2NjbHVzaW9uVHJhY2tlcikKIHsKLSAgICBDQ1F1
YWRDdWxsZXIgcXVhZEN1bGxlcihxdWFkTGlzdCwgbGF5ZXIsICZvY2NsdXNpb25UcmFja2VyLCAm
b3ZlcmRyYXcpOworICAgIENDUXVhZEN1bGxlciBxdWFkQ3VsbGVyKHF1YWRMaXN0LCBsYXllciwg
Jm9jY2x1c2lvblRyYWNrZXIpOwogICAgIE93blB0cjxDQ1NoYXJlZFF1YWRTdGF0ZT4gc2hhcmVk
UXVhZFN0YXRlID0gbGF5ZXItPmNyZWF0ZVNoYXJlZFF1YWRTdGF0ZSgpOwogICAgIGxheWVyLT5h
cHBlbmRRdWFkcyhxdWFkQ3VsbGVyLCBzaGFyZWRRdWFkU3RhdGUuZ2V0KCkpOwogfQpAQCAtODgs
NyArODgsNiBAQCBzdGF0aWMgdm9pZCBhcHBlbmRRdWFkcyhDQ1F1YWRMaXN0JiBxdWFkTGlzdCwg
Q0NUaWxlZExheWVySW1wbCogbGF5ZXIsIENDT2NjbHVzaQogI2RlZmluZSBERUNMQVJFX0FORF9J
TklUSUFMSVpFX1RFU1RfUVVBRFMgICAgICAgICAgICAgICBcCiAgICAgRGVidWdTY29wZWRTZXRJ
bXBsVGhyZWFkIGltcGw7ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBDQ1F1YWRMaXN0IHF1
YWRMaXN0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIENDT3ZlcmRyYXdN
ZXRyaWNzIG92ZXJkcmF3OyAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgVHJhbnNmb3Jt
YXRpb25NYXRyaXggY2hpbGRUcmFuc2Zvcm07ICAgICAgICAgICAgICAgIFwKICAgICBJbnRTaXpl
IHJvb3RTaXplID0gSW50U2l6ZSgzMDAsIDMwMCk7ICAgICAgICAgICAgICAgXAogICAgIEludFJl
Y3Qgcm9vdFJlY3QgPSBJbnRSZWN0KEludFBvaW50KCksIHJvb3RTaXplKTsgICBcCkBAIC0xMDMs
MTIgKzEwMiwxMiBAQCBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlmeU5vQ3VsbGluZykKICAg
ICBPd25QdHI8Q0NUaWxlZExheWVySW1wbD4gY2hpbGRMYXllciA9IG1ha2VMYXllcihUcmFuc2Zv
cm1hdGlvbk1hdHJpeCgpLCBjaGlsZFJlY3QsIDEuMCwgdHJ1ZSwgSW50UmVjdCgpKTsKICAgICBU
ZXN0Q0NPY2NsdXNpb25UcmFja2VySW1wbCBvY2NsdXNpb25UcmFja2VyKEludFJlY3QoLTEwMCwg
LTEwMCwgMTAwMCwgMTAwMCkpOwogCi0gICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIGNoaWxkTGF5
ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsKLSAgICBhcHBlbmRRdWFkcyhx
dWFkTGlzdCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7Cisg
ICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNr
ZXIpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0KCksIG9jY2x1c2lv
blRyYWNrZXIpOwogICAgIEVYUEVDVF9FUShxdWFkTGlzdC5zaXplKCksIDEzdSk7Ci0gICAgRVhQ
RUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25PcGFxdWUoKSwgMTMwMDAwLCAxKTsKLSAgICBF
WFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDAsIDEpOwotICAg
IEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0N1bGxlZCgpLCAwLCAxKTsKKyAgICBFWFBFQ1Rf
TkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0RyYXduT3BhcXVl
KCksIDEzMDAwMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJh
d01ldHJpY3MoKS5waXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDAsIDEpOworICAgIEVYUEVDVF9O
RUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzQ3VsbGVkKCksIDAs
IDEpOwogfQogCiBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlmeUN1bGxDaGlsZExpbmVzVXBU
b3BMZWZ0KQpAQCAtMTE5LDEzICsxMTgsMTMgQEAgVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJp
ZnlDdWxsQ2hpbGRMaW5lc1VwVG9wTGVmdCkKICAgICBPd25QdHI8Q0NUaWxlZExheWVySW1wbD4g
Y2hpbGRMYXllciA9IG1ha2VMYXllcihUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBjaGlsZFJlY3Qs
IDEuMCwgdHJ1ZSwgSW50UmVjdCgpKTsKICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VySW1wbCBv
Y2NsdXNpb25UcmFja2VyKEludFJlY3QoLTEwMCwgLTEwMCwgMTAwMCwgMTAwMCkpOwogCi0gICAg
YXBwZW5kUXVhZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIs
IG92ZXJkcmF3KTsKKyAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQoKSwg
b2NjbHVzaW9uVHJhY2tlcik7CiAgICAgb2NjbHVzaW9uVHJhY2tlci5tYXJrT2NjbHVkZWRCZWhp
bmRMYXllcihjaGlsZExheWVyLmdldCgpKTsKLSAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgcm9v
dExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7CisgICAgYXBwZW5kUXVh
ZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlcik7CiAgICAgRVhQ
RUNUX0VRKHF1YWRMaXN0LnNpemUoKSwgOXUpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBp
eGVsc0RyYXduT3BhcXVlKCksIDkwMDAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5w
aXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDAsIDEpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3
LnBpeGVsc0N1bGxlZCgpLCA0MDAwMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJh
Y2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3bk9wYXF1ZSgpLCA5MDAwMCwgMSk7Cisg
ICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNE
cmF3blRyYW5zbHVjZW50KCksIDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNr
ZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzQ3VsbGVkKCksIDQwMDAwLCAxKTsKIH0KIAogVEVT
VChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsV2hlbkNoaWxkT3BhY2l0eU5vdE9uZSkKQEAg
LTEzNiwxMyArMTM1LDEzIEBAIFRFU1QoQ0NRdWFkQ3VsbGVyVGVzdCwgdmVyaWZ5Q3VsbFdoZW5D
aGlsZE9wYWNpdHlOb3RPbmUpCiAgICAgT3duUHRyPENDVGlsZWRMYXllckltcGw+IGNoaWxkTGF5
ZXIgPSBtYWtlTGF5ZXIoY2hpbGRUcmFuc2Zvcm0sIGNoaWxkUmVjdCwgMC45LCB0cnVlLCBJbnRS
ZWN0KCkpOwogICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJJbXBsIG9jY2x1c2lvblRyYWNrZXIo
SW50UmVjdCgtMTAwLCAtMTAwLCAxMDAwLCAxMDAwKSk7CiAKLSAgICBhcHBlbmRRdWFkcyhxdWFk
TGlzdCwgY2hpbGRMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAg
IGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2Vy
KTsKICAgICBvY2NsdXNpb25UcmFja2VyLm1hcmtPY2NsdWRlZEJlaGluZExheWVyKGNoaWxkTGF5
ZXIuZ2V0KCkpOwotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0KCksIG9j
Y2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsKKyAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgcm9v
dExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBFWFBFQ1RfRVEocXVhZExpc3Qu
c2l6ZSgpLCAxM3UpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXduT3BhcXVl
KCksIDkwMDAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3blRyYW5z
bHVjZW50KCksIDQwMDAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNDdWxs
ZWQoKSwgMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01l
dHJpY3MoKS5waXhlbHNEcmF3bk9wYXF1ZSgpLCA5MDAwMCwgMSk7CisgICAgRVhQRUNUX05FQVIo
b2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3blRyYW5zbHVjZW50
KCksIDQwMDAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3
TWV0cmljcygpLnBpeGVsc0N1bGxlZCgpLCAwLCAxKTsKIH0KIAogVEVTVChDQ1F1YWRDdWxsZXJU
ZXN0LCB2ZXJpZnlDdWxsV2hlbkNoaWxkT3BhcXVlRmxhZ0ZhbHNlKQpAQCAtMTUzLDEzICsxNTIs
MTMgQEAgVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsV2hlbkNoaWxkT3BhcXVlRmxh
Z0ZhbHNlKQogICAgIE93blB0cjxDQ1RpbGVkTGF5ZXJJbXBsPiBjaGlsZExheWVyID0gbWFrZUxh
eWVyKGNoaWxkVHJhbnNmb3JtLCBjaGlsZFJlY3QsIDEuMCwgZmFsc2UsIEludFJlY3QoKSk7CiAg
ICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckltcGwgb2NjbHVzaW9uVHJhY2tlcihJbnRSZWN0KC0x
MDAsIC0xMDAsIDEwMDAsIDEwMDApKTsKIAotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGls
ZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7CisgICAgYXBwZW5kUXVh
ZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIG9j
Y2x1c2lvblRyYWNrZXIubWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoY2hpbGRMYXllci5nZXQoKSk7
Ci0gICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJh
Y2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0
KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIEVYUEVDVF9FUShxdWFkTGlzdC5zaXplKCksIDEz
dSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25PcGFxdWUoKSwgOTAwMDAs
IDEpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXduVHJhbnNsdWNlbnQoKSwg
NDAwMDAsIDEpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0N1bGxlZCgpLCAwLCAx
KTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBp
eGVsc0RyYXduT3BhcXVlKCksIDkwMDAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25U
cmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0RyYXduVHJhbnNsdWNlbnQoKSwgNDAwMDAs
IDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCku
cGl4ZWxzQ3VsbGVkKCksIDAsIDEpOwogfQogCiBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlm
eUN1bGxDZW50ZXJUaWxlT25seSkKQEAgLTE3Miw5ICsxNzEsOSBAQCBURVNUKENDUXVhZEN1bGxl
clRlc3QsIHZlcmlmeUN1bGxDZW50ZXJUaWxlT25seSkKICAgICBPd25QdHI8Q0NUaWxlZExheWVy
SW1wbD4gY2hpbGRMYXllciA9IG1ha2VMYXllcihjaGlsZFRyYW5zZm9ybSwgY2hpbGRSZWN0LCAx
LjAsIHRydWUsIEludFJlY3QoKSk7CiAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckltcGwgb2Nj
bHVzaW9uVHJhY2tlcihJbnRSZWN0KC0xMDAsIC0xMDAsIDEwMDAsIDEwMDApKTsKIAotICAgIGFw
cGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBv
dmVyZHJhdyk7CisgICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9j
Y2x1c2lvblRyYWNrZXIpOwogICAgIG9jY2x1c2lvblRyYWNrZXIubWFya09jY2x1ZGVkQmVoaW5k
TGF5ZXIoY2hpbGRMYXllci5nZXQoKSk7Ci0gICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIHJvb3RM
YXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRz
KHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIEVYUEVD
VF9FUShxdWFkTGlzdC5zaXplKCksIDEydSk7CiAKICAgICBJbnRSZWN0IHF1YWRWaXNpYmxlUmVj
dDEgPSBxdWFkTGlzdFs1XS5nZXQoKS0+cXVhZFZpc2libGVSZWN0KCk7CkBAIC0xOTIsOSArMTkx
LDkgQEAgVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsQ2VudGVyVGlsZU9ubHkpCiAg
ICAgRVhQRUNUX0VRKHF1YWRWaXNpYmxlUmVjdDYuaGVpZ2h0KCksIDUwKTsKICAgICBFWFBFQ1Rf
RVEocXVhZFZpc2libGVSZWN0Ni55KCksIDI1MCk7CiAKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJh
dy5waXhlbHNEcmF3bk9wYXF1ZSgpLCAxMDAwMDAsIDEpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJk
cmF3LnBpeGVsc0RyYXduVHJhbnNsdWNlbnQoKSwgMCwgMSk7Ci0gICAgRVhQRUNUX05FQVIob3Zl
cmRyYXcucGl4ZWxzQ3VsbGVkKCksIDMwMDAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNp
b25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0RyYXduT3BhcXVlKCksIDEwMDAwMCwg
MSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5w
aXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lv
blRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzQ3VsbGVkKCksIDMwMDAwLCAxKTsKIH0K
IAogVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsQ2VudGVyVGlsZU5vbkludGVncmFs
U2l6ZTEpCkBAIC0yMTUsMTQgKzIxNCwxNCBAQCBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlm
eUN1bGxDZW50ZXJUaWxlTm9uSW50ZWdyYWxTaXplMSkKICAgICBPd25QdHI8Q0NUaWxlZExheWVy
SW1wbD4gY2hpbGRMYXllciA9IG1ha2VMYXllcihjaGlsZFRyYW5zZm9ybSwgY2hpbGRSZWN0LCAx
LjAsIHRydWUsIEludFJlY3QoKSk7CiAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckltcGwgb2Nj
bHVzaW9uVHJhY2tlcihJbnRSZWN0KC0xMDAsIC0xMDAsIDEwMDAsIDEwMDApKTsKIAotICAgIGFw
cGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBv
dmVyZHJhdyk7CisgICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9j
Y2x1c2lvblRyYWNrZXIpOwogICAgIG9jY2x1c2lvblRyYWNrZXIubWFya09jY2x1ZGVkQmVoaW5k
TGF5ZXIoY2hpbGRMYXllci5nZXQoKSk7Ci0gICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIHJvb3RM
YXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRz
KHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIEVYUEVD
VF9FUShxdWFkTGlzdC5zaXplKCksIDJ1KTsKIAotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBp
eGVsc0RyYXduT3BhcXVlKCksIDIwMzYzLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5w
aXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDAsIDEpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3
LnBpeGVsc0N1bGxlZCgpLCAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2Vy
Lm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0RyYXduT3BhcXVlKCksIDIwMzYzLCAxKTsKKyAgICBF
WFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0RyYXdu
VHJhbnNsdWNlbnQoKSwgMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5v
dmVyZHJhd01ldHJpY3MoKS5waXhlbHNDdWxsZWQoKSwgMCwgMSk7CiB9CiAKIFRFU1QoQ0NRdWFk
Q3VsbGVyVGVzdCwgdmVyaWZ5Q3VsbENlbnRlclRpbGVOb25JbnRlZ3JhbFNpemUyKQpAQCAtMjQz
LDE0ICsyNDIsMTQgQEAgVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsQ2VudGVyVGls
ZU5vbkludGVncmFsU2l6ZTIpCiAgICAgT3duUHRyPENDVGlsZWRMYXllckltcGw+IGNoaWxkTGF5
ZXIgPSBtYWtlTGF5ZXIoY2hpbGRUcmFuc2Zvcm0sIGNoaWxkUmVjdCwgMS4wLCB0cnVlLCBJbnRS
ZWN0KCkpOwogICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJJbXBsIG9jY2x1c2lvblRyYWNrZXIo
SW50UmVjdCgtMTAwLCAtMTAwLCAxMDAwLCAxMDAwKSk7CiAKLSAgICBhcHBlbmRRdWFkcyhxdWFk
TGlzdCwgY2hpbGRMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAg
IGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2Vy
KTsKICAgICBvY2NsdXNpb25UcmFja2VyLm1hcmtPY2NsdWRlZEJlaGluZExheWVyKGNoaWxkTGF5
ZXIuZ2V0KCkpOwotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0KCksIG9j
Y2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsKKyAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgcm9v
dExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBFWFBFQ1RfRVEocXVhZExpc3Qu
c2l6ZSgpLCAydSk7CiAKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3bk9wYXF1
ZSgpLCAxOTY0MywgMSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25UcmFu
c2x1Y2VudCgpLCAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNDdWxsZWQo
KSwgMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJp
Y3MoKS5waXhlbHNEcmF3bk9wYXF1ZSgpLCAxOTY0MywgMSk7CisgICAgRVhQRUNUX05FQVIob2Nj
bHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3blRyYW5zbHVjZW50KCks
IDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNz
KCkucGl4ZWxzQ3VsbGVkKCksIDAsIDEpOwogfQogCiBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZl
cmlmeUN1bGxDaGlsZExpbmVzVXBCb3R0b21SaWdodCkKQEAgLTI2MywxMyArMjYyLDEzIEBAIFRF
U1QoQ0NRdWFkQ3VsbGVyVGVzdCwgdmVyaWZ5Q3VsbENoaWxkTGluZXNVcEJvdHRvbVJpZ2h0KQog
ICAgIE93blB0cjxDQ1RpbGVkTGF5ZXJJbXBsPiBjaGlsZExheWVyID0gbWFrZUxheWVyKGNoaWxk
VHJhbnNmb3JtLCBjaGlsZFJlY3QsIDEuMCwgdHJ1ZSwgSW50UmVjdCgpKTsKICAgICBUZXN0Q0NP
Y2NsdXNpb25UcmFja2VySW1wbCBvY2NsdXNpb25UcmFja2VyKEludFJlY3QoLTEwMCwgLTEwMCwg
MTAwMCwgMTAwMCkpOwogCi0gICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0
KCksIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsKKyAgICBhcHBlbmRRdWFkcyhxdWFkTGlz
dCwgY2hpbGRMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlcik7CiAgICAgb2NjbHVzaW9uVHJh
Y2tlci5tYXJrT2NjbHVkZWRCZWhpbmRMYXllcihjaGlsZExheWVyLmdldCgpKTsKLSAgICBhcHBl
bmRRdWFkcyhxdWFkTGlzdCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVy
ZHJhdyk7CisgICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2NjbHVz
aW9uVHJhY2tlcik7CiAgICAgRVhQRUNUX0VRKHF1YWRMaXN0LnNpemUoKSwgOXUpOwotICAgIEVY
UEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXduT3BhcXVlKCksIDkwMDAwLCAxKTsKLSAgICBF
WFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDAsIDEpOwotICAg
IEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0N1bGxlZCgpLCA0MDAwMCwgMSk7CisgICAgRVhQ
RUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3bk9w
YXF1ZSgpLCA5MDAwMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVy
ZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDAsIDEpOworICAgIEVYUEVD
VF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzQ3VsbGVkKCks
IDQwMDAwLCAxKTsKIH0KIAogVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlDdWxsU3ViUmVn
aW9uKQpAQCAtMjgzLDEzICsyODIsMTMgQEAgVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlD
dWxsU3ViUmVnaW9uKQogICAgIE93blB0cjxDQ1RpbGVkTGF5ZXJJbXBsPiBjaGlsZExheWVyID0g
bWFrZUxheWVyKGNoaWxkVHJhbnNmb3JtLCBjaGlsZFJlY3QsIDEuMCwgZmFsc2UsIGNoaWxkT3Bh
cXVlUmVjdCk7CiAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckltcGwgb2NjbHVzaW9uVHJhY2tl
cihJbnRSZWN0KC0xMDAsIC0xMDAsIDEwMDAsIDEwMDApKTsKIAotICAgIGFwcGVuZFF1YWRzKHF1
YWRMaXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7Cisg
ICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNr
ZXIpOwogICAgIG9jY2x1c2lvblRyYWNrZXIubWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoY2hpbGRM
YXllci5nZXQoKSk7Ci0gICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwg
b2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBy
b290TGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIEVYUEVDVF9FUShxdWFkTGlz
dC5zaXplKCksIDEydSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25PcGFx
dWUoKSwgOTAwMDAsIDEpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXduVHJh
bnNsdWNlbnQoKSwgMzAwMDAsIDEpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0N1
bGxlZCgpLCAxMDAwMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVy
ZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3bk9wYXF1ZSgpLCA5MDAwMCwgMSk7CisgICAgRVhQRUNU
X05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3blRyYW5z
bHVjZW50KCksIDMwMDAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92
ZXJkcmF3TWV0cmljcygpLnBpeGVsc0N1bGxlZCgpLCAxMDAwMCwgMSk7CiB9CiAKIFRFU1QoQ0NR
dWFkQ3VsbGVyVGVzdCwgdmVyaWZ5Q3VsbFN1YlJlZ2lvbjIpCkBAIC0zMDMsMTMgKzMwMiwxMyBA
QCBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlmeUN1bGxTdWJSZWdpb24yKQogICAgIE93blB0
cjxDQ1RpbGVkTGF5ZXJJbXBsPiBjaGlsZExheWVyID0gbWFrZUxheWVyKGNoaWxkVHJhbnNmb3Jt
LCBjaGlsZFJlY3QsIDEuMCwgZmFsc2UsIGNoaWxkT3BhcXVlUmVjdCk7CiAgICAgVGVzdENDT2Nj
bHVzaW9uVHJhY2tlckltcGwgb2NjbHVzaW9uVHJhY2tlcihJbnRSZWN0KC0xMDAsIC0xMDAsIDEw
MDAsIDEwMDApKTsKIAotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgp
LCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7CisgICAgYXBwZW5kUXVhZHMocXVhZExpc3Qs
IGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIG9jY2x1c2lvblRyYWNr
ZXIubWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoY2hpbGRMYXllci5nZXQoKSk7Ci0gICAgYXBwZW5k
UXVhZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRy
YXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0KCksIG9jY2x1c2lv
blRyYWNrZXIpOwogICAgIEVYUEVDVF9FUShxdWFkTGlzdC5zaXplKCksIDEydSk7Ci0gICAgRVhQ
RUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25PcGFxdWUoKSwgOTAwMDAsIDEpOwotICAgIEVY
UEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXduVHJhbnNsdWNlbnQoKSwgMjUwMDAsIDEpOwot
ICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0N1bGxlZCgpLCAxNTAwMCwgMSk7CisgICAg
RVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3
bk9wYXF1ZSgpLCA5MDAwMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5v
dmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDI1MDAwLCAxKTsKKyAg
ICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0N1
bGxlZCgpLCAxNTAwMCwgMSk7CiB9CiAKIFRFU1QoQ0NRdWFkQ3VsbGVyVGVzdCwgdmVyaWZ5Q3Vs
bFN1YlJlZ2lvbkNoZWNrT3ZlcmN1bGwpCkBAIC0zMjMsMTMgKzMyMiwxMyBAQCBURVNUKENDUXVh
ZEN1bGxlclRlc3QsIHZlcmlmeUN1bGxTdWJSZWdpb25DaGVja092ZXJjdWxsKQogICAgIE93blB0
cjxDQ1RpbGVkTGF5ZXJJbXBsPiBjaGlsZExheWVyID0gbWFrZUxheWVyKGNoaWxkVHJhbnNmb3Jt
LCBjaGlsZFJlY3QsIDEuMCwgZmFsc2UsIGNoaWxkT3BhcXVlUmVjdCk7CiAgICAgVGVzdENDT2Nj
bHVzaW9uVHJhY2tlckltcGwgb2NjbHVzaW9uVHJhY2tlcihJbnRSZWN0KC0xMDAsIC0xMDAsIDEw
MDAsIDEwMDApKTsKIAotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGlsZExheWVyLmdldCgp
LCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7CisgICAgYXBwZW5kUXVhZHMocXVhZExpc3Qs
IGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIG9jY2x1c2lvblRyYWNr
ZXIubWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoY2hpbGRMYXllci5nZXQoKSk7Ci0gICAgYXBwZW5k
UXVhZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRy
YXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0KCksIG9jY2x1c2lv
blRyYWNrZXIpOwogICAgIEVYUEVDVF9FUShxdWFkTGlzdC5zaXplKCksIDEzdSk7Ci0gICAgRVhQ
RUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25PcGFxdWUoKSwgOTAwMDAsIDEpOwotICAgIEVY
UEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXduVHJhbnNsdWNlbnQoKSwgMzAwMDAsIDEpOwot
ICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0N1bGxlZCgpLCAxMDAwMCwgMSk7CisgICAg
RVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3
bk9wYXF1ZSgpLCA5MDAwMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5v
dmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDMwMDAwLCAxKTsKKyAg
ICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0N1
bGxlZCgpLCAxMDAwMCwgMSk7CiB9CiAKIFRFU1QoQ0NRdWFkQ3VsbGVyVGVzdCwgdmVyaWZ5Tm9u
QXhpc0FsaWduZWRRdWFkc0RvbnRPY2NsdWRlKQpAQCAtMzQzLDEzICszNDIsMTMgQEAgVEVTVChD
Q1F1YWRDdWxsZXJUZXN0LCB2ZXJpZnlOb25BeGlzQWxpZ25lZFF1YWRzRG9udE9jY2x1ZGUpCiAg
ICAgT3duUHRyPENDVGlsZWRMYXllckltcGw+IGNoaWxkTGF5ZXIgPSBtYWtlTGF5ZXIoY2hpbGRU
cmFuc2Zvcm0sIGNoaWxkUmVjdCwgMS4wLCB0cnVlLCBJbnRSZWN0KCkpOwogICAgIFRlc3RDQ09j
Y2x1c2lvblRyYWNrZXJJbXBsIG9jY2x1c2lvblRyYWNrZXIoSW50UmVjdCgtMTAwLCAtMTAwLCAx
MDAwLCAxMDAwKSk7CiAKLSAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQo
KSwgb2NjbHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0
LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyKTsKICAgICBvY2NsdXNpb25UcmFj
a2VyLm1hcmtPY2NsdWRlZEJlaGluZExheWVyKGNoaWxkTGF5ZXIuZ2V0KCkpOwotICAgIGFwcGVu
ZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJk
cmF3KTsKKyAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNp
b25UcmFja2VyKTsKICAgICBFWFBFQ1RfRVEocXVhZExpc3Quc2l6ZSgpLCAxM3UpOwotICAgIEVY
UEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXduT3BhcXVlKCksIDEzMDAwMCwgMSk7Ci0gICAg
RVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAwLCAxKTsKLSAg
ICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNDdWxsZWQoKSwgMCwgMSk7CisgICAgRVhQRUNU
X05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3bk9wYXF1
ZSgpLCAxMzAwMDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRy
YXdNZXRyaWNzKCkucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAwLCAxKTsKKyAgICBFWFBFQ1Rf
TkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0N1bGxlZCgpLCAw
LCAxKTsKIH0KIAogLy8gVGhpcyB0ZXN0IHJlcXVpcmVzIHNvbWUgZXhwbGFuYXRpb246IGhlcmUg
d2UgYXJlIHJvdGF0aW5nIHRoZSBxdWFkcyB0byBiZSBjdWxsZWQuCkBAIC0zNjksMTMgKzM2OCwx
MyBAQCBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlmeU5vbkF4aXNBbGlnbmVkUXVhZHNTYWZl
bHlDdWxsZWQpCiAgICAgT3duUHRyPENDVGlsZWRMYXllckltcGw+IGNoaWxkTGF5ZXIgPSBtYWtl
TGF5ZXIoVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgY2hpbGRSZWN0LCAxLjAsIHRydWUsIEludFJl
Y3QoKSk7CiAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckltcGwgb2NjbHVzaW9uVHJhY2tlcihJ
bnRSZWN0KC0xMDAsIC0xMDAsIDEwMDAsIDEwMDApKTsKIAotICAgIGFwcGVuZFF1YWRzKHF1YWRM
aXN0LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7CisgICAg
YXBwZW5kUXVhZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIp
OwogICAgIG9jY2x1c2lvblRyYWNrZXIubWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoY2hpbGRMYXll
ci5nZXQoKSk7Ci0gICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2Nj
bHVzaW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290
TGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIEVYUEVDVF9FUShxdWFkTGlzdC5z
aXplKCksIDEydSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25PcGFxdWUo
KSwgMTAwNjAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3blRyYW5z
bHVjZW50KCksIDAsIDEpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0N1bGxlZCgp
LCAyOTQwMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01l
dHJpY3MoKS5waXhlbHNEcmF3bk9wYXF1ZSgpLCAxMDA2MDAsIDEpOworICAgIEVYUEVDVF9ORUFS
KG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJhd25UcmFuc2x1Y2Vu
dCgpLCAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0
cmljcygpLnBpeGVsc0N1bGxlZCgpLCAyOTQwMCwgMSk7CiB9CiAKIFRFU1QoQ0NRdWFkQ3VsbGVy
VGVzdCwgdmVyaWZ5Q3VsbE91dHNpZGVTY2lzc29yT3ZlclRpbGUpCkBAIC0zODYsMTMgKzM4NSwx
MyBAQCBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlmeUN1bGxPdXRzaWRlU2Npc3Nvck92ZXJU
aWxlKQogICAgIE93blB0cjxDQ1RpbGVkTGF5ZXJJbXBsPiBjaGlsZExheWVyID0gbWFrZUxheWVy
KFRyYW5zZm9ybWF0aW9uTWF0cml4KCksIGNoaWxkUmVjdCwgMS4wLCB0cnVlLCBJbnRSZWN0KCkp
OwogICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJJbXBsIG9jY2x1c2lvblRyYWNrZXIoSW50UmVj
dCgyMDAsIDEwMCwgMTAwLCAxMDApKTsKIAotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGls
ZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7CisgICAgYXBwZW5kUXVh
ZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIG9j
Y2x1c2lvblRyYWNrZXIubWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoY2hpbGRMYXllci5nZXQoKSk7
Ci0gICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJh
Y2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0
KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIEVYUEVDVF9FUShxdWFkTGlzdC5zaXplKCksIDF1
KTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3bk9wYXF1ZSgpLCAxMDAwMCwg
MSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAw
LCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNDdWxsZWQoKSwgMTIwMDAwLCAx
KTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBp
eGVsc0RyYXduT3BhcXVlKCksIDEwMDAwLCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25U
cmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBpeGVsc0RyYXduVHJhbnNsdWNlbnQoKSwgMCwgMSk7
CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5vdmVyZHJhd01ldHJpY3MoKS5waXhl
bHNDdWxsZWQoKSwgMTIwMDAwLCAxKTsKIH0KIAogVEVTVChDQ1F1YWRDdWxsZXJUZXN0LCB2ZXJp
ZnlDdWxsT3V0c2lkZVNjaXNzb3JPdmVyQ3VsbGVkVGlsZSkKQEAgLTQwMywxMyArNDAyLDEzIEBA
IFRFU1QoQ0NRdWFkQ3VsbGVyVGVzdCwgdmVyaWZ5Q3VsbE91dHNpZGVTY2lzc29yT3ZlckN1bGxl
ZFRpbGUpCiAgICAgT3duUHRyPENDVGlsZWRMYXllckltcGw+IGNoaWxkTGF5ZXIgPSBtYWtlTGF5
ZXIoVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgY2hpbGRSZWN0LCAxLjAsIHRydWUsIEludFJlY3Qo
KSk7CiAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckltcGwgb2NjbHVzaW9uVHJhY2tlcihJbnRS
ZWN0KDEwMCwgMTAwLCAxMDAsIDEwMCkpOwogCi0gICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIGNo
aWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIsIG92ZXJkcmF3KTsKKyAgICBhcHBlbmRR
dWFkcyhxdWFkTGlzdCwgY2hpbGRMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJhY2tlcik7CiAgICAg
b2NjbHVzaW9uVHJhY2tlci5tYXJrT2NjbHVkZWRCZWhpbmRMYXllcihjaGlsZExheWVyLmdldCgp
KTsKLSAgICBhcHBlbmRRdWFkcyhxdWFkTGlzdCwgcm9vdExheWVyLmdldCgpLCBvY2NsdXNpb25U
cmFja2VyLCBvdmVyZHJhdyk7CisgICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIHJvb3RMYXllci5n
ZXQoKSwgb2NjbHVzaW9uVHJhY2tlcik7CiAgICAgRVhQRUNUX0VRKHF1YWRMaXN0LnNpemUoKSwg
MXUpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0RyYXduT3BhcXVlKCksIDEwMDAw
LCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3blRyYW5zbHVjZW50KCks
IDAsIDEpOwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0N1bGxlZCgpLCAxMjAwMDAs
IDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCku
cGl4ZWxzRHJhd25PcGFxdWUoKSwgMTAwMDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lv
blRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAwLCAx
KTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygpLnBp
eGVsc0N1bGxlZCgpLCAxMjAwMDAsIDEpOwogfQogCiBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZl
cmlmeUN1bGxPdXRzaWRlU2Npc3Nvck92ZXJQYXJ0aWFsVGlsZXMpCkBAIC00MjAsMTMgKzQxOSwx
MyBAQCBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlmeUN1bGxPdXRzaWRlU2Npc3Nvck92ZXJQ
YXJ0aWFsVGlsZXMpCiAgICAgT3duUHRyPENDVGlsZWRMYXllckltcGw+IGNoaWxkTGF5ZXIgPSBt
YWtlTGF5ZXIoVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgY2hpbGRSZWN0LCAxLjAsIHRydWUsIElu
dFJlY3QoKSk7CiAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckltcGwgb2NjbHVzaW9uVHJhY2tl
cihJbnRSZWN0KDUwLCA1MCwgMjAwLCAyMDApKTsKIAotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0
LCBjaGlsZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7CisgICAgYXBw
ZW5kUXVhZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwog
ICAgIG9jY2x1c2lvblRyYWNrZXIubWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoY2hpbGRMYXllci5n
ZXQoKSk7Ci0gICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2NjbHVz
aW9uVHJhY2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5
ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIEVYUEVDVF9FUShxdWFkTGlzdC5zaXpl
KCksIDl1KTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3bk9wYXF1ZSgpLCA0
MDAwMCwgMSk7Ci0gICAgRVhQRUNUX05FQVIob3ZlcmRyYXcucGl4ZWxzRHJhd25UcmFuc2x1Y2Vu
dCgpLCAwLCAxKTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNDdWxsZWQoKSwgOTAw
MDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNz
KCkucGl4ZWxzRHJhd25PcGFxdWUoKSwgNDAwMDAsIDEpOworICAgIEVYUEVDVF9ORUFSKG9jY2x1
c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzRHJhd25UcmFuc2x1Y2VudCgpLCAw
LCAxKTsKKyAgICBFWFBFQ1RfTkVBUihvY2NsdXNpb25UcmFja2VyLm92ZXJkcmF3TWV0cmljcygp
LnBpeGVsc0N1bGxlZCgpLCA5MDAwMCwgMSk7CiB9CiAKIFRFU1QoQ0NRdWFkQ3VsbGVyVGVzdCwg
dmVyaWZ5Q3VsbE91dHNpZGVTY2lzc29yT3Zlck5vVGlsZXMpCkBAIC00MzcsMTMgKzQzNiwxMyBA
QCBURVNUKENDUXVhZEN1bGxlclRlc3QsIHZlcmlmeUN1bGxPdXRzaWRlU2Npc3Nvck92ZXJOb1Rp
bGVzKQogICAgIE93blB0cjxDQ1RpbGVkTGF5ZXJJbXBsPiBjaGlsZExheWVyID0gbWFrZUxheWVy
KFRyYW5zZm9ybWF0aW9uTWF0cml4KCksIGNoaWxkUmVjdCwgMS4wLCB0cnVlLCBJbnRSZWN0KCkp
OwogICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJJbXBsIG9jY2x1c2lvblRyYWNrZXIoSW50UmVj
dCg1MDAsIDUwMCwgMTAwLCAxMDApKTsKIAotICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCBjaGls
ZExheWVyLmdldCgpLCBvY2NsdXNpb25UcmFja2VyLCBvdmVyZHJhdyk7CisgICAgYXBwZW5kUXVh
ZHMocXVhZExpc3QsIGNoaWxkTGF5ZXIuZ2V0KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIG9j
Y2x1c2lvblRyYWNrZXIubWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoY2hpbGRMYXllci5nZXQoKSk7
Ci0gICAgYXBwZW5kUXVhZHMocXVhZExpc3QsIHJvb3RMYXllci5nZXQoKSwgb2NjbHVzaW9uVHJh
Y2tlciwgb3ZlcmRyYXcpOworICAgIGFwcGVuZFF1YWRzKHF1YWRMaXN0LCByb290TGF5ZXIuZ2V0
KCksIG9jY2x1c2lvblRyYWNrZXIpOwogICAgIEVYUEVDVF9FUShxdWFkTGlzdC5zaXplKCksIDB1
KTsKLSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3bk9wYXF1ZSgpLCAwLCAxKTsK
LSAgICBFWFBFQ1RfTkVBUihvdmVyZHJhdy5waXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDAsIDEp
OwotICAgIEVYUEVDVF9ORUFSKG92ZXJkcmF3LnBpeGVsc0N1bGxlZCgpLCAxMzAwMDAsIDEpOwor
ICAgIEVYUEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxz
RHJhd25PcGFxdWUoKSwgMCwgMSk7CisgICAgRVhQRUNUX05FQVIob2NjbHVzaW9uVHJhY2tlci5v
dmVyZHJhd01ldHJpY3MoKS5waXhlbHNEcmF3blRyYW5zbHVjZW50KCksIDAsIDEpOworICAgIEVY
UEVDVF9ORUFSKG9jY2x1c2lvblRyYWNrZXIub3ZlcmRyYXdNZXRyaWNzKCkucGl4ZWxzQ3VsbGVk
KCksIDEzMDAwMCwgMSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL01vY2tDQ1F1YWRDdWxsZXIuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvTW9ja0NDUXVhZEN1bGxlci5oCmluZGV4IDZkYzcyYzVhMTk1YjA3ZWE4
NGYwZDJmMjlkYTIzNjdiZDI3NzNlMzguLjc5MWFmNTAzM2Y3OGY2NjEwYWEyNjY1MmIzNGJiOGRm
ZTA3ZjhkYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTW9ja0ND
UXVhZEN1bGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTW9ja0NDUXVh
ZEN1bGxlci5oCkBAIC0zNSwxMiArMzUsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
TW9ja0NDUXVhZEN1bGxlciA6IHB1YmxpYyBXZWJDb3JlOjpDQ1F1YWRDdWxsZXIgewogcHVibGlj
OgogICAgIE1vY2tDQ1F1YWRDdWxsZXIoKQotICAgICAgICA6IENDUXVhZEN1bGxlcihtX3F1YWRM
aXN0U3RvcmFnZSwgMCwgMCwgMCkKKyAgICAgICAgOiBDQ1F1YWRDdWxsZXIobV9xdWFkTGlzdFN0
b3JhZ2UsIDAsIDApCiAgICAgICAgICwgbV9hY3RpdmVRdWFkTGlzdChtX3F1YWRMaXN0U3RvcmFn
ZSkKICAgICB7IH0KIAogICAgIGV4cGxpY2l0IE1vY2tDQ1F1YWRDdWxsZXIoQ0NRdWFkTGlzdCYg
ZXh0ZXJuYWxRdWFkTGlzdCkKLSAgICAgICAgOiBDQ1F1YWRDdWxsZXIoZXh0ZXJuYWxRdWFkTGlz
dCwgMCwgMCwgMCkKKyAgICAgICAgOiBDQ1F1YWRDdWxsZXIoZXh0ZXJuYWxRdWFkTGlzdCwgMCwg
MCkKICAgICAgICAgLCBtX2FjdGl2ZVF1YWRMaXN0KGV4dGVybmFsUXVhZExpc3QpCiAgICAgeyB9
CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>