<?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>69108</bug_id>
          
          <creation_ts>2011-09-29 16:14:01 -0700</creation_ts>
          <short_desc>Parse drop-shadow() filter syntax</short_desc>
          <delta_ts>2011-11-10 11:29:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>68469</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>macpherson</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>475732</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-09-29 16:14:01 -0700</bug_when>
    <thetext>drop-shadow is more complicated than the other effects because it takes shadow syntax (with some restrictions). I&apos;ll need to extract the shadow parsing code from CSSParser into something that can be used for this as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475734</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-09-29 16:14:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/10211535&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499609</commentid>
    <comment_count>2</comment_count>
      <attachid>114425</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-11-09 20:37:59 -0800</bug_when>
    <thetext>Created attachment 114425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499658</commentid>
    <comment_count>3</comment_count>
      <attachid>114425</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-11-09 22:31:45 -0800</bug_when>
    <thetext>Comment on attachment 114425
Patch

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

r+ but please remove the FIXME

&gt; Source/WebCore/css/CSSParser.cpp:6507
&gt; +        maximumArgumentCount = 5; // FIXME: is this right?

Is it?

&gt; Source/WebCore/css/CSSParser.cpp:6750
&gt; +                RefPtr&lt;CSSValueList&gt; shadowValueList = parseShadow(args, CSSPropertyWebkitFilter);

I think it&apos;s a bit odd to re-use parseShadow for this filter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499734</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-11-10 02:04:24 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 114425 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=114425&amp;action=review
&gt; 
&gt; r+ but please remove the FIXME
&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:6507
&gt; &gt; +        maximumArgumentCount = 5; // FIXME: is this right?
&gt; 
&gt; Is it?

Oops!! I need to test that.

&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:6750
&gt; &gt; +                RefPtr&lt;CSSValueList&gt; shadowValueList = parseShadow(args, CSSPropertyWebkitFilter);
&gt; 
&gt; I think it&apos;s a bit odd to re-use parseShadow for this filter.

That was the majority of the work in this patch. We share exactly the same syntax as text shadow and it has all the smarts to parse the (quite complex) shadow syntax. It would be a lot of duplicated code otherwise.

The fact that I can pass in CSSPropertyWebkitFilter is something I should consider changing. The parseShadow code doesn&apos;t expect that and happens to fall into a mode where it disallows spread and inset style - just as we want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500070</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-11-10 11:29:06 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/99883</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114425</attachid>
            <date>2011-11-09 20:37:59 -0800</date>
            <delta_ts>2011-11-09 22:31:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69108-20111110153756.patch</filename>
            <type>text/plain</type>
            <size>32806</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk3NTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3ODljZDU1ZDdiMDIxMGY2
N2ZmZDM5M2UyYWVlYzRjYzNiMGQxZTc5Li44MjNlZGI0NzcyNzEzYmVjYWI4OTFjNDM4NTY4MGY0
Nzk2YzE1ODVlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMTEtMDkgIERlYW4g
SmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFBhcnNlIGRyb3Atc2hhZG93KCkg
ZmlsdGVyIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjkxMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBTdXBwb3J0IHBhcnNpbmcgb2YgdGhlIHNoYWRvdyBzeW50YXggaW5zaWRlIGRyb3Atc2hh
ZG93CisgICAgICAgIGFuZCByZXR1cm5pbmcgdGhlIGNvcnJlY3QgY29tcHV0ZWQgc3R5bGUgZm9y
IGEgZmlsdGVyIHRoYXQKKyAgICAgICAgaGFzIHN1Y2ggYSBmdW5jdGlvbi4KKworICAgICAgICAq
IGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjp2YWx1ZUZvckZpbHRlcik6CisgICAgICAgICAg
ICBNb3ZlIHRoaXMgZnJvbSBhIHN0YXRpYyBmdW5jdGlvbiAoY29tcHV0ZWRGaWx0ZXIpIHRvIGEg
bWV0aG9kIG9uCisgICAgICAgICAgICBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24sIHdoaWNo
IGFsbG93cyB1cyB0byBjYWxsIHRoZQorICAgICAgICAgICAgZXhpc3RpbmcgbWV0aG9kIGZvciBz
aGFkb3cgc3R5bGVzLgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmg6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyOjpwYXJzZVNoYWRvdyk6CisgICAgICAgICAgICBQcmV2aW91c2x5IHBhcnNlU2hhZG93IGV4
cGVjdGVkIHRvIGJlIGNhbGxlZCB3aXRoIHRoZSBlbnRpcmUKKyAgICAgICAgICAgIHZhbHVlIG9m
IGEgcHJvcGVydHksIG5vdCBqdXN0IHRvIGxvb2sgYXQgYSByZXN0cmljdGVkIHN1YnNldC4KKyAg
ICAgICAgICAgIENoYW5nZSBwYXJzZVNoYWRvdyB0byB0YWtlIGEgQ1NTUGFyc2VyVmFsdWVMaXN0
IGFzIHBhcmFtZXRlciwKKyAgICAgICAgICAgIGFsbG93aW5nIGl0IHRvIGJlIHVzZWQgdG8gcGFy
c2UgdGhlIGFyZ3VtZW50cyB0byB0aGUgZHJvcC1zaGFkb3cKKyAgICAgICAgICAgIGZ1bmN0aW9u
LiBBbHNvLCByZXR1cm4gdGhlIENTU1ZhbHVlTGlzdCByYXRoZXIgdGhhbiBpbmplY3RpbmcKKyAg
ICAgICAgICAgIGl0IGRpcmVjdGx5IGludG8gdGhlIHByb3BlcnR5IHZhbHVlLgorICAgICAgICAo
V2ViQ29yZTo6ZmlsdGVySW5mb0Zvck5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
OjpwYXJzZUZpbHRlcik6CisgICAgICAgICAgICBTdXBwb3J0IGZvciB0aGUgZHJvcC1zaGFkb3co
KSBmdW5jdGlvbi4KKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NT
U1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6
Y3JlYXRlRmlsdGVyT3BlcmF0aW9ucyk6CisgICAgICAgICogY3NzL1NWR0NTU1BhcnNlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU1ZHVmFsdWUpOgorICAgICAgICAg
ICAgVXBkYXRlZCB0byB1c2UgdGhlIG5ldyBhcmd1bWVudHMgZm9yIHBhcnNlU2hhZG93LgorCiAy
MDExLTExLTA5ICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJFR1JFU1NJT04gKHI5MzYxNCk6IENvbnRlbnQgcmVtYWlucyBkZXNwaXRlIHBhcmVu
dCBlbGVtZW50IGJlaW5nIHNjcm9sbGVkIG9mZiBwYWdlIHVzaW5nIGphdmFzY3JpcHQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmlu
ZGV4IGZlOTgxOTU0N2Q0NjczYzcwZmJkYmVjN2RkODY5M2M4YzY5N2QwYzguLmY4ZGEzODBlODk0
MDlhODQ5OGY5ZTM0ZjA5YjM1ZjViNjVhM2EzMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC02NDksOSArNjQ5LDExIEBA
IHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjb21wdXRlZFRyYW5zZm9ybShSZW5kZXJPYmpl
Y3QqIHJlbmRlcmVyLCBjb25zdCBSZW5kCiB9CiAKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCi1z
dGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY29tcHV0ZWRGaWx0ZXIoUmVuZGVyT2JqZWN0KiBy
ZW5kZXJlciwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBDU1NQcmltaXRpdmVWYWx1ZUNhY2hl
KiBwcmltaXRpdmVWYWx1ZUNhY2hlKQorUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uOjp2YWx1ZUZvckZpbHRlcihSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0
CiB7Ci0gICAgaWYgKCFyZW5kZXJlciB8fCBzdHlsZS0+ZmlsdGVyKCkub3BlcmF0aW9ucygpLmlz
RW1wdHkoKSkKKyAgICBDU1NQcmltaXRpdmVWYWx1ZUNhY2hlKiBwcmltaXRpdmVWYWx1ZUNhY2hl
ID0gbV9ub2RlLT5kb2N1bWVudCgpLT5jc3NQcmltaXRpdmVWYWx1ZUNhY2hlKCkuZ2V0KCk7CisK
KyAgICBpZiAoc3R5bGUtPmZpbHRlcigpLm9wZXJhdGlvbnMoKS5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybiBwcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFs
dWVOb25lKTsKIAogICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBDU1NWYWx1ZUxpc3Q6
OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CkBAIC03MjcsNiArNzI5LDEzIEBAIHN0YXRpYyBQYXNz
UmVmUHRyPENTU1ZhbHVlPiBjb21wdXRlZEZpbHRlcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBj
b25zdCBSZW5kZXJTCiAgICAgICAgICAgICBmaWx0ZXJWYWx1ZS0+YXBwZW5kKHByaW1pdGl2ZVZh
bHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKHNoYXJwZW5PcGVyYXRpb24tPnRocmVzaG9sZCgpLCBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUikpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KKyAgICAgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OkRST1BfU0hBRE9XOiB7CisgICAgICAg
ICAgICBEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uKiBkcm9wU2hhZG93T3BlcmF0aW9uID0gc3Rh
dGljX2Nhc3Q8RHJvcFNoYWRvd0ZpbHRlck9wZXJhdGlvbio+KGZpbHRlck9wZXJhdGlvbik7Cisg
ICAgICAgICAgICBmaWx0ZXJWYWx1ZSA9IFdlYktpdENTU0ZpbHRlclZhbHVlOjpjcmVhdGUoV2Vi
S2l0Q1NTRmlsdGVyVmFsdWU6OkRyb3BTaGFkb3dGaWx0ZXJPcGVyYXRpb24pOworICAgICAgICAg
ICAgLy8gV2Ugd2FudCBvdXIgY29tcHV0ZWQgc3R5bGUgdG8gbG9vayBsaWtlIHRoYXQgb2YgYSB0
ZXh0IHNoYWRvdyAoaGFzIG5laXRoZXIgc3ByZWFkIG5vciBpbnNldCBzdHlsZSkuCisgICAgICAg
ICAgICBmaWx0ZXJWYWx1ZS0+YXBwZW5kKHZhbHVlRm9yU2hhZG93KGRyb3BTaGFkb3dPcGVyYXRp
b24tPnNoYWRvdygpLCBDU1NQcm9wZXJ0eVRleHRTaGFkb3csIHN0eWxlKSk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKICAgICAgICAgY2Fz
ZSBGaWx0ZXJPcGVyYXRpb246OkNVU1RPTTogewogICAgICAgICAgICAgLy8gRklYTUU6IEltcGxl
bWVudCBjdXN0b20gc2hhZGVyIGZ1bmN0aW9uLgpAQCAtMjAxNCw3ICsyMDIzLDcgQEAgUGFzc1Jl
ZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNT
U1ZhbHVlKGludCBwcm9wZXIKICAgICAgICAgICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZUNhY2hl
LT5jcmVhdGVWYWx1ZShzdHlsZS0+cmVnaW9uT3ZlcmZsb3coKSk7CiAjaWYgRU5BQkxFKENTU19G
SUxURVJTKQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0RmlsdGVyOgotICAgICAgICAg
ICAgcmV0dXJuIGNvbXB1dGVkRmlsdGVyKHJlbmRlcmVyLCBzdHlsZS5nZXQoKSwgcHJpbWl0aXZl
VmFsdWVDYWNoZSk7CisgICAgICAgICAgICByZXR1cm4gdmFsdWVGb3JGaWx0ZXIoc3R5bGUuZ2V0
KCkpOwogI2VuZGlmCiAgICAgICAgIC8qIFNob3J0aGFuZCBwcm9wZXJ0aWVzLCBjdXJyZW50bHkg
bm90IHN1cHBvcnRlZCBzZWUgYnVnIDEzNjU4Ki8KICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJh
Y2tncm91bmQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmgKaW5kZXggNGJmNWEwM2I3ZTFmOWZiZDliMGQ3YmQzYzg5NDZmZjg4ZWQwMDAzNS4u
NDg1Mjk3N2E2MTA2ZDcyYmQ3NjRhOGU0NGQ0NDM0ZDYxOTZjYTBiOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaApAQCAtODEsNiArODEs
MTAgQEAgcHJpdmF0ZToKICAgICBQYXNzUmVmUHRyPFNWR1BhaW50PiBhZGp1c3RTVkdQYWludEZv
ckN1cnJlbnRDb2xvcihQYXNzUmVmUHRyPFNWR1BhaW50PiwgUmVuZGVyU3R5bGUqKSBjb25zdDsK
ICNlbmRpZgogCisjaWYgRU5BQkxFKENTU19GSUxURVJTKQorICAgIFBhc3NSZWZQdHI8Q1NTVmFs
dWU+IHZhbHVlRm9yRmlsdGVyKFJlbmRlclN0eWxlKikgY29uc3Q7CisjZW5kaWYKKwogICAgIFJl
ZlB0cjxOb2RlPiBtX25vZGU7CiAgICAgUHNldWRvSWQgbV9wc2V1ZG9FbGVtZW50U3BlY2lmaWVy
OwogICAgIGJvb2wgbV9hbGxvd1Zpc2l0ZWRTdHlsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
aW5kZXggMTk0ODQxMDJiMzkxZDA4ZjdiNTBlY2MyMWE4NTJlZmExZTU4NjMyNi4uMjViZGM3N2Zh
YzZhMjRkZjVjYzgyNDgzM2E2ZWUzOWFlZTc3ZTVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKQEAgLTE1MzMsOCArMTUzMywxNSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQg
cHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm94U2hh
ZG93OgogICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVOb25lKQogICAgICAgICAgICAgdmFsaWRQ
cmltaXRpdmUgPSB0cnVlOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXR1cm4gcGFyc2VT
aGFkb3cocHJvcElkLCBpbXBvcnRhbnQpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIFJl
ZlB0cjxDU1NWYWx1ZUxpc3Q+IHNoYWRvd1ZhbHVlTGlzdCA9IHBhcnNlU2hhZG93KG1fdmFsdWVM
aXN0LCBwcm9wSWQpOworICAgICAgICAgICAgaWYgKHNoYWRvd1ZhbHVlTGlzdCkgeworICAgICAg
ICAgICAgICAgIGFkZFByb3BlcnR5KHByb3BJZCwgc2hhZG93VmFsdWVMaXN0LnJlbGVhc2UoKSwg
aW1wb3J0YW50KTsKKyAgICAgICAgICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOworICAgICAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRCb3hSZWZsZWN0OgogICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVOb25lKQpAQCAtNDk4
NCwzNCArNDk5MSwzNCBAQCBzdHJ1Y3QgU2hhZG93UGFyc2VDb250ZXh0IHsKICAgICBib29sIGFs
bG93QnJlYWs7CiB9OwogCi1ib29sIENTU1BhcnNlcjo6cGFyc2VTaGFkb3coaW50IHByb3BJZCwg
Ym9vbCBpbXBvcnRhbnQpCitQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2VyOjpwYXJz
ZVNoYWRvdyhDU1NQYXJzZXJWYWx1ZUxpc3QqIHZhbHVlTGlzdCwgaW50IHByb3BJZCkKIHsKICAg
ICBTaGFkb3dQYXJzZUNvbnRleHQgY29udGV4dChzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihw
cm9wSWQpLCBwcmltaXRpdmVWYWx1ZUNhY2hlKCkpOwogICAgIENTU1BhcnNlclZhbHVlKiB2YWw7
Ci0gICAgd2hpbGUgKCh2YWwgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKSkgeworICAgIHdoaWxl
ICgodmFsID0gdmFsdWVMaXN0LT5jdXJyZW50KCkpKSB7CiAgICAgICAgIC8vIENoZWNrIGZvciBh
IGNvbW1hIGJyZWFrIGZpcnN0LgogICAgICAgICBpZiAodmFsLT51bml0ID09IENTU1BhcnNlclZh
bHVlOjpPcGVyYXRvcikgewogICAgICAgICAgICAgaWYgKHZhbC0+aVZhbHVlICE9ICcsJyB8fCAh
Y29udGV4dC5hbGxvd0JyZWFrKQogICAgICAgICAgICAgICAgIC8vIE90aGVyIG9wZXJhdG9ycyBh
cmVuJ3QgbGVnYWwgb3Igd2UgYXJlbid0IGRvbmUgd2l0aCB0aGUgY3VycmVudCBzaGFkb3cKICAg
ICAgICAgICAgICAgICAvLyB2YWx1ZS4gIFRyZWF0IGFzIGludmFsaWQuCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIHJldHVybiAwOwogI2lmIEVOQUJMRShT
VkcpCiAgICAgICAgICAgICAvLyAtd2Via2l0LXN2Zy1zaGFkb3cgZG9lcyBub3Qgc3VwcG9ydCBt
dWx0aXBsZSB2YWx1ZXMuCiAgICAgICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJ
RD4ocHJvcElkKSA9PSBDU1NQcm9wZXJ0eVdlYmtpdFN2Z1NoYWRvdykKLSAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAjZW5kaWYKICAgICAg
ICAgICAgIC8vIFRoZSB2YWx1ZSBpcyBnb29kLiAgQ29tbWl0IGl0LgogICAgICAgICAgICAgY29u
dGV4dC5jb21taXRWYWx1ZSgpOwogICAgICAgICB9IGVsc2UgaWYgKHZhbGlkVW5pdCh2YWwsIEZM
ZW5ndGgsIHRydWUpKSB7CiAgICAgICAgICAgICAvLyBXZSByZXF1aXJlZCBhIGxlbmd0aCBhbmQg
ZGlkbid0IGdldCBvbmUuIEludmFsaWQuCiAgICAgICAgICAgICBpZiAoIWNvbnRleHQuYWxsb3dM
ZW5ndGgoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAg
cmV0dXJuIDA7CiAKICAgICAgICAgICAgIC8vIEEgbGVuZ3RoIGlzIGFsbG93ZWQgaGVyZS4gIENv
bnN0cnVjdCB0aGUgdmFsdWUgYW5kIGFkZCBpdC4KICAgICAgICAgICAgIGNvbnRleHQuY29tbWl0
TGVuZ3RoKHZhbCk7CiAgICAgICAgIH0gZWxzZSBpZiAodmFsLT5pZCA9PSBDU1NWYWx1ZUluc2V0
KSB7CiAgICAgICAgICAgICBpZiAoIWNvbnRleHQuYWxsb3dTdHlsZSkKLSAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAKICAgICAgICAgICAg
IGNvbnRleHQuY29tbWl0U3R5bGUodmFsKTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTUwMjIsNyAr
NTAyOSw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVNoYWRvdyhpbnQgcHJvcElkLCBib29sIGlt
cG9ydGFudCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09IENTU1Zh
bHVlQ3VycmVudGNvbG9yKTsKICAgICAgICAgICAgIGlmIChpc0NvbG9yKSB7CiAgICAgICAgICAg
ICAgICAgaWYgKCFjb250ZXh0LmFsbG93Q29sb3IpCi0gICAgICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICAgICAg
cGFyc2VkQ29sb3IgPSBwcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1
ZSh2YWwtPmlkKTsKICAgICAgICAgICAgIH0KIApAQCAtNTAzMSwyNSArNTAzOCwyMiBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VTaGFkb3coaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAg
ICAgICAgICAgICAgcGFyc2VkQ29sb3IgPSBwYXJzZUNvbG9yKHZhbCk7CiAKICAgICAgICAgICAg
IGlmICghcGFyc2VkQ29sb3IgfHwgIWNvbnRleHQuYWxsb3dDb2xvcikKLSAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7IC8vIFRoaXMgdmFsdWUgaXMgbm90IGEgY29sb3Igb3IgbGVuZ3RoIGFu
ZCBpcyBpbnZhbGlkIG9yCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7IC8vIFRoaXMgdmFsdWUg
aXMgbm90IGEgY29sb3Igb3IgbGVuZ3RoIGFuZCBpcyBpbnZhbGlkIG9yCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBpdCBpcyBhIGNvbG9yLCBidXQgYSBjb2xvciBpc24ndCBhbGxv
d2VkIGF0IHRoaXMgcG9pbnQuCiAKICAgICAgICAgICAgIGNvbnRleHQuY29tbWl0Q29sb3IocGFy
c2VkQ29sb3IucmVsZWFzZSgpKTsKICAgICAgICAgfQogCi0gICAgICAgIG1fdmFsdWVMaXN0LT5u
ZXh0KCk7CisgICAgICAgIHZhbHVlTGlzdC0+bmV4dCgpOwogICAgIH0KIAogICAgIGlmIChjb250
ZXh0LmFsbG93QnJlYWspIHsKICAgICAgICAgY29udGV4dC5jb21taXRWYWx1ZSgpOwotICAgICAg
ICBpZiAoY29udGV4dC52YWx1ZXMtPmxlbmd0aCgpKSB7Ci0gICAgICAgICAgICBhZGRQcm9wZXJ0
eShwcm9wSWQsIGNvbnRleHQudmFsdWVzLnJlbGVhc2UoKSwgaW1wb3J0YW50KTsKLSAgICAgICAg
ICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAg
ICAgfQorICAgICAgICBpZiAoY29udGV4dC52YWx1ZXMgJiYgY29udGV4dC52YWx1ZXMtPmxlbmd0
aCgpKQorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQudmFsdWVzLnJlbGVhc2UoKTsKICAgICB9
CiAKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIDA7CiB9CiAKIGJvb2wgQ1NTUGFyc2Vy
OjpwYXJzZVJlZmxlY3QoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCkBAIC02NDk4LDYgKzY1
MDIsOSBAQCBzdGF0aWMgdm9pZCBmaWx0ZXJJbmZvRm9yTmFtZShjb25zdCBDU1NQYXJzZXJTdHJp
bmcmIG5hbWUsIFdlYktpdENTU0ZpbHRlclZhbHVlOgogICAgIH0gZWxzZSBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UobmFtZSwgInNoYXJwZW4oIikpIHsKICAgICAgICAgZmlsdGVyVHlwZSA9IFdlYktp
dENTU0ZpbHRlclZhbHVlOjpTaGFycGVuRmlsdGVyT3BlcmF0aW9uOwogICAgICAgICBtYXhpbXVt
QXJndW1lbnRDb3VudCA9IDM7CisgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1l
LCAiZHJvcC1zaGFkb3coIikpIHsKKyAgICAgICAgZmlsdGVyVHlwZSA9IFdlYktpdENTU0ZpbHRl
clZhbHVlOjpEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uOworICAgICAgICBtYXhpbXVtQXJndW1l
bnRDb3VudCA9IDU7IC8vIEZJWE1FOiBpcyB0aGlzIHJpZ2h0PwogICAgIH0KICNpZiBFTkFCTEUo
Q1NTX1NIQURFUlMpCiAgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgImN1c3Rv
bSgiKSkKQEAgLTY3MzQsMjUgKzY3NDEsMzQgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IENT
U1BhcnNlcjo6cGFyc2VGaWx0ZXIoKQogICAgICAgICAgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBh
cmdzID0gdmFsdWUtPmZ1bmN0aW9uLT5hcmdzLmdldCgpOwogICAgICAgICAgICAgaWYgKCFhcmdz
IHx8IGFyZ3MtPnNpemUoKSA+IG1heGltdW1Bcmd1bWVudENvdW50KQogICAgICAgICAgICAgICAg
IHJldHVybiAwOwotCisgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgbmV3
IFdlYktpdENTU0ZpbHRlclZhbHVlIGZvciB0aGlzIG9wZXJhdGlvbiBhbmQgYWRkIGl0IHRvIG91
ciBsaXN0LgogICAgICAgICAgICAgUmVmUHRyPFdlYktpdENTU0ZpbHRlclZhbHVlPiBmaWx0ZXJW
YWx1ZSA9IFdlYktpdENTU0ZpbHRlclZhbHVlOjpjcmVhdGUoZmlsdGVyVHlwZSk7CiAgICAgICAg
ICAgICBsaXN0LT5hcHBlbmQoZmlsdGVyVmFsdWUpOworICAgICAgICAgICAgCisgICAgICAgICAg
ICBpZiAoZmlsdGVyVHlwZSA9PSBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6RHJvcFNoYWRvd0ZpbHRl
ck9wZXJhdGlvbikgeworICAgICAgICAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHNoYWRv
d1ZhbHVlTGlzdCA9IHBhcnNlU2hhZG93KGFyZ3MsIENTU1Byb3BlcnR5V2Via2l0RmlsdGVyKTsK
KyAgICAgICAgICAgICAgICBpZiAoc2hhZG93VmFsdWVMaXN0ICYmIHNoYWRvd1ZhbHVlTGlzdC0+
bGVuZ3RoKCkgPT0gMSkKKyAgICAgICAgICAgICAgICAgICAgZmlsdGVyVmFsdWUtPmFwcGVuZCgo
c2hhZG93VmFsdWVMaXN0LnJlbGVhc2UoKSktPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soMCkpOwor
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgICAgICB9IGVsc2UgewogCi0gICAgICAgICAgICBDU1NQYXJzZXJWYWx1ZSogYXJndW1lbnQg
PSBhcmdzLT5jdXJyZW50KCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBhcmd1bWVudENvdW50ID0g
MDsKKyAgICAgICAgICAgICAgICBDU1NQYXJzZXJWYWx1ZSogYXJndW1lbnQgPSBhcmdzLT5jdXJy
ZW50KCk7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgYXJndW1lbnRDb3VudCA9IDA7CiAKLSAg
ICAgICAgICAgIHdoaWxlIChhcmd1bWVudCkgewotICAgICAgICAgICAgICAgIGlmICghaXNWYWxp
ZEZpbHRlckFyZ3VtZW50KGFyZ3VtZW50LCBmaWx0ZXJUeXBlLCBhcmd1bWVudENvdW50KSkKLSAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAgd2hpbGUgKGFyZ3Vt
ZW50KSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZEZpbHRlckFyZ3VtZW50KGFy
Z3VtZW50LCBmaWx0ZXJUeXBlLCBhcmd1bWVudENvdW50KSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiAwOwogCi0gICAgICAgICAgICAgICAgZmlsdGVyVmFsdWUtPmFwcGVuZChjcmVh
dGVQcmltaXRpdmVOdW1lcmljVmFsdWUoYXJndW1lbnQpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmlsdGVyVmFsdWUtPmFwcGVuZChjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUoYXJndW1lbnQp
KTsKIAotICAgICAgICAgICAgICAgIGFyZ3VtZW50ID0gYXJncy0+bmV4dCgpOwotICAgICAgICAg
ICAgICAgIGlmICghYXJndW1lbnQpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgICAgICAgICBhcmd1bWVudCA9IGFyZ3MtPm5leHQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKCFhcmd1bWVudCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogCi0gICAg
ICAgICAgICAgICAgKythcmd1bWVudENvdW50OworICAgICAgICAgICAgICAgICAgICArK2FyZ3Vt
ZW50Q291bnQ7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDQ4ODdkY2FjYWI5NTM2NDYzNjQwNzNiNzY4
ZTAyZTBjYTQ3ZDhjMjIuLmNmNDM0MjU3MTQ0NzIxNjAxODQ4Y2QwYWQxZTA3N2RhZGMxNDVlZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBwdWJsaWM6CiAjZW5k
aWYKIAogICAgIC8vIENTUzMgUGFyc2luZyBSb3V0aW5lcyAoZm9yIHByb3BlcnRpZXMgc3BlY2lm
aWMgdG8gQ1NTMykKLSAgICBib29sIHBhcnNlU2hhZG93KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0
YW50KTsKKyAgICBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gcGFyc2VTaGFkb3coQ1NTUGFyc2Vy
VmFsdWVMaXN0KiwgaW50IHByb3BJZCk7CiAgICAgYm9vbCBwYXJzZUJvcmRlckltYWdlKGludCBw
cm9wSWQsIFJlZlB0cjxDU1NWYWx1ZT4mKTsKICAgICBib29sIHBhcnNlQm9yZGVySW1hZ2VSZXBl
YXQoUmVmUHRyPENTU1ZhbHVlPiYpOwogICAgIGJvb2wgcGFyc2VCb3JkZXJJbWFnZVNsaWNlKGlu
dCBwcm9wSWQsIFJlZlB0cjxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU+Jik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggNjI2YTJhMTE5NmJmZWNmNTQwNmUwYmJj
ZTkzNzMzMTlkNzkyMTcwMy4uZDRiMmI5YWY3YmVmYmRmMzQ3ZDM5ODNhMmE0M2Q0NDUwYzY0NGJk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtNTQyNywxNSAr
NTQyNywxOSBAQCBib29sIENTU1N0eWxlU2VsZWN0b3I6OmNyZWF0ZUZpbHRlck9wZXJhdGlvbnMo
Q1NTVmFsdWUqIGluVmFsdWUsIFJlbmRlclN0eWxlKiBzdAogICAgICAgICB9CiAjZW5kaWYKIAot
ICAgICAgICBib29sIGhhdmVOb25QcmltaXRpdmVWYWx1ZSA9IGZhbHNlOwotICAgICAgICBmb3Ig
KHVuc2lnbmVkIGogPSAwOyBqIDwgZmlsdGVyVmFsdWUtPmxlbmd0aCgpOyArK2opIHsKLSAgICAg
ICAgICAgIGlmICghZmlsdGVyVmFsdWUtPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soaiktPmlzUHJp
bWl0aXZlVmFsdWUoKSkgewotICAgICAgICAgICAgICAgIGhhdmVOb25QcmltaXRpdmVWYWx1ZSA9
IHRydWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIC8vIENoZWNrIHRoYXQgYWxs
IHBhcmFtZXRlcnMgYXJlIHByaW1pdGl2ZSB2YWx1ZXMsIHdpdGggdGhlCisgICAgICAgIC8vIGV4
Y2VwdGlvbiBvZiBkcm9wIHNoYWRvdyB3aGljaCBoYXMgYSBTaGFkb3dWYWx1ZSBwYXJhbWV0ZXIu
CisgICAgICAgIGlmIChvcGVyYXRpb25UeXBlICE9IEZpbHRlck9wZXJhdGlvbjo6RFJPUF9TSEFE
T1cpIHsKKyAgICAgICAgICAgIGJvb2wgaGF2ZU5vblByaW1pdGl2ZVZhbHVlID0gZmFsc2U7Cisg
ICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgZmlsdGVyVmFsdWUtPmxlbmd0aCgp
OyArK2opIHsKKyAgICAgICAgICAgICAgICBpZiAoIWZpbHRlclZhbHVlLT5pdGVtV2l0aG91dEJv
dW5kc0NoZWNrKGopLT5pc1ByaW1pdGl2ZVZhbHVlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
aGF2ZU5vblByaW1pdGl2ZVZhbHVlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGhhdmVO
b25QcmltaXRpdmVWYWx1ZSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQot
ICAgICAgICBpZiAoaGF2ZU5vblByaW1pdGl2ZVZhbHVlKQotICAgICAgICAgICAgY29udGludWU7
CiAKICAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIGZpcnN0VmFsdWUgPSBmaWx0ZXJWYWx1ZS0+
bGVuZ3RoKCkgPyBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGZpbHRlclZhbHVlLT5p
dGVtV2l0aG91dEJvdW5kc0NoZWNrKDApKSA6IDA7CiAgICAgICAgIHN3aXRjaCAoZmlsdGVyVmFs
dWUtPm9wZXJhdGlvblR5cGUoKSkgewpAQCAtNTUzMSw2ICs1NTM1LDI2IEBAIGJvb2wgQ1NTU3R5
bGVTZWxlY3Rvcjo6Y3JlYXRlRmlsdGVyT3BlcmF0aW9ucyhDU1NWYWx1ZSogaW5WYWx1ZSwgUmVu
ZGVyU3R5bGUqIHN0CiAgICAgICAgICAgICBvcGVyYXRpb25zLm9wZXJhdGlvbnMoKS5hcHBlbmQo
U2hhcnBlbkZpbHRlck9wZXJhdGlvbjo6Y3JlYXRlKGFtb3VudCwgcmFkaXVzLCB0aHJlc2hvbGQs
IG9wZXJhdGlvblR5cGUpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAg
IGNhc2UgV2ViS2l0Q1NTRmlsdGVyVmFsdWU6OkRyb3BTaGFkb3dGaWx0ZXJPcGVyYXRpb246IHsK
KyAgICAgICAgICAgIGlmIChmaWx0ZXJWYWx1ZS0+bGVuZ3RoKCkgIT0gMSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIENTU1ZhbHVlKiBjc3NWYWx1ZSA9IGZp
bHRlclZhbHVlLT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKDApOworICAgICAgICAgICAgaWYgKCFj
c3NWYWx1ZS0+aXNTaGFkb3dWYWx1ZSgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisg
ICAgICAgICAgICBTaGFkb3dWYWx1ZSogaXRlbSA9IHN0YXRpY19jYXN0PFNoYWRvd1ZhbHVlKj4o
Y3NzVmFsdWUpOworICAgICAgICAgICAgaW50IHggPSBpdGVtLT54LT5jb21wdXRlTGVuZ3RoPGlu
dD4oc3R5bGUsIHJvb3RTdHlsZSwgem9vbUZhY3Rvcik7CisgICAgICAgICAgICBpbnQgeSA9IGl0
ZW0tPnktPmNvbXB1dGVMZW5ndGg8aW50PihzdHlsZSwgcm9vdFN0eWxlLCB6b29tRmFjdG9yKTsK
KyAgICAgICAgICAgIGludCBibHVyID0gaXRlbS0+Ymx1ciA/IGl0ZW0tPmJsdXItPmNvbXB1dGVM
ZW5ndGg8aW50PihzdHlsZSwgcm9vdFN0eWxlLCB6b29tRmFjdG9yKSA6IDA7CisgICAgICAgICAg
ICBDb2xvciBjb2xvcjsKKyAgICAgICAgICAgIGlmIChpdGVtLT5jb2xvcikKKyAgICAgICAgICAg
ICAgICBjb2xvciA9IGdldENvbG9yRnJvbVByaW1pdGl2ZVZhbHVlKGl0ZW0tPmNvbG9yLmdldCgp
KTsKKyAgICAgICAgICAgIE93blB0cjxTaGFkb3dEYXRhPiBzaGFkb3dEYXRhID0gYWRvcHRQdHIo
bmV3IFNoYWRvd0RhdGEoeCwgeSwgYmx1ciwgMCwgTm9ybWFsLCBmYWxzZSwgY29sb3IuaXNWYWxp
ZCgpID8gY29sb3IgOiBDb2xvcjo6dHJhbnNwYXJlbnQpKTsKKyAgICAgICAgICAgIAorICAgICAg
ICAgICAgb3BlcmF0aW9ucy5vcGVyYXRpb25zKCkuYXBwZW5kKERyb3BTaGFkb3dGaWx0ZXJPcGVy
YXRpb246OmNyZWF0ZShzaGFkb3dEYXRhLnJlbGVhc2UoKSwgb3BlcmF0aW9uVHlwZSkpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBXZWJLaXRDU1NGaWx0ZXJW
YWx1ZTo6VW5rbm93bkZpbHRlck9wZXJhdGlvbjoKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1NWR0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcApp
bmRleCA2YjYyM2NkNzQ5YWExZjU2NTRkNjg5ODUzMGM0YzViYWFmNjA5ODRkLi5jOGU3MWI3OTEy
ZWQwOWVjODUyYzE2MGRlZjM1NDA2NzY1N2Y0YjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFy
c2VyLmNwcApAQCAtMjcxLDggKzI3MSwxNSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VTVkdWYWx1
ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
U3ZnU2hhZG93OgogICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVOb25lKQogICAgICAgICAgICAg
dmFsaWRfcHJpbWl0aXZlID0gdHJ1ZTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmV0dXJu
IHBhcnNlU2hhZG93KHByb3BJZCwgaW1wb3J0YW50KTsKKyAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBzaGFkb3dWYWx1ZUxpc3QgPSBwYXJzZVNoYWRvdyht
X3ZhbHVlTGlzdCwgcHJvcElkKTsKKyAgICAgICAgICAgIGlmIChzaGFkb3dWYWx1ZUxpc3QpIHsK
KyAgICAgICAgICAgICAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIHNoYWRvd1ZhbHVlTGlzdC5yZWxl
YXNlKCksIGltcG9ydGFudCk7CisgICAgICAgICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsK
KyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgfQogCiAgICAgLyogc2hvcnRoYW5kIHByb3BlcnRpZXMg
Ki8KICAgICBjYXNlIENTU1Byb3BlcnR5TWFya2VyOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE4OTRiYjlhZGYwNzc4NGQz
NWY2YTlmNzA4MDBiOWYzM2JmMjQ3NmQuLjJkZDg3NzdiYjQ2NzFhN2RhYjAxZjViZWZiMDEwZjQx
N2UwMjE4ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0xMS0wOSAgRGVhbiBKYWNrc29u
ICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgUGFyc2UgZHJvcC1zaGFkb3coKSBmaWx0ZXIg
c3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
OTEwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4
dGVuZCBleGlzdGluZyB0ZXN0cyB0byBleGVyY2lzZSBwYXJzaW5nIG9mIHZhbGlkCisgICAgICAg
IGFuZCBpbnZhbGlkIGRyb3Atc2hhZG93IGZpbHRlcnMsIGFzIHdlbGwgYXMgdGhlIGNvbXB1dGVk
CisgICAgICAgIHN0eWxlLgorCisgICAgICAgICogY3NzMy9maWx0ZXJzL2ZpbHRlci1wcm9wZXJ0
eS1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMy9maWx0ZXJzL2Zp
bHRlci1wcm9wZXJ0eS1wYXJzaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3MzL2ZpbHRl
cnMvZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogY3NzMy9maWx0ZXJzL3NjcmlwdC10ZXN0cy9maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5
bGUuanM6CisgICAgICAgICogY3NzMy9maWx0ZXJzL3NjcmlwdC10ZXN0cy9maWx0ZXItcHJvcGVy
dHktcGFyc2luZy1pbnZhbGlkLmpzOgorICAgICAgICAqIGNzczMvZmlsdGVycy9zY3JpcHQtdGVz
dHMvZmlsdGVyLXByb3BlcnR5LXBhcnNpbmcuanM6CisKIDIwMTEtMTEtMDkgIEp1bGllbiBDaGFm
ZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjkz
NjE0KTogQ29udGVudCByZW1haW5zIGRlc3BpdGUgcGFyZW50IGVsZW1lbnQgYmVpbmcgc2Nyb2xs
ZWQgb2ZmIHBhZ2UgdXNpbmcgamF2YXNjcmlwdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvZmlsdGVycy9maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1zdHlsZS1l
eHBlY3RlZC50eHQKaW5kZXggMDJhZDJhZWY1MjIxZWJkNDA0NDNlMjQ4NDgxNGMyODJmNTA0OTli
ZS4uYmNmMzRkNWM4MzA2YjEzNGU4YTQxZGNiZTRlZTY5OWRjY2RmOGFlMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1zdHlsZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1wcm9wZXJ0
eS1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQKQEAgLTMxMyw2ICszMTMsMzEgQEAgUEFTUyBm
aWx0ZXJTdHlsZS5sZW5ndGggaXMgMQogUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2Vi
S2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9TSEFSUEVOCiBQQVNTIHN1YlJ1bGUuY3NzVGV4
dCBpcyAnc2hhcnBlbigwIDBweCAxKScKIAorQ29sb3IgdGhlbiB0aHJlZSB2YWx1ZXMgOiBkcm9w
LXNoYWRvdyhyZWQgMXB4IDJweCAzcHgpCitQQVNTIGZpbHRlclN0eWxlLmxlbmd0aCBpcyAxCitQ
QVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklM
VEVSX0RST1BfU0hBRE9XCitQQVNTIHN1YlJ1bGUuY3NzVGV4dCBpcyAnZHJvcC1zaGFkb3cocmdi
KDI1NSwgMCwgMCkgMXB4IDJweCAzcHgpJworCitUaHJlZSB2YWx1ZXMgdGhlbiBjb2xvciA6IGRy
b3Atc2hhZG93KDFweCAycHggM3B4IHJlZCkKK1BBU1MgZmlsdGVyU3R5bGUubGVuZ3RoIGlzIDEK
K1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19G
SUxURVJfRFJPUF9TSEFET1cKK1BBU1Mgc3ViUnVsZS5jc3NUZXh0IGlzICdkcm9wLXNoYWRvdyhy
Z2IoMjU1LCAwLCAwKSAxcHggMnB4IDNweCknCisKK0NvbG9yIHRoZW4gdGhyZWUgdmFsdWVzIHdp
dGggemVybyBsZW5ndGggOiBkcm9wLXNoYWRvdygjYWJjIDAgMCAwKQorUEFTUyBmaWx0ZXJTdHls
ZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmls
dGVyVmFsdWUuQ1NTX0ZJTFRFUl9EUk9QX1NIQURPVworUEFTUyBzdWJSdWxlLmNzc1RleHQgaXMg
J2Ryb3Atc2hhZG93KHJnYigxNzAsIDE4NywgMjA0KSAwcHggMHB4IDBweCknCisKK1RocmVlIHZh
bHVlcyB3aXRoIHplcm8gbGVuZ3RoIDogZHJvcC1zaGFkb3coMCAwIDApCitQQVNTIGZpbHRlclN0
eWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NG
aWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0RST1BfU0hBRE9XCitQQVNTIHN1YlJ1bGUuY3NzVGV4dCBp
cyAnZHJvcC1zaGFkb3cocmdiYSgwLCAwLCAwLCAwKSAwcHggMHB4IDBweCknCisKK1R3byB2YWx1
ZXMgbm8gY29sb3IgOiBkcm9wLXNoYWRvdygxcHggMnB4KQorUEFTUyBmaWx0ZXJTdHlsZS5sZW5n
dGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFs
dWUuQ1NTX0ZJTFRFUl9EUk9QX1NIQURPVworUEFTUyBzdWJSdWxlLmNzc1RleHQgaXMgJ2Ryb3At
c2hhZG93KHJnYmEoMCwgMCwgMCwgMCkgMXB4IDJweCAwcHgpJworCiBNdWx0aXBsZSBvcGVyYXRp
b25zIDogZ3JheXNjYWxlKDAuNSkgc2VwaWEoMC4yNSkgc2F0dXJhdGUoMC43NSkgaHVlLXJvdGF0
ZSgzNWRlZykgaW52ZXJ0KDAuMikgb3BhY2l0eSgwLjkpIGdhbW1hKDIgMS4xIDEpIGJsdXIoNXB4
IDJlbSkgc2hhcnBlbigwLjUgM3B4IDIpCiBQQVNTIGZpbHRlclN0eWxlLmxlbmd0aCBpcyA5CiBQ
QVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklM
VEVSX0dSQVlTQ0FMRQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRl
ci1wcm9wZXJ0eS1wYXJzaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9maWx0ZXItcHJvcGVydHktcGFyc2luZy1leHBlY3RlZC50eHQKaW5kZXggN2I1MjhmYWU5ZmM3
MjE2YjE2MzdiMTBjOWFjMjhkOTNmY2NiNjJjNi4uOWIwNDhkYTUxMjJmOTM4NjVjZmIzOGRkMzIy
MDdjZWEwNDM3OGQwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRl
ci1wcm9wZXJ0eS1wYXJzaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctZXhwZWN0ZWQudHh0CkBAIC02NDQsMTQgKzY0
NCw2OSBAQCBQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKIFBBU1Mgc3ViUnVsZS5vcGVyYXRp
b25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfU0hBUlBFTgogUEFTUyBz
dWJSdWxlLmNzc1RleHQgaXMgJ3NoYXJwZW4oKScKIAotTXVsdGlwbGUgb3BlcmF0aW9ucyA6IGdy
YXlzY2FsZSgwLjUpIHNlcGlhKDAuMjUpIHNhdHVyYXRlKDAuNzUpIGh1ZS1yb3RhdGUoMzVkZWcp
IGludmVydCgwLjIpIG9wYWNpdHkoMC45KSBnYW1tYSgyIDEuMSAxKSBibHVyKDVweCAyZW0pIHNo
YXJwZW4oMC41IDNweCAyKQorQ29sb3IgdGhlbiB0aHJlZSB2YWx1ZXMgOiBkcm9wLXNoYWRvdyhy
ZWQgMXB4IDJweCAzcHgpCiBQQVNTIGNzc1J1bGUudHlwZSBpcyAxCiBQQVNTIGRlY2xhcmF0aW9u
Lmxlbmd0aCBpcyAxCi1QQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
ZmlsdGVyJykgaXMgJ2dyYXlzY2FsZSgwLjUpIHNlcGlhKDAuMjUpIHNhdHVyYXRlKDAuNzUpIGh1
ZS1yb3RhdGUoMzVkZWcpIGludmVydCgwLjIpIG9wYWNpdHkoMC45KSBnYW1tYSgyIDEuMSAxKSBi
bHVyKDVweCAyZW0pIHNoYXJwZW4oMC41IDNweCAyKScKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyAnZHJvcC1zaGFkb3cocmVkIDFweCAycHgg
M3B4KScKIFBBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcK
IFBBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxp
c3RQcm90b3R5cGUnCiBQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3Ip
IGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKLVBBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMg
OQorUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlw
ZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0RST1BfU0hBRE9XCitQQVNTIHN1
YlJ1bGUuY3NzVGV4dCBpcyAnZHJvcC1zaGFkb3cocmVkIDFweCAycHggM3B4KScKKworVGhyZWUg
dmFsdWVzIHRoZW4gY29sb3IgOiBkcm9wLXNoYWRvdygxcHggMnB4IDNweCByZWQpCitQQVNTIGNz
c1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNTIGRlY2xh
cmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgJ2Ryb3Atc2hhZG93
KHJlZCAxcHggMnB4IDNweCknCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdD
U1NWYWx1ZUxpc3QnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBp
cyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBlJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxl
LmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFsdWVMaXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1
bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0Zp
bHRlclZhbHVlLkNTU19GSUxURVJfRFJPUF9TSEFET1cKK1BBU1Mgc3ViUnVsZS5jc3NUZXh0IGlz
ICdkcm9wLXNoYWRvdyhyZWQgMXB4IDJweCAzcHgpJworCitDb2xvciB0aGVuIHRocmVlIHZhbHVl
cyB3aXRoIHplcm8gbGVuZ3RoIDogZHJvcC1zaGFkb3coI2FiYyAwIDAgMCkKK1BBU1MgY3NzUnVs
ZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDEKK1BBU1MgZGVjbGFyYXRp
b24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyAnZHJvcC1zaGFkb3cocmdi
KDE3MCwgMTg3LCAyMDQpIDBweCAwcHggMHB4KScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVy
UnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5f
X3Byb3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBlckNsYXNz
KGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKK1BB
U1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMg
V2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9EUk9QX1NIQURPVworUEFTUyBzdWJSdWxl
LmNzc1RleHQgaXMgJ2Ryb3Atc2hhZG93KHJnYigxNzAsIDE4NywgMjA0KSAwcHggMHB4IDBweCkn
CisKK1RocmVlIHZhbHVlcyB3aXRoIHplcm8gbGVuZ3RoIDogZHJvcC1zaGFkb3coMCAwIDApCitQ
QVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNT
IGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgJ2Ryb3At
c2hhZG93KDBweCAwcHggMHB4KScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZSkgaXMg
J0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5fX3Byb3RvX18p
IGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1
bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKK1BBU1MgZmlsdGVy
UnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NT
RmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9EUk9QX1NIQURPVworUEFTUyBzdWJSdWxlLmNzc1RleHQg
aXMgJ2Ryb3Atc2hhZG93KDBweCAwcHggMHB4KScKKworVHdvIHZhbHVlcyBubyBjb2xvciA6IGRy
b3Atc2hhZG93KDFweCAycHgpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0
aW9uLmxlbmd0aCBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZmlsdGVyJykgaXMgJ2Ryb3Atc2hhZG93KDFweCAycHgpJworUEFTUyBqc1dyYXBwZXJDbGFz
cyhmaWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0
ZXJSdWxlLl9fcHJvdG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlwZScKK1BBU1MganNXcmFw
cGVyQ2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1ZhbHVlTGlzdENvbnN0cnVj
dG9yJworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9u
VHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0RST1BfU0hBRE9XCitQQVNT
IHN1YlJ1bGUuY3NzVGV4dCBpcyAnZHJvcC1zaGFkb3coMXB4IDJweCknCisKK011bHRpcGxlIG9w
ZXJhdGlvbnMgOiBncmF5c2NhbGUoMC41KSBzZXBpYSgwLjI1KSBzYXR1cmF0ZSgwLjc1KSBodWUt
cm90YXRlKDM1ZGVnKSBpbnZlcnQoMC4yKSBvcGFjaXR5KDAuOSkgZ2FtbWEoMiAxLjEgMSkgYmx1
cig1cHggMmVtKSBzaGFycGVuKDAuNSAzcHggMikgZHJvcC1zaGFkb3coZ3JlZW4gMXB4IDJweCAz
cHgpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAx
CitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMg
J2dyYXlzY2FsZSgwLjUpIHNlcGlhKDAuMjUpIHNhdHVyYXRlKDAuNzUpIGh1ZS1yb3RhdGUoMzVk
ZWcpIGludmVydCgwLjIpIG9wYWNpdHkoMC45KSBnYW1tYSgyIDEuMSAxKSBibHVyKDVweCAyZW0p
IHNoYXJwZW4oMC41IDNweCAyKSBkcm9wLXNoYWRvdyhncmVlbiAxcHggMnB4IDNweCknCitQQVNT
IGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitQQVNTIGpzV3Jh
cHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBpcyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBl
JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFs
dWVMaXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEwCiBQQVNTIHN1
YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0dS
QVlTQ0FMRQogUEFTUyBzdWJSdWxlLmNzc1RleHQgaXMgJ2dyYXlzY2FsZSgwLjUpJwogUEFTUyBz
dWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9T
RVBJQQpAQCAtNjcwLDYgKzcyNSw4IEBAIFBBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdl
YktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQkxVUgogUEFTUyBzdWJSdWxlLmNzc1RleHQg
aXMgJ2JsdXIoNXB4IDJlbSknCiBQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRD
U1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX1NIQVJQRU4KIFBBU1Mgc3ViUnVsZS5jc3NUZXh0IGlz
ICdzaGFycGVuKDAuNSAzcHggMiknCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJL
aXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0RST1BfU0hBRE9XCitQQVNTIHN1YlJ1bGUuY3Nz
VGV4dCBpcyAnZHJvcC1zaGFkb3coZ3JlZW4gMXB4IDJweCAzcHgpJwogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52
YWxpZC1leHBlY3RlZC50eHQKaW5kZXggMDgyMjc2MGI5ZmZhODFlYjdjNGZkMjExYjk5ZDliZWU3
ZTQ4ZGU0ZS4uYzA1NzM5Yzc0YTllZjllMzQzM2QwNDBmNjg1NzczNDU3ZmM5NmQyZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWlu
dmFsaWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9maWx0ZXIt
cHJvcGVydHktcGFyc2luZy1pbnZhbGlkLWV4cGVjdGVkLnR4dApAQCAtMjkzLDYgKzI5Myw0MSBA
QCBUcmFpbGluZyBjb21tYSA6IHNoYXJwZW4oMSwgMTBweCwpCiBQQVNTIGNzc1J1bGUudHlwZSBp
cyAxCiBQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCiBQQVNTIGRlY2xhcmF0aW9uLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgbnVsbAorCitObyB2YWx1ZXMgOiBkcm9w
LXNoYWRvdygpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0
aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVy
JykgaXMgbnVsbAorCitNaXNzaW5nIGxlbmd0aHMgOiBkcm9wLXNoYWRvdyhyZWQpCitQQVNTIGNz
c1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCitQQVNTIGRlY2xh
cmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgbnVsbAorCitOb3Qg
ZW5vdWdoIGxlbmd0aHMgOiBkcm9wLXNoYWRvdyhyZWQgMXB4KQorUEFTUyBjc3NSdWxlLnR5cGUg
aXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzIG51bGwKKworTWlzc2luZyB1bml0cyA6
IGRyb3Atc2hhZG93KHJlZCAxIDIgMykKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVj
bGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK0luc2V0IDogZHJvcC1zaGFkb3cocmVkIDFweCAy
cHggM3B4IGluc2V0KQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5s
ZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZp
bHRlcicpIGlzIG51bGwKKworVG9vIG1hbnkgcGFyYW1ldGVycyA6IGRyb3Atc2hhZG93KHJlZCAx
cHggMnB4IDNweCA0cHgpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9u
Lmxlbmd0aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
ZmlsdGVyJykgaXMgbnVsbAorCitDb21tYXMgOiBkcm9wLXNoYWRvdyhyZWQsIDFweCwgMnB4LCAz
cHgpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAw
CitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMg
bnVsbAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2ZpbHRlci1w
cm9wZXJ0eS1jb21wdXRlZC1zdHlsZS5qcyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3Jp
cHQtdGVzdHMvZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLmpzCmluZGV4IGRhMWVhM2Y4
MGE5MjZiMjRmOTBjMDdkOGM1YjhiMzY1ZjgwZDRlZTQuLjcyZTZkYzAxYzYxMmZjNDQyYTE4MDYz
ODI3ZTcyOTA2ODBjMWZiYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9z
Y3JpcHQtdGVzdHMvZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLmpzCisrKyBiL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVk
LXN0eWxlLmpzCkBAIC0zMDYsNiArMzA2LDMxIEBAIHRlc3RDb21wdXRlZEZpbHRlclJ1bGUoIk5v
IHZhbHVlcyIsCiAgICAgICAgICAgICAgICAgICAgICAgIFsiV2ViS2l0Q1NTRmlsdGVyVmFsdWUu
Q1NTX0ZJTFRFUl9TSEFSUEVOIl0sCiAgICAgICAgICAgICAgICAgICAgICAgIFsic2hhcnBlbigw
IDBweCAxKSJdKTsKIAordGVzdENvbXB1dGVkRmlsdGVyUnVsZSgiQ29sb3IgdGhlbiB0aHJlZSB2
YWx1ZXMiLAorICAgICAgICAgICAgICAgICAgICAgICAiZHJvcC1zaGFkb3cocmVkIDFweCAycHgg
M3B4KSIsIDEsCisgICAgICAgICAgICAgICAgICAgICAgIFsiV2ViS2l0Q1NTRmlsdGVyVmFsdWUu
Q1NTX0ZJTFRFUl9EUk9QX1NIQURPVyJdLAorICAgICAgICAgICAgICAgICAgICAgICBbImRyb3At
c2hhZG93KHJnYigyNTUsIDAsIDApIDFweCAycHggM3B4KSJdKTsKKwordGVzdENvbXB1dGVkRmls
dGVyUnVsZSgiVGhyZWUgdmFsdWVzIHRoZW4gY29sb3IiLAorICAgICAgICAgICAgICAgICAgICAg
ICAiZHJvcC1zaGFkb3coMXB4IDJweCAzcHggcmVkKSIsIDEsCisgICAgICAgICAgICAgICAgICAg
ICAgIFsiV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9EUk9QX1NIQURPVyJdLAorICAg
ICAgICAgICAgICAgICAgICAgICBbImRyb3Atc2hhZG93KHJnYigyNTUsIDAsIDApIDFweCAycHgg
M3B4KSJdKTsKKwordGVzdENvbXB1dGVkRmlsdGVyUnVsZSgiQ29sb3IgdGhlbiB0aHJlZSB2YWx1
ZXMgd2l0aCB6ZXJvIGxlbmd0aCIsCisgICAgICAgICAgICAgICAgICAgICAgICJkcm9wLXNoYWRv
dygjYWJjIDAgMCAwKSIsIDEsCisgICAgICAgICAgICAgICAgICAgICAgIFsiV2ViS2l0Q1NTRmls
dGVyVmFsdWUuQ1NTX0ZJTFRFUl9EUk9QX1NIQURPVyJdLAorICAgICAgICAgICAgICAgICAgICAg
ICBbImRyb3Atc2hhZG93KHJnYigxNzAsIDE4NywgMjA0KSAwcHggMHB4IDBweCkiXSk7CisKK3Rl
c3RDb21wdXRlZEZpbHRlclJ1bGUoIlRocmVlIHZhbHVlcyB3aXRoIHplcm8gbGVuZ3RoIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgImRyb3Atc2hhZG93KDAgMCAwKSIsIDEsCisgICAgICAgICAg
ICAgICAgICAgICAgIFsiV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9EUk9QX1NIQURP
VyJdLAorICAgICAgICAgICAgICAgICAgICAgICBbImRyb3Atc2hhZG93KHJnYmEoMCwgMCwgMCwg
MCkgMHB4IDBweCAwcHgpIl0pOworCit0ZXN0Q29tcHV0ZWRGaWx0ZXJSdWxlKCJUd28gdmFsdWVz
IG5vIGNvbG9yIiwKKyAgICAgICAgICAgICAgICAgICAgICAgImRyb3Atc2hhZG93KDFweCAycHgp
IiwgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgWyJXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1Nf
RklMVEVSX0RST1BfU0hBRE9XIl0sCisgICAgICAgICAgICAgICAgICAgICAgIFsiZHJvcC1zaGFk
b3cocmdiYSgwLCAwLCAwLCAwKSAxcHggMnB4IDBweCkiXSk7CisKIHRlc3RDb21wdXRlZEZpbHRl
clJ1bGUoIk11bHRpcGxlIG9wZXJhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAiZ3Jh
eXNjYWxlKDAuNSkgc2VwaWEoMC4yNSkgc2F0dXJhdGUoMC43NSkgaHVlLXJvdGF0ZSgzNWRlZykg
aW52ZXJ0KDAuMikgb3BhY2l0eSgwLjkpIGdhbW1hKDIgMS4xIDEpIGJsdXIoNXB4IDJlbSkgc2hh
cnBlbigwLjUgM3B4IDIpIiwgOSwKICAgICAgICAgICAgICAgICAgICAgICAgWwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3NjcmlwdC10ZXN0cy9maWx0ZXItcHJvcGVydHkt
cGFyc2luZy1pbnZhbGlkLmpzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3NjcmlwdC10ZXN0
cy9maWx0ZXItcHJvcGVydHktcGFyc2luZy1pbnZhbGlkLmpzCmluZGV4IDllYjIwZDNlOGY3Mjcy
MzRjNzFhMDUwNThhOTZhYzQwNjYyMDEwMjguLjRlOWU4MTczNjBjMmFjNTVhMmRlNDk2MmU5ZmE0
OGEwYzg4ODI0MDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQt
dGVzdHMvZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC5qcworKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2ZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFs
aWQuanMKQEAgLTg3LDQgKzg3LDEyIEBAIHRlc3RJbnZhbGlkRmlsdGVyUnVsZSgiVG9vIG1hbnkg
cGFyYW1ldGVycyBhbmQgY29tbWFzIiwgInNoYXJwZW4oMSwgMXB4LCAxLCAxKSIpCiB0ZXN0SW52
YWxpZEZpbHRlclJ1bGUoIkNvbW1hcyIsICJzaGFycGVuKDEsIDEwcHgsIDEpIik7CiB0ZXN0SW52
YWxpZEZpbHRlclJ1bGUoIlRyYWlsaW5nIGNvbW1hIiwgInNoYXJwZW4oMSwgMTBweCwpIik7CiAK
K3Rlc3RJbnZhbGlkRmlsdGVyUnVsZSgiTm8gdmFsdWVzIiwgImRyb3Atc2hhZG93KCkiKTsKK3Rl
c3RJbnZhbGlkRmlsdGVyUnVsZSgiTWlzc2luZyBsZW5ndGhzIiwgImRyb3Atc2hhZG93KHJlZCki
KTsKK3Rlc3RJbnZhbGlkRmlsdGVyUnVsZSgiTm90IGVub3VnaCBsZW5ndGhzIiwgImRyb3Atc2hh
ZG93KHJlZCAxcHgpIik7Cit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIk1pc3NpbmcgdW5pdHMiLCAi
ZHJvcC1zaGFkb3cocmVkIDEgMiAzKSIpOwordGVzdEludmFsaWRGaWx0ZXJSdWxlKCJJbnNldCIs
ICJkcm9wLXNoYWRvdyhyZWQgMXB4IDJweCAzcHggaW5zZXQpIik7Cit0ZXN0SW52YWxpZEZpbHRl
clJ1bGUoIlRvbyBtYW55IHBhcmFtZXRlcnMiLCAiZHJvcC1zaGFkb3cocmVkIDFweCAycHggM3B4
IDRweCkiKTsKK3Rlc3RJbnZhbGlkRmlsdGVyUnVsZSgiQ29tbWFzIiwgImRyb3Atc2hhZG93KHJl
ZCwgMXB4LCAycHgsIDNweCkiKTsKKwogc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvZmlsdGVyLXByb3Bl
cnR5LXBhcnNpbmcuanMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2Zp
bHRlci1wcm9wZXJ0eS1wYXJzaW5nLmpzCmluZGV4IDYyMWJlZWUyNWEyM2IzMDc5ZTEzNjFhMWY2
YzhjY2YwNjkyMTUzNTQuLjM3OGVhY2QxZmU1YTQ3ZTM3MDAxZjc0NTNhZGNmMjFlZDJlOGM2NGQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvZmlsdGVy
LXByb3BlcnR5LXBhcnNpbmcuanMKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Njcmlw
dC10ZXN0cy9maWx0ZXItcHJvcGVydHktcGFyc2luZy5qcwpAQCAtMzMxLDkgKzMzMSwzNCBAQCB0
ZXN0RmlsdGVyUnVsZSgiTm8gdmFsdWVzIiwKICAgICAgICAgICAgICAgIFsiV2ViS2l0Q1NTRmls
dGVyVmFsdWUuQ1NTX0ZJTFRFUl9TSEFSUEVOIl0sCiAgICAgICAgICAgICAgICBbInNoYXJwZW4o
KSJdKTsKIAordGVzdEZpbHRlclJ1bGUoIkNvbG9yIHRoZW4gdGhyZWUgdmFsdWVzIiwKKyAgICAg
ICAgICAgICAgImRyb3Atc2hhZG93KHJlZCAxcHggMnB4IDNweCkiLCAxLCAiZHJvcC1zaGFkb3co
cmVkIDFweCAycHggM3B4KSIsCisgICAgICAgICAgICAgIFsiV2ViS2l0Q1NTRmlsdGVyVmFsdWUu
Q1NTX0ZJTFRFUl9EUk9QX1NIQURPVyJdLAorICAgICAgICAgICAgICBbImRyb3Atc2hhZG93KHJl
ZCAxcHggMnB4IDNweCkiXSk7CisKK3Rlc3RGaWx0ZXJSdWxlKCJUaHJlZSB2YWx1ZXMgdGhlbiBj
b2xvciIsCisgICAgICAgICAgICAgICJkcm9wLXNoYWRvdygxcHggMnB4IDNweCByZWQpIiwgMSwg
ImRyb3Atc2hhZG93KHJlZCAxcHggMnB4IDNweCkiLAorICAgICAgICAgICAgICBbIldlYktpdENT
U0ZpbHRlclZhbHVlLkNTU19GSUxURVJfRFJPUF9TSEFET1ciXSwKKyAgICAgICAgICAgICAgWyJk
cm9wLXNoYWRvdyhyZWQgMXB4IDJweCAzcHgpIl0pOworCit0ZXN0RmlsdGVyUnVsZSgiQ29sb3Ig
dGhlbiB0aHJlZSB2YWx1ZXMgd2l0aCB6ZXJvIGxlbmd0aCIsCisgICAgICAgICAgICAgICJkcm9w
LXNoYWRvdygjYWJjIDAgMCAwKSIsIDEsICJkcm9wLXNoYWRvdyhyZ2IoMTcwLCAxODcsIDIwNCkg
MHB4IDBweCAwcHgpIiwKKyAgICAgICAgICAgICAgWyJXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1Nf
RklMVEVSX0RST1BfU0hBRE9XIl0sCisgICAgICAgICAgICAgIFsiZHJvcC1zaGFkb3cocmdiKDE3
MCwgMTg3LCAyMDQpIDBweCAwcHggMHB4KSJdKTsKKwordGVzdEZpbHRlclJ1bGUoIlRocmVlIHZh
bHVlcyB3aXRoIHplcm8gbGVuZ3RoIiwKKyAgICAgICAgICAgICAgImRyb3Atc2hhZG93KDAgMCAw
KSIsIDEsICJkcm9wLXNoYWRvdygwcHggMHB4IDBweCkiLAorICAgICAgICAgICAgICBbIldlYktp
dENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfRFJPUF9TSEFET1ciXSwKKyAgICAgICAgICAgICAg
WyJkcm9wLXNoYWRvdygwcHggMHB4IDBweCkiXSk7CisKK3Rlc3RGaWx0ZXJSdWxlKCJUd28gdmFs
dWVzIG5vIGNvbG9yIiwKKyAgICAgICAgICAgICAgImRyb3Atc2hhZG93KDFweCAycHgpIiwgMSwg
ImRyb3Atc2hhZG93KDFweCAycHgpIiwKKyAgICAgICAgICAgICAgWyJXZWJLaXRDU1NGaWx0ZXJW
YWx1ZS5DU1NfRklMVEVSX0RST1BfU0hBRE9XIl0sCisgICAgICAgICAgICAgIFsiZHJvcC1zaGFk
b3coMXB4IDJweCkiXSk7CisKIHRlc3RGaWx0ZXJSdWxlKCJNdWx0aXBsZSBvcGVyYXRpb25zIiwK
LSAgICAgICAgICAgICAgICJncmF5c2NhbGUoMC41KSBzZXBpYSgwLjI1KSBzYXR1cmF0ZSgwLjc1
KSBodWUtcm90YXRlKDM1ZGVnKSBpbnZlcnQoMC4yKSBvcGFjaXR5KDAuOSkgZ2FtbWEoMiAxLjEg
MSkgYmx1cig1cHggMmVtKSBzaGFycGVuKDAuNSAzcHggMikiLCA5LAotICAgICAgICAgICAgICAg
ImdyYXlzY2FsZSgwLjUpIHNlcGlhKDAuMjUpIHNhdHVyYXRlKDAuNzUpIGh1ZS1yb3RhdGUoMzVk
ZWcpIGludmVydCgwLjIpIG9wYWNpdHkoMC45KSBnYW1tYSgyIDEuMSAxKSBibHVyKDVweCAyZW0p
IHNoYXJwZW4oMC41IDNweCAyKSIsCisgICAgICAgICAgICAgICAiZ3JheXNjYWxlKDAuNSkgc2Vw
aWEoMC4yNSkgc2F0dXJhdGUoMC43NSkgaHVlLXJvdGF0ZSgzNWRlZykgaW52ZXJ0KDAuMikgb3Bh
Y2l0eSgwLjkpIGdhbW1hKDIgMS4xIDEpIGJsdXIoNXB4IDJlbSkgc2hhcnBlbigwLjUgM3B4IDIp
IGRyb3Atc2hhZG93KGdyZWVuIDFweCAycHggM3B4KSIsIDEwLAorICAgICAgICAgICAgICAgImdy
YXlzY2FsZSgwLjUpIHNlcGlhKDAuMjUpIHNhdHVyYXRlKDAuNzUpIGh1ZS1yb3RhdGUoMzVkZWcp
IGludmVydCgwLjIpIG9wYWNpdHkoMC45KSBnYW1tYSgyIDEuMSAxKSBibHVyKDVweCAyZW0pIHNo
YXJwZW4oMC41IDNweCAyKSBkcm9wLXNoYWRvdyhncmVlbiAxcHggMnB4IDNweCkiLAogICAgICAg
ICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICJXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1Nf
RklMVEVSX0dSQVlTQ0FMRSIsCiAgICAgICAgICAgICAgICAgICAgIldlYktpdENTU0ZpbHRlclZh
bHVlLkNTU19GSUxURVJfU0VQSUEiLApAQCAtMzQzLDcgKzM2OCw4IEBAIHRlc3RGaWx0ZXJSdWxl
KCJNdWx0aXBsZSBvcGVyYXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAiV2ViS2l0Q1NTRmls
dGVyVmFsdWUuQ1NTX0ZJTFRFUl9PUEFDSVRZIiwKICAgICAgICAgICAgICAgICAgICAiV2ViS2l0
Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9HQU1NQSIsCiAgICAgICAgICAgICAgICAgICAgIldl
YktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQkxVUiIsCi0gICAgICAgICAgICAgICAgICAg
IldlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfU0hBUlBFTiIKKyAgICAgICAgICAgICAg
ICAgICAiV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9TSEFSUEVOIiwKKyAgICAgICAg
ICAgICAgICAgICAiV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9EUk9QX1NIQURPVyIK
ICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAg
ImdyYXlzY2FsZSgwLjUpIiwKQEAgLTM1NCw3ICszODAsOCBAQCB0ZXN0RmlsdGVyUnVsZSgiTXVs
dGlwbGUgb3BlcmF0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgIm9wYWNpdHkoMC45KSIsCiAg
ICAgICAgICAgICAgICAgICAgImdhbW1hKDIgMS4xIDEpIiwKICAgICAgICAgICAgICAgICAgICAi
Ymx1cig1cHggMmVtKSIsCi0gICAgICAgICAgICAgICAgICAgInNoYXJwZW4oMC41IDNweCAyKSIK
KyAgICAgICAgICAgICAgICAgICAic2hhcnBlbigwLjUgM3B4IDIpIiwKKyAgICAgICAgICAgICAg
ICAgICAiZHJvcC1zaGFkb3coZ3JlZW4gMXB4IDJweCAzcHgpIgogICAgICAgICAgICAgICAgXSk7
CiAKIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>
<flag name="review"
          id="113064"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>