<?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>140656</bug_id>
          
          <creation_ts>2015-01-19 19:17:41 -0800</creation_ts>
          <short_desc>Sprinkle some CTTE on API::PolicyClient and API::FormClient</short_desc>
          <delta_ts>2015-01-19 19:38:51 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1062592</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-01-19 19:17:41 -0800</bug_when>
    <thetext>Sprinkle some CTTE on API::PolicyClient and API::FormClient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062595</commentid>
    <comment_count>1</comment_count>
      <attachid>244953</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-01-19 19:29:49 -0800</bug_when>
    <thetext>Created attachment 244953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062597</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-19 19:30:47 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062598</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-19 19:30:58 -0800</bug_when>
    <thetext>Attachment 244953 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/Cocoa/NavigationState.mm:271:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit2/UIProcess/Cocoa/NavigationState.mm:334:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062604</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-01-19 19:38:51 -0800</bug_when>
    <thetext>Committed r178688: &lt;http://trac.webkit.org/changeset/178688&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244953</attachid>
            <date>2015-01-19 19:29:49 -0800</date>
            <delta_ts>2015-01-19 19:37:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140656-20150119192956.patch</filename>
            <type>text/plain</type>
            <size>38539</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3ODY4NykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDE1LTAxLTE5ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3ByaW5rbGUgc29tZSBDVFRFIG9uIEFQ
STo6UG9saWN5Q2xpZW50IGFuZCBBUEk6OkZvcm1DbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDY1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gVXNlIHJlZmVyZW5jZXMgcmF0aGVyIHRoYW4g
cG9pbnRlcnMgd2hlcmUgcG9zc2libGUuCisgICAgICAgIC0gU3RvcmUgYW5kIHBhc3MgdGhlIGxp
c3RlbmVycyBhcyBSZWZzLgorICAgICAgICAtIE1ha2UgQVBJOjpGb3JtQ2xpZW50IG1vcmUgbGlr
ZSBBUEk6OlBvbGljeUNsaWVudCBieSBtYWtpbmcgaXQgdGhlCisgICAgICAgICAgcmVzcG9uc2li
aWxpdHkgb2YgdGhlIGNsaWVudCBpbXBsZW1lbnRhdGlvbiB0byBjYWxsIHRoZSBkZWZhdWx0IHBv
bGljeS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJRm9ybUNsaWVudC5oOgorICAgICAg
ICAoQVBJOjpGb3JtQ2xpZW50Ojp3aWxsU3VibWl0Rm9ybSk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9BUElQb2xpY3lDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6UG9saWN5Q2xpZW50OjpkZWNp
ZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAgKEFQSTo6UG9saWN5Q2xpZW50
OjpkZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24pOgorICAgICAgICAoQVBJOjpQb2xpY3lD
bGllbnQ6OmRlY2lkZVBvbGljeUZvclJlc3BvbnNlKToKKyAgICAgICAgKEFQSTo6UG9saWN5Q2xp
ZW50Ojp1bmFibGVUb0ltcGxlbWVudFBvbGljeSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJW
aWV3IF9zZXRGb3JtRGVsZWdhdGU6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0UG9saWN5Q2xpZW50LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlv
blN0YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbToK
KyAgICAgICAgKFdlYktpdDo6TmF2aWdhdGlvblN0YXRlOjpQb2xpY3lDbGllbnQ6OmRlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25BY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3Rh
dGU6OlBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKToKKyAgICAg
ICAgKFdlYktpdDo6TmF2aWdhdGlvblN0YXRlOjpQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZv
clJlc3BvbnNlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRm9ybUNsaWVudC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkZvcm1DbGllbnQ6OndpbGxTdWJtaXRGb3JtKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViRm9ybUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQcm94eTo6c2V0VXBQb2xpY3lMaXN0
ZW5lclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQcm94eTo6c2V0VXBGb3JtU3Vi
bWlzc2lvbkxpc3RlbmVyUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVByb3h5
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9u
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JSZXNwb25z
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dW5hYmxlVG9JbXBsZW1lbnRQb2xp
Y3kpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OndpbGxTdWJtaXRGb3JtKToKKwog
MjAxNS0wMS0xOCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIE1lcmdl
IEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIGFuZCBfV0tQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGb3JtQ2xpZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRm9ybUNsaWVudC5jcHAJ
KHJldmlzaW9uIDE3ODY4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGb3JtQ2xp
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksMTggKzM5LDE4IEBAIFdlYkZvcm1DbGllbnQ6
OldlYkZvcm1DbGllbnQoY29uc3QgV0tQYWcKICAgICBpbml0aWFsaXplKHdrQ2xpZW50KTsKIH0K
IAotYm9vbCBXZWJGb3JtQ2xpZW50Ojp3aWxsU3VibWl0Rm9ybShXZWJQYWdlUHJveHkqIHBhZ2Us
IFdlYkZyYW1lUHJveHkqIGZyYW1lLCBXZWJGcmFtZVByb3h5KiBzb3VyY2VGcmFtZSwgY29uc3Qg
VmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+JiB0ZXh0RmllbGRWYWx1ZXMsIEFQSTo6
T2JqZWN0KiB1c2VyRGF0YSwgV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5KiBsaXN0ZW5l
cikKK3ZvaWQgV2ViRm9ybUNsaWVudDo6d2lsbFN1Ym1pdEZvcm0oV2ViUGFnZVByb3h5JiBwYWdl
LCBXZWJGcmFtZVByb3h5JiBmcmFtZSwgV2ViRnJhbWVQcm94eSYgc291cmNlRnJhbWUsIGNvbnN0
IFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+PiYgdGV4dEZpZWxkVmFsdWVzLCBBUEk6
Ok9iamVjdCogdXNlckRhdGEsIFJlZjxXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk+JiYg
bGlzdGVuZXIpCiB7Ci0gICAgaWYgKCFtX2NsaWVudC53aWxsU3VibWl0Rm9ybSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIGlmICghbV9jbGllbnQud2lsbFN1Ym1pdEZvcm0pIHsKKyAgICAg
ICAgbGlzdGVuZXItPmNvbnRpbnVlU3VibWlzc2lvbigpOworICAgICAgICByZXR1cm47CisgICAg
fQogCiAgICAgQVBJOjpEaWN0aW9uYXJ5OjpNYXBUeXBlIG1hcDsKICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IHRleHRGaWVsZFZhbHVlcy5zaXplKCk7ICsraSkKICAgICAgICAgbWFwLnNldCh0
ZXh0RmllbGRWYWx1ZXNbaV0uZmlyc3QsIEFQSTo6U3RyaW5nOjpjcmVhdGUodGV4dEZpZWxkVmFs
dWVzW2ldLnNlY29uZCkpOwogICAgIFJlZlB0cjxBUEk6OkRpY3Rpb25hcnk+IHRleHRGaWVsZHNN
YXAgPSBBUEk6OkRpY3Rpb25hcnk6OmNyZWF0ZShXVEY6Om1vdmUobWFwKSk7Ci0KLSAgICBtX2Ns
aWVudC53aWxsU3VibWl0Rm9ybSh0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShzb3Vy
Y2VGcmFtZSksIHRvQVBJKHRleHRGaWVsZHNNYXAuZ2V0KCkpLCB0b0FQSSh1c2VyRGF0YSksIHRv
QVBJKGxpc3RlbmVyKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKLSAgICByZXR1cm4gdHJ1
ZTsKKyAgICBtX2NsaWVudC53aWxsU3VibWl0Rm9ybSh0b0FQSSgmcGFnZSksIHRvQVBJKCZmcmFt
ZSksIHRvQVBJKCZzb3VyY2VGcmFtZSksIHRvQVBJKHRleHRGaWVsZHNNYXAuZ2V0KCkpLCB0b0FQ
SSh1c2VyRGF0YSksIHRvQVBJKCZsaXN0ZW5lci5nZXQoKSksIG1fY2xpZW50LmJhc2UuY2xpZW50
SW5mbyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkZvcm1DbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViRm9ybUNsaWVudC5oCShyZXZpc2lvbiAxNzg2ODQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRm9ybUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0
Miw3IEBAIGNsYXNzIFdlYkZvcm1DbGllbnQgOiBwdWJsaWMgQVBJOjpGb3JtQ2wKIHB1YmxpYzoK
ICAgICBleHBsaWNpdCBXZWJGb3JtQ2xpZW50KGNvbnN0IFdLUGFnZUZvcm1DbGllbnRCYXNlKik7
CiAKLSAgICB2aXJ0dWFsIGJvb2wgd2lsbFN1Ym1pdEZvcm0oV2ViUGFnZVByb3h5KiwgV2ViRnJh
bWVQcm94eSosIFdlYkZyYW1lUHJveHkqLCBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywg
U3RyaW5nPj4mIHRleHRGaWVsZFZhbHVlcywgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBXZWJGb3Jt
U3VibWlzc2lvbkxpc3RlbmVyUHJveHkqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgd2ls
bFN1Ym1pdEZvcm0oV2ViUGFnZVByb3h5JiwgV2ViRnJhbWVQcm94eSYsIFdlYkZyYW1lUHJveHkm
LCBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4mIHRleHRGaWVsZFZhbHVl
cywgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBSZWY8V2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclBy
b3h5PiYmKSBvdmVycmlkZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAkocmV2aXNpb24gMTc4Njg0
KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xODIsMjAgKzE4MiwyMCBAQCB2b2lkIFdlYkZyYW1lUHJveHk6OnJlY2VpdmVk
UG9saWN5RGVjaXNpCiAgICAgbV9wYWdlLT5yZWNlaXZlZFBvbGljeURlY2lzaW9uKGFjdGlvbiwg
dGhpcywgbGlzdGVuZXJJRCwgbmF2aWdhdGlvbik7CiB9CiAKLVdlYkZyYW1lUG9saWN5TGlzdGVu
ZXJQcm94eSogV2ViRnJhbWVQcm94eTo6c2V0VXBQb2xpY3lMaXN0ZW5lclByb3h5KHVpbnQ2NF90
IGxpc3RlbmVySUQpCitXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkmIFdlYkZyYW1lUHJveHk6
OnNldFVwUG9saWN5TGlzdGVuZXJQcm94eSh1aW50NjRfdCBsaXN0ZW5lcklEKQogewogICAgIGlm
IChtX2FjdGl2ZUxpc3RlbmVyKQogICAgICAgICBtX2FjdGl2ZUxpc3RlbmVyLT5pbnZhbGlkYXRl
KCk7CiAgICAgbV9hY3RpdmVMaXN0ZW5lciA9IFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6
Y3JlYXRlKHRoaXMsIGxpc3RlbmVySUQpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJGcmFt
ZVBvbGljeUxpc3RlbmVyUHJveHkqPihtX2FjdGl2ZUxpc3RlbmVyLmdldCgpKTsKKyAgICByZXR1
cm4gKnN0YXRpY19jYXN0PFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eSo+KG1fYWN0aXZlTGlz
dGVuZXIuZ2V0KCkpOwogfQogCi1XZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkqIFdlYkZy
YW1lUHJveHk6OnNldFVwRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5KHVpbnQ2NF90IGxpc3Rl
bmVySUQpCitXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkmIFdlYkZyYW1lUHJveHk6OnNl
dFVwRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5KHVpbnQ2NF90IGxpc3RlbmVySUQpCiB7CiAg
ICAgaWYgKG1fYWN0aXZlTGlzdGVuZXIpCiAgICAgICAgIG1fYWN0aXZlTGlzdGVuZXItPmludmFs
aWRhdGUoKTsKICAgICBtX2FjdGl2ZUxpc3RlbmVyID0gV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5l
clByb3h5OjpjcmVhdGUodGhpcywgbGlzdGVuZXJJRCk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eSo+KG1fYWN0aXZlTGlzdGVuZXIuZ2V0KCkp
OworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8V2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5
Kj4obV9hY3RpdmVMaXN0ZW5lci5nZXQoKSk7CiB9CiAKIHZvaWQgV2ViRnJhbWVQcm94eTo6Z2V0
V2ViQXJjaGl2ZShzdGQ6OmZ1bmN0aW9uPHZvaWQgKEFQSTo6RGF0YSosIENhbGxiYWNrQmFzZTo6
RXJyb3IpPiBjYWxsYmFja0Z1bmN0aW9uKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkZyYW1lUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViRnJhbWVQcm94eS5oCShyZXZpc2lvbiAxNzg2ODQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViRnJhbWVQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTksOCArMTE5LDggQEAg
cHVibGljOgogCiAgICAgLy8gUG9saWN5IG9wZXJhdGlvbnMuCiAgICAgdm9pZCByZWNlaXZlZFBv
bGljeURlY2lzaW9uKFdlYkNvcmU6OlBvbGljeUFjdGlvbiwgdWludDY0X3QgbGlzdGVuZXJJRCwg
QVBJOjpOYXZpZ2F0aW9uKiA9IG51bGxwdHIpOwotICAgIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQ
cm94eSogc2V0VXBQb2xpY3lMaXN0ZW5lclByb3h5KHVpbnQ2NF90IGxpc3RlbmVySUQpOwotICAg
IFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eSogc2V0VXBGb3JtU3VibWlzc2lvbkxpc3Rl
bmVyUHJveHkodWludDY0X3QgbGlzdGVuZXJJRCk7CisgICAgV2ViRnJhbWVQb2xpY3lMaXN0ZW5l
clByb3h5JiBzZXRVcFBvbGljeUxpc3RlbmVyUHJveHkodWludDY0X3QgbGlzdGVuZXJJRCk7Cisg
ICAgV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5JiBzZXRVcEZvcm1TdWJtaXNzaW9uTGlz
dGVuZXJQcm94eSh1aW50NjRfdCBsaXN0ZW5lcklEKTsKIAogI2lmIEVOQUJMRShDT05URU5UX0ZJ
TFRFUklORykKICAgICB2b2lkIHNldENvbnRlbnRGaWx0ZXJGb3JCbG9ja2VkTG9hZChzdGQ6OnVu
aXF1ZV9wdHI8V2ViQ29yZTo6Q29udGVudEZpbHRlcj4gY29udGVudEZpbHRlcikgeyBtX2NvbnRl
bnRGaWx0ZXJGb3JCbG9ja2VkTG9hZCA9IFdURjo6bW92ZShjb250ZW50RmlsdGVyKTsgfQpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDE3
ODY4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOTU1LDcgKzI5NTUsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRl
UG9saWN5Rm9yTmF2aWdhCiAKICAgICBXZWJGcmFtZVByb3h5KiBvcmlnaW5hdGluZ0ZyYW1lID0g
bV9wcm9jZXNzLT53ZWJGcmFtZShvcmlnaW5hdGluZ0ZyYW1lSUQpOwogICAgIAotICAgIFJlZlB0
cjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk+IGxpc3RlbmVyID0gZnJhbWUtPnNldFVwUG9s
aWN5TGlzdGVuZXJQcm94eShsaXN0ZW5lcklEKTsKKyAgICBSZWY8V2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5PiBsaXN0ZW5lciA9IGZyYW1lLT5zZXRVcFBvbGljeUxpc3RlbmVyUHJveHkobGlz
dGVuZXJJRCk7CiAgICAgaWYgKCFuYXZpZ2F0aW9uSUQgJiYgZnJhbWUtPmlzTWFpbkZyYW1lKCkp
IHsKICAgICAgICAgYXV0byBuYXZpZ2F0aW9uID0gbV9uYXZpZ2F0aW9uU3RhdGUtPmNyZWF0ZUxv
YWRSZXF1ZXN0TmF2aWdhdGlvbihyZXF1ZXN0KTsKICAgICAgICAgbmV3TmF2aWdhdGlvbklEID0g
bmF2aWdhdGlvbi0+bmF2aWdhdGlvbklEKCk7CkBAIC0yOTc1LDcgKzI5NzUsNyBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhCiAgICAgbV9pbkRlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BY3Rpb24gPSB0cnVlOwogICAgIG1fc3luY05hdmlnYXRpb25BY3Rpb25Qb2xp
Y3lBY3Rpb25Jc1ZhbGlkID0gZmFsc2U7CiAKLSAgICBtX3BvbGljeUNsaWVudC0+ZGVjaWRlUG9s
aWN5Rm9yTmF2aWdhdGlvbkFjdGlvbih0aGlzLCBmcmFtZSwgbmF2aWdhdGlvbkFjdGlvbkRhdGEs
IG9yaWdpbmF0aW5nRnJhbWUsIG9yaWdpbmFsUmVxdWVzdCwgcmVxdWVzdCwgV1RGOjptb3ZlKGxp
c3RlbmVyKSwgbV9wcm9jZXNzLT50cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKHVzZXJEYXRhLm9i
amVjdCgpKS5nZXQoKSk7CisgICAgbV9wb2xpY3lDbGllbnQtPmRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb24oKnRoaXMsIGZyYW1lLCBuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgb3JpZ2luYXRp
bmdGcmFtZSwgb3JpZ2luYWxSZXF1ZXN0LCByZXF1ZXN0LCBXVEY6Om1vdmUobGlzdGVuZXIpLCBt
X3Byb2Nlc3MtPnRyYW5zZm9ybUhhbmRsZXNUb09iamVjdHModXNlckRhdGEub2JqZWN0KCkpLmdl
dCgpKTsKIAogICAgIG1faW5EZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uID0gZmFsc2U7
CiAKQEAgLTI5OTMsOSArMjk5Myw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lG
b3JOZXdXaW4KICAgICBNRVNTQUdFX0NIRUNLKGZyYW1lKTsKICAgICBNRVNTQUdFX0NIRUNLX1VS
TChyZXF1ZXN0LnVybCgpKTsKIAotICAgIFJlZlB0cjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJv
eHk+IGxpc3RlbmVyID0gZnJhbWUtPnNldFVwUG9saWN5TGlzdGVuZXJQcm94eShsaXN0ZW5lcklE
KTsKKyAgICBSZWY8V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5PiBsaXN0ZW5lciA9IGZyYW1l
LT5zZXRVcFBvbGljeUxpc3RlbmVyUHJveHkobGlzdGVuZXJJRCk7CiAKLSAgICBtX3BvbGljeUNs
aWVudC0+ZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKHRoaXMsIGZyYW1lLCBuYXZpZ2F0
aW9uQWN0aW9uRGF0YSwgcmVxdWVzdCwgZnJhbWVOYW1lLCBXVEY6Om1vdmUobGlzdGVuZXIpLCBt
X3Byb2Nlc3MtPnRyYW5zZm9ybUhhbmRsZXNUb09iamVjdHModXNlckRhdGEub2JqZWN0KCkpLmdl
dCgpKTsKKyAgICBtX3BvbGljeUNsaWVudC0+ZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9u
KCp0aGlzLCAqZnJhbWUsIG5hdmlnYXRpb25BY3Rpb25EYXRhLCByZXF1ZXN0LCBmcmFtZU5hbWUs
IFdURjo6bW92ZShsaXN0ZW5lciksIG1fcHJvY2Vzcy0+dHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0
cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVj
aWRlUG9saWN5Rm9yUmVzcG9uc2UodWludDY0X3QgZnJhbWVJRCwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgYm9vbCBjYW5T
aG93TUlNRVR5cGUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0
YSkKQEAgLTMwMDUsOSArMzAwNSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lG
b3JSZXNwb24KICAgICBNRVNTQUdFX0NIRUNLX1VSTChyZXF1ZXN0LnVybCgpKTsKICAgICBNRVNT
QUdFX0NIRUNLX1VSTChyZXNwb25zZS51cmwoKSk7CiAKLSAgICBSZWZQdHI8V2ViRnJhbWVQb2xp
Y3lMaXN0ZW5lclByb3h5PiBsaXN0ZW5lciA9IGZyYW1lLT5zZXRVcFBvbGljeUxpc3RlbmVyUHJv
eHkobGlzdGVuZXJJRCk7CisgICAgUmVmPFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eT4gbGlz
dGVuZXIgPSBmcmFtZS0+c2V0VXBQb2xpY3lMaXN0ZW5lclByb3h5KGxpc3RlbmVySUQpOwogCi0g
ICAgbV9wb2xpY3lDbGllbnQtPmRlY2lkZVBvbGljeUZvclJlc3BvbnNlKHRoaXMsIGZyYW1lLCBy
ZXNwb25zZSwgcmVxdWVzdCwgY2FuU2hvd01JTUVUeXBlLCBXVEY6Om1vdmUobGlzdGVuZXIpLCBt
X3Byb2Nlc3MtPnRyYW5zZm9ybUhhbmRsZXNUb09iamVjdHModXNlckRhdGEub2JqZWN0KCkpLmdl
dCgpKTsKKyAgICBtX3BvbGljeUNsaWVudC0+ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoKnRoaXMs
ICpmcmFtZSwgcmVzcG9uc2UsIHJlcXVlc3QsIGNhblNob3dNSU1FVHlwZSwgV1RGOjptb3ZlKGxp
c3RlbmVyKSwgbV9wcm9jZXNzLT50cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKHVzZXJEYXRhLm9i
amVjdCgpKS5nZXQoKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JS
ZXNwb25zZVN5bmModWludDY0X3QgZnJhbWVJRCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgYm9vbCBjYW5TaG93TUlNRVR5
cGUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSwgYm9vbCYg
cmVjZWl2ZWRQb2xpY3lBY3Rpb24sIHVpbnQ2NF90JiBwb2xpY3lBY3Rpb24sIHVpbnQ2NF90JiBk
b3dubG9hZElEKQpAQCAtMzAzNiw3ICszMDM2LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnVuYWJs
ZVRvSW1wbGVtZW50UG9saQogICAgIFdlYkZyYW1lUHJveHkqIGZyYW1lID0gbV9wcm9jZXNzLT53
ZWJGcmFtZShmcmFtZUlEKTsKICAgICBNRVNTQUdFX0NIRUNLKGZyYW1lKTsKIAotICAgIG1fcG9s
aWN5Q2xpZW50LT51bmFibGVUb0ltcGxlbWVudFBvbGljeSh0aGlzLCBmcmFtZSwgZXJyb3IsIG1f
cHJvY2Vzcy0+dHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0
KCkpOworICAgIG1fcG9saWN5Q2xpZW50LT51bmFibGVUb0ltcGxlbWVudFBvbGljeSgqdGhpcywg
KmZyYW1lLCBlcnJvciwgbV9wcm9jZXNzLT50cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKHVzZXJE
YXRhLm9iamVjdCgpKS5nZXQoKSk7CiB9CiAKIC8vIEZvcm1DbGllbnQKQEAgLTMwNDksOSArMzA0
OSw4IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp3aWxsU3VibWl0Rm9ybSh1aW50NjQKICAgICBXZWJG
cmFtZVByb3h5KiBzb3VyY2VGcmFtZSA9IG1fcHJvY2Vzcy0+d2ViRnJhbWUoc291cmNlRnJhbWVJ
RCk7CiAgICAgTUVTU0FHRV9DSEVDSyhzb3VyY2VGcmFtZSk7CiAKLSAgICBSZWZQdHI8V2ViRm9y
bVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5PiBsaXN0ZW5lciA9IGZyYW1lLT5zZXRVcEZvcm1TdWJt
aXNzaW9uTGlzdGVuZXJQcm94eShsaXN0ZW5lcklEKTsKLSAgICBpZiAoIW1fZm9ybUNsaWVudC0+
d2lsbFN1Ym1pdEZvcm0odGhpcywgZnJhbWUsIHNvdXJjZUZyYW1lLCB0ZXh0RmllbGRWYWx1ZXMs
IG1fcHJvY2Vzcy0+dHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5vYmplY3QoKSku
Z2V0KCksIGxpc3RlbmVyLmdldCgpKSkKLSAgICAgICAgbGlzdGVuZXItPmNvbnRpbnVlU3VibWlz
c2lvbigpOworICAgIFJlZjxXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk+IGxpc3RlbmVy
ID0gZnJhbWUtPnNldFVwRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5KGxpc3RlbmVySUQpOwor
ICAgIG1fZm9ybUNsaWVudC0+d2lsbFN1Ym1pdEZvcm0oKnRoaXMsICpmcmFtZSwgKnNvdXJjZUZy
YW1lLCB0ZXh0RmllbGRWYWx1ZXMsIG1fcHJvY2Vzcy0+dHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0
cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCksIGxpc3RlbmVyLmdldCgpKTsKIH0KIAogdm9pZCBX
ZWJQYWdlUHJveHk6OmRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhKGNvbnN0IFdlYk5hdmln
YXRpb25EYXRhU3RvcmUmIHN0b3JlLCB1aW50NjRfdCBmcmFtZUlEKSAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJRm9ybUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJRm9ybUNsaWVudC5oCShyZXZpc2lvbiAxNzg2ODQp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSUZvcm1DbGllbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjYsMTEgKzI2LDExIEBACiAjaWZuZGVmIEFQSUZvcm1DbGllbnRfaAogI2Rl
ZmluZSBBUElGb3JtQ2xpZW50X2gKIAorI2luY2x1ZGUgIldlYkZvcm1TdWJtaXNzaW9uTGlzdGVu
ZXJQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKLWNsYXNzIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVu
ZXJQcm94eTsKIGNsYXNzIFdlYkZyYW1lUHJveHk7CiBjbGFzcyBXZWJQYWdlUHJveHk7CiB9CkBA
IC00MiwxMiArNDIsOSBAQCBjbGFzcyBGb3JtQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFs
IH5Gb3JtQ2xpZW50KCkgeyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgd2lsbFN1Ym1pdEZvcm0oV2Vi
S2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBXZWJLaXQ6OldlYkZy
YW1lUHJveHkqIHNvdXJjZUZyYW1lLCBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFdURjo6U3RyaW5n
LCBXVEY6OlN0cmluZz4+JiB0ZXh0RmllbGRWYWx1ZXMsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSwg
V2ViS2l0OjpXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkqKQorICAgIHZpcnR1YWwgdm9p
ZCB3aWxsU3VibWl0Rm9ybShXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQ
cm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIGNvbnN0IFZlY3RvcjxzdGQ6OnBhaXI8V1RG
OjpTdHJpbmcsIFdURjo6U3RyaW5nPj4mLCBBUEk6Ok9iamVjdCosIFJlZjxXZWJLaXQ6OldlYkZv
cm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eT4mJiBsaXN0ZW5lcikKICAgICB7Ci0gICAgICAgIFVO
VVNFRF9QQVJBTShzb3VyY2VGcmFtZSk7Ci0gICAgICAgIFVOVVNFRF9QQVJBTSh0ZXh0RmllbGRW
YWx1ZXMpOwotICAgICAgICBVTlVTRURfUEFSQU0odXNlckRhdGEpOwotICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIGxpc3RlbmVyLT5jb250aW51ZVN1Ym1pc3Npb24oKTsKICAgICB9CiB9
OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVBvbGljeUNsaWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUG9saWN5Q2xp
ZW50LmgJKHJldmlzaW9uIDE3ODY4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
QVBJUG9saWN5Q2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDE5ICs1MSwxOSBAQCBjbGFz
cyBQb2xpY3lDbGllbnQgewogcHVibGljOgogICAgIHZpcnR1YWwgflBvbGljeUNsaWVudCgpIHsg
fQogCi0gICAgdmlydHVhbCB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oV2Vi
S2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJLaXQ6
Ok5hdmlnYXRpb25BY3Rpb25EYXRhJiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5KiwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jiwg
UmVmUHRyPFdlYktpdDo6V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5PiBsaXN0ZW5lciwgQVBJ
OjpPYmplY3QqKQorICAgIHZpcnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5KiwgY29uc3Qg
V2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSosIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYsIFJlZjxXZWJLaXQ6OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eT4mJiBsaXN0ZW5l
ciwgQVBJOjpPYmplY3QqKQogICAgIHsKICAgICAgICAgbGlzdGVuZXItPnVzZSgpOwogICAgIH0K
LSAgICB2aXJ0dWFsIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKFdlYktpdDo6
V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5KiwgY29uc3QgV2ViS2l0OjpOYXZp
Z2F0aW9uQWN0aW9uRGF0YSYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFdURjo6U3RyaW5nJiwgUmVmUHRyPFdlYktpdDo6V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5
PiBsaXN0ZW5lciwgQVBJOjpPYmplY3QqKQorICAgIHZpcnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lG
b3JOZXdXaW5kb3dBY3Rpb24oV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1l
UHJveHkmLCBjb25zdCBXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb25EYXRhJiwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV1RGOjpTdHJpbmcmLCBSZWY8V2ViS2l0OjpXZWJG
cmFtZVBvbGljeUxpc3RlbmVyUHJveHk+JiYgbGlzdGVuZXIsIEFQSTo6T2JqZWN0KikKICAgICB7
CiAgICAgICAgIGxpc3RlbmVyLT51c2UoKTsKICAgICB9Ci0gICAgdmlydHVhbCB2b2lkIGRlY2lk
ZVBvbGljeUZvclJlc3BvbnNlKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV2ViS2l0OjpXZWJGcmFt
ZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYsIGJvb2wsIFJlZlB0cjxXZWJLaXQ6OldlYkZyYW1lUG9saWN5TGlz
dGVuZXJQcm94eT4gbGlzdGVuZXIsIEFQSTo6T2JqZWN0KikKKyAgICB2aXJ0dWFsIHZvaWQgZGVj
aWRlUG9saWN5Rm9yUmVzcG9uc2UoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZy
YW1lUHJveHkmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiwgYm9vbCwgUmVmPFdlYktpdDo6V2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5PiYmIGxpc3RlbmVyLCBBUEk6Ok9iamVjdCopCiAgICAgewogICAgICAgICBsaXN0
ZW5lci0+dXNlKCk7CiAgICAgfQotICAgIHZpcnR1YWwgdm9pZCB1bmFibGVUb0ltcGxlbWVudFBv
bGljeShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdlYktpdDo6V2ViRnJhbWVQcm94eSosIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBBUEk6Ok9iamVjdCopIHsgfQorICAgIHZpcnR1YWwg
dm9pZCB1bmFibGVUb0ltcGxlbWVudFBvbGljeShXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktp
dDo6V2ViRnJhbWVQcm94eSYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBBUEk6Ok9i
amVjdCopIHsgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVBJCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAkocmV2aXNpb24gMTc4Njg0KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEx
MjEsNyArMTEyMSw3IEBAIHZvaWQgV0tQYWdlU2V0UGFnZVBvbGljeUNsaWVudChXS1BhZ2VSZWYK
ICAgICAgICAgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgdmlydHVhbCB2b2lkIGRlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25BY3Rpb24oV2ViUGFnZVByb3h5KiBwYWdlLCBXZWJGcmFtZVByb3h5
KiBmcmFtZSwgY29uc3QgTmF2aWdhdGlvbkFjdGlvbkRhdGEmIG5hdmlnYXRpb25BY3Rpb25EYXRh
LCBXZWJGcmFtZVByb3h5KiBvcmlnaW5hdGluZ0ZyYW1lLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmIG9yaWdpbmFsUmVzb3VyY2VSZXF1ZXN0LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgUmVmUHRyPFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQ
cm94eT4gbGlzdGVuZXIsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkgb3ZlcnJpZGUKKyAgICAgICAg
dmlydHVhbCB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oV2ViUGFnZVByb3h5
JiBwYWdlLCBXZWJGcmFtZVByb3h5KiBmcmFtZSwgY29uc3QgTmF2aWdhdGlvbkFjdGlvbkRhdGEm
IG5hdmlnYXRpb25BY3Rpb25EYXRhLCBXZWJGcmFtZVByb3h5KiBvcmlnaW5hdGluZ0ZyYW1lLCBj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVzb3VyY2VSZXF1ZXN0LCBj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgUmVmPFdlYkZy
YW1lUG9saWN5TGlzdGVuZXJQcm94eT4mJiBsaXN0ZW5lciwgQVBJOjpPYmplY3QqIHVzZXJEYXRh
KSBvdmVycmlkZQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIW1fY2xpZW50LmRlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25BY3Rpb25fZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAmJiAhbV9jbGll
bnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbl9kZXByZWNhdGVkRm9yVXNlV2l0aFYx
ICYmICFtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKSB7CiAgICAgICAg
ICAgICAgICAgbGlzdGVuZXItPnVzZSgpOwpAQCAtMTEzMiwxNCArMTEzMiwxNCBAQCB2b2lkIFdL
UGFnZVNldFBhZ2VQb2xpY3lDbGllbnQoV0tQYWdlUmVmCiAgICAgICAgICAgICBSZWZQdHI8QVBJ
OjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VS
ZXF1ZXN0KTsKIAogICAgICAgICAgICAgaWYgKG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb25fZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkKLSAgICAgICAgICAgICAgICBtX2Ns
aWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uX2RlcHJlY2F0ZWRGb3JVc2VXaXRo
VjAodG9BUEkocGFnZSksIHRvQVBJKGZyYW1lKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEu
bmF2aWdhdGlvblR5cGUpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5tb2RpZmllcnMpLCB0
b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5tb3VzZUJ1dHRvbiksIHRvQVBJKHJlcXVlc3QuZ2V0
KCkpLCB0b0FQSShsaXN0ZW5lci5nZXQoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFz
ZS5jbGllbnRJbmZvKTsKKyAgICAgICAgICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uQWN0aW9uX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAodG9BUEkoJnBhZ2UpLCB0b0FQ
SShmcmFtZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm5hdmlnYXRpb25UeXBlKSwgdG9B
UEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlv
bkRhdGEubW91c2VCdXR0b24pLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9BUEkobGlzdGVuZXIu
cHRyKCkpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAg
ICAgICAgICBlbHNlIGlmIChtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9u
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEpCi0gICAgICAgICAgICAgICAgbV9jbGllbnQuZGVjaWRl
UG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbl9kZXByZWNhdGVkRm9yVXNlV2l0aFYxKHRvQVBJKHBh
Z2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm5hdmlnYXRpb25U
eXBlKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdh
dGlvbkFjdGlvbkRhdGEubW91c2VCdXR0b24pLCB0b0FQSShvcmlnaW5hdGluZ0ZyYW1lKSwgdG9B
UEkocmVxdWVzdC5nZXQoKSksIHRvQVBJKGxpc3RlbmVyLmdldCgpKSwgdG9BUEkodXNlckRhdGEp
LCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICAgICAgICAgIG1fY2xpZW50LmRl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25fZGVwcmVjYXRlZEZvclVzZVdpdGhWMSh0b0FQ
SSgmcGFnZSksIHRvQVBJKGZyYW1lKSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubmF2aWdh
dGlvblR5cGUpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5tb2RpZmllcnMpLCB0b0FQSShu
YXZpZ2F0aW9uQWN0aW9uRGF0YS5tb3VzZUJ1dHRvbiksIHRvQVBJKG9yaWdpbmF0aW5nRnJhbWUp
LCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9BUEkobGlzdGVuZXIucHRyKCkpLCB0b0FQSSh1c2Vy
RGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbih0b0FQ
SShwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9uRGF0YS5uYXZpZ2F0
aW9uVHlwZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vZGlmaWVycyksIHRvQVBJKG5h
dmlnYXRpb25BY3Rpb25EYXRhLm1vdXNlQnV0dG9uKSwgdG9BUEkob3JpZ2luYXRpbmdGcmFtZSks
IHRvQVBJKG9yaWdpbmFsUmVxdWVzdC5nZXQoKSksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0b0FQ
SShsaXN0ZW5lci5nZXQoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJ
bmZvKTsKKyAgICAgICAgICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9u
QWN0aW9uKHRvQVBJKCZwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShuYXZpZ2F0aW9uQWN0aW9u
RGF0YS5uYXZpZ2F0aW9uVHlwZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vZGlmaWVy
cyksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vdXNlQnV0dG9uKSwgdG9BUEkob3JpZ2lu
YXRpbmdGcmFtZSksIHRvQVBJKG9yaWdpbmFsUmVxdWVzdC5nZXQoKSksIHRvQVBJKHJlcXVlc3Qu
Z2V0KCkpLCB0b0FQSShsaXN0ZW5lci5wdHIoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQu
YmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgfQogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBkZWNp
ZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24oV2ViUGFnZVByb3h5KiBwYWdlLCBXZWJGcmFtZVBy
b3h5KiBmcmFtZSwgY29uc3QgTmF2aWdhdGlvbkFjdGlvbkRhdGEmIG5hdmlnYXRpb25BY3Rpb25E
YXRhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgY29uc3QgU3RyaW5n
JiBmcmFtZU5hbWUsIFJlZlB0cjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk+IGxpc3RlbmVy
LCBBUEk6Ok9iamVjdCogdXNlckRhdGEpIG92ZXJyaWRlCisgICAgICAgIHZpcnR1YWwgdm9pZCBk
ZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24oV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJGcmFt
ZVByb3h5JiBmcmFtZSwgY29uc3QgTmF2aWdhdGlvbkFjdGlvbkRhdGEmIG5hdmlnYXRpb25BY3Rp
b25EYXRhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgY29uc3QgU3Ry
aW5nJiBmcmFtZU5hbWUsIFJlZjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk+JiYgbGlzdGVu
ZXIsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkgb3ZlcnJpZGUKICAgICAgICAgewogICAgICAgICAg
ICAgaWYgKCFtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24pIHsKICAgICAg
ICAgICAgICAgICBsaXN0ZW5lci0+dXNlKCk7CkBAIC0xMTQ4LDEwICsxMTQ4LDEwIEBAIHZvaWQg
V0tQYWdlU2V0UGFnZVBvbGljeUNsaWVudChXS1BhZ2VSZWYKIAogICAgICAgICAgICAgUmVmUHRy
PEFQSTo6VVJMUmVxdWVzdD4gcmVxdWVzdCA9IEFQSTo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlc291
cmNlUmVxdWVzdCk7CiAKLSAgICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5ld1dp
bmRvd0FjdGlvbih0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShuYXZpZ2F0aW9uQWN0
aW9uRGF0YS5uYXZpZ2F0aW9uVHlwZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vZGlm
aWVycyksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm1vdXNlQnV0dG9uKSwgdG9BUEkocmVx
dWVzdC5nZXQoKSksIHRvQVBJKGZyYW1lTmFtZS5pbXBsKCkpLCB0b0FQSShsaXN0ZW5lci5nZXQo
KSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAg
ICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbih0b0FQSSgmcGFnZSks
IHRvQVBJKCZmcmFtZSksIHRvQVBJKG5hdmlnYXRpb25BY3Rpb25EYXRhLm5hdmlnYXRpb25UeXBl
KSwgdG9BUEkobmF2aWdhdGlvbkFjdGlvbkRhdGEubW9kaWZpZXJzKSwgdG9BUEkobmF2aWdhdGlv
bkFjdGlvbkRhdGEubW91c2VCdXR0b24pLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9BUEkoZnJh
bWVOYW1lLmltcGwoKSksIHRvQVBJKGxpc3RlbmVyLnB0cigpKSwgdG9BUEkodXNlckRhdGEpLCBt
X2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAKLSAgICAgICAgdmlydHVhbCB2
b2lkIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlKFdlYlBhZ2VQcm94eSogcGFnZSwgV2ViRnJhbWVQ
cm94eSogZnJhbWUsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc291cmNlUmVzcG9uc2UsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0LCBib29sIGNhblNob3dNSU1FVHlw
ZSwgUmVmUHRyPFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eT4gbGlzdGVuZXIsIEFQSTo6T2Jq
ZWN0KiB1c2VyRGF0YSkgb3ZlcnJpZGUKKyAgICAgICAgdmlydHVhbCB2b2lkIGRlY2lkZVBvbGlj
eUZvclJlc3BvbnNlKFdlYlBhZ2VQcm94eSYgcGFnZSwgV2ViRnJhbWVQcm94eSYgZnJhbWUsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc291cmNlUmVzcG9uc2UsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVzb3VyY2VSZXF1ZXN0LCBib29sIGNhblNob3dNSU1FVHlwZSwgUmVmPFdlYkZyYW1l
UG9saWN5TGlzdGVuZXJQcm94eT4mJiBsaXN0ZW5lciwgQVBJOjpPYmplY3QqIHVzZXJEYXRhKSBv
dmVycmlkZQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIW1fY2xpZW50LmRlY2lkZVBvbGlj
eUZvclJlc3BvbnNlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgJiYgIW1fY2xpZW50LmRlY2lkZVBv
bGljeUZvclJlc3BvbnNlKSB7CiAgICAgICAgICAgICAgICAgbGlzdGVuZXItPnVzZSgpOwpAQCAt
MTE2MiwxNyArMTE2MiwxNyBAQCB2b2lkIFdLUGFnZVNldFBhZ2VQb2xpY3lDbGllbnQoV0tQYWdl
UmVmCiAgICAgICAgICAgICBSZWZQdHI8QVBJOjpVUkxSZXF1ZXN0PiByZXF1ZXN0ID0gQVBJOjpV
UkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAogICAgICAgICAgICAgaWYgKG1f
Y2xpZW50LmRlY2lkZVBvbGljeUZvclJlc3BvbnNlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApCi0g
ICAgICAgICAgICAgICAgbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWMCh0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShyZXNwb25zZS5n
ZXQoKSksIHRvQVBJKHJlcXVlc3QuZ2V0KCkpLCB0b0FQSShsaXN0ZW5lci5nZXQoKSksIHRvQVBJ
KHVzZXJEYXRhKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgICAgICAgICBt
X2NsaWVudC5kZWNpZGVQb2xpY3lGb3JSZXNwb25zZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwKHRv
QVBJKCZwYWdlKSwgdG9BUEkoJmZyYW1lKSwgdG9BUEkocmVzcG9uc2UuZ2V0KCkpLCB0b0FQSShy
ZXF1ZXN0LmdldCgpKSwgdG9BUEkobGlzdGVuZXIucHRyKCkpLCB0b0FQSSh1c2VyRGF0YSksIG1f
Y2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UodG9BUEkocGFnZSksIHRvQVBJKGZy
YW1lKSwgdG9BUEkocmVzcG9uc2UuZ2V0KCkpLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgY2FuU2hv
d01JTUVUeXBlLCB0b0FQSShsaXN0ZW5lci5nZXQoKSksIHRvQVBJKHVzZXJEYXRhKSwgbV9jbGll
bnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgICAgICAgICBtX2NsaWVudC5kZWNpZGVQb2xp
Y3lGb3JSZXNwb25zZSh0b0FQSSgmcGFnZSksIHRvQVBJKCZmcmFtZSksIHRvQVBJKHJlc3BvbnNl
LmdldCgpKSwgdG9BUEkocmVxdWVzdC5nZXQoKSksIGNhblNob3dNSU1FVHlwZSwgdG9BUEkobGlz
dGVuZXIucHRyKCkpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7
CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIHZvaWQgdW5hYmxlVG9JbXBsZW1lbnRQb2xp
Y3koV2ViUGFnZVByb3h5KiBwYWdlLCBXZWJGcmFtZVByb3h5KiBmcmFtZSwgY29uc3QgUmVzb3Vy
Y2VFcnJvciYgZXJyb3IsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkgb3ZlcnJpZGUKKyAgICAgICAg
dmlydHVhbCB2b2lkIHVuYWJsZVRvSW1wbGVtZW50UG9saWN5KFdlYlBhZ2VQcm94eSYgcGFnZSwg
V2ViRnJhbWVQcm94eSYgZnJhbWUsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yLCBBUEk6Ok9i
amVjdCogdXNlckRhdGEpIG92ZXJyaWRlCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICghbV9j
bGllbnQudW5hYmxlVG9JbXBsZW1lbnRQb2xpY3kpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICAgICAgCi0gICAgICAgICAgICBtX2NsaWVudC51bmFibGVUb0ltcGxlbWVudFBvbGlj
eSh0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShlcnJvciksIHRvQVBJKHVzZXJEYXRh
KSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgICAgIG1fY2xpZW50LnVuYWJs
ZVRvSW1wbGVtZW50UG9saWN5KHRvQVBJKCZwYWdlKSwgdG9BUEkoJmZyYW1lKSwgdG9BUEkoZXJy
b3IpLCB0b0FQSSh1c2VyRGF0YSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAg
IH0KICAgICB9OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbQkocmV2aXNpb24gMTc4Njg0KQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTIwNTIsMTgg
KzIwNTIsMjEgQEAgLSAodm9pZClfc2V0Rm9ybURlbGVnYXRlOihpZCA8X1dLRm9ybURlbAogCiAg
ICAgICAgIHZpcnR1YWwgfkZvcm1DbGllbnQoKSB7IH0KIAotICAgICAgICB2aXJ0dWFsIGJvb2wg
d2lsbFN1Ym1pdEZvcm0oV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJv
eHkqLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqIHNvdXJjZUZyYW1lLCBjb25zdCBWZWN0b3I8c3Rk
OjpwYWlyPFdURjo6U3RyaW5nLCBXVEY6OlN0cmluZz4+JiB0ZXh0RmllbGRWYWx1ZXMsIEFQSTo6
T2JqZWN0KiB1c2VyRGF0YSwgV2ViS2l0OjpXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkq
IGxpc3RlbmVyKSBvdmVycmlkZQorICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFN1Ym1pdEZvcm0o
V2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkmLCBXZWJLaXQ6Oldl
YkZyYW1lUHJveHkmIHNvdXJjZUZyYW1lLCBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFdURjo6U3Ry
aW5nLCBXVEY6OlN0cmluZz4+JiB0ZXh0RmllbGRWYWx1ZXMsIEFQSTo6T2JqZWN0KiB1c2VyRGF0
YSwgUmVmPFdlYktpdDo6V2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5PiYmIGxpc3RlbmVy
KSBvdmVycmlkZQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAodXNlckRhdGEgJiYgdXNlckRh
dGEtPnR5cGUoKSAhPSBBUEk6Ok9iamVjdDo6VHlwZTo6RGF0YSkgewogICAgICAgICAgICAgICAg
IEFTU0VSVCghdXNlckRhdGEgfHwgdXNlckRhdGEtPnR5cGUoKSA9PSBBUEk6Ok9iamVjdDo6VHlw
ZTo6RGF0YSk7CiAgICAgICAgICAgICAgICAgbV93ZWJWaWV3LT5fcGFnZS0+cHJvY2VzcygpLmNv
bm5lY3Rpb24oKS0+bWFya0N1cnJlbnRseURpc3BhdGNoZWRNZXNzYWdlQXNJbnZhbGlkKCk7Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIGxpc3RlbmVyLT5j
b250aW51ZVN1Ym1pc3Npb24oKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAg
ICB9CiAKICAgICAgICAgICAgIGF1dG8gZm9ybURlbGVnYXRlID0gbV93ZWJWaWV3LT5fZm9ybURl
bGVnYXRlLmdldCgpOwogCi0gICAgICAgICAgICBpZiAoIVtmb3JtRGVsZWdhdGUgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzp3aWxsU3VibWl0Rm9ybVZhbHVlczp1c2VyT2Jq
ZWN0OnN1Ym1pc3Npb25IYW5kbGVyOildKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgICAgIGlmICghW2Zvcm1EZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKF93ZWJWaWV3OndpbGxTdWJtaXRGb3JtVmFsdWVzOnVzZXJPYmplY3Q6c3VibWlzc2lvbkhh
bmRsZXI6KV0pIHsKKyAgICAgICAgICAgICAgICBsaXN0ZW5lci0+Y29udGludWVTdWJtaXNzaW9u
KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogCiAgICAgICAgICAg
ICBhdXRvIHZhbHVlTWFwID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGlu
aXRXaXRoQ2FwYWNpdHk6dGV4dEZpZWxkVmFsdWVzLnNpemUoKV0pOwogICAgICAgICAgICAgZm9y
IChjb25zdCBhdXRvJiBwYWlyIDogdGV4dEZpZWxkVmFsdWVzKQpAQCAtMjA4MSwxMiArMjA4NCwx
MiBAQCAtICh2b2lkKV9zZXRGb3JtRGVsZWdhdGU6KGlkIDxfV0tGb3JtRGVsCiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgfQogCisgICAgICAgICAgICBSZWZQdHI8V2ViS2l0OjpXZWJG
b3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk+IGxvY2FsTGlzdGVuZXIgPSBXVEY6Om1vdmUobGlz
dGVuZXIpOwogICAgICAgICAgICAgUmVmUHRyPFdlYktpdDo6Q29tcGxldGlvbkhhbmRsZXJDYWxs
Q2hlY2tlcj4gY2hlY2tlciA9IFdlYktpdDo6Q29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6
Y3JlYXRlKGZvcm1EZWxlZ2F0ZS5nZXQoKSwgQHNlbGVjdG9yKF93ZWJWaWV3OndpbGxTdWJtaXRG
b3JtVmFsdWVzOnVzZXJPYmplY3Q6c3VibWlzc2lvbkhhbmRsZXI6KSk7Ci0gICAgICAgICAgICBb
Zm9ybURlbGVnYXRlIF93ZWJWaWV3Om1fd2ViVmlldyB3aWxsU3VibWl0Rm9ybVZhbHVlczp2YWx1
ZU1hcC5nZXQoKSB1c2VyT2JqZWN0OnVzZXJPYmplY3Qgc3VibWlzc2lvbkhhbmRsZXI6W2xpc3Rl
bmVyLCBjaGVja2VyXSB7CisgICAgICAgICAgICBbZm9ybURlbGVnYXRlIF93ZWJWaWV3Om1fd2Vi
VmlldyB3aWxsU3VibWl0Rm9ybVZhbHVlczp2YWx1ZU1hcC5nZXQoKSB1c2VyT2JqZWN0OnVzZXJP
YmplY3Qgc3VibWlzc2lvbkhhbmRsZXI6W2xvY2FsTGlzdGVuZXIsIGNoZWNrZXJdIHsKICAgICAg
ICAgICAgICAgICBjaGVja2VyLT5kaWRDYWxsQ29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICAgICAg
ICAgICAgICBsaXN0ZW5lci0+Y29udGludWVTdWJtaXNzaW9uKCk7CisgICAgICAgICAgICAgICAg
bG9jYWxMaXN0ZW5lci0+Y29udGludWVTdWJtaXNzaW9uKCk7CiAgICAgICAgICAgICB9XTsKLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAKICAgICBwcml2YXRlOgpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UG9saWN5Q2xpZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQb2xp
Y3lDbGllbnQuY3BwCShyZXZpc2lvbiAxNzg2ODQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRQb2xpY3lDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwy
MSArMzgsMjEgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQg
ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXZWJQYWdlUHJveHkqLCBXZWJGcmFtZVBy
b3h5KiwgY29uc3QgTmF2aWdhdGlvbkFjdGlvbkRhdGEmIG5hdmlnYXRpb25BY3Rpb25EYXRhLCBX
ZWJGcmFtZVByb3h5KiAvKm9yaWdpbmF0aW5nRnJhbWUqLywgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiAvKm9yaWdpbmFsUmVxdWVzdCovLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIFJlZlB0cjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk+IGxpc3Rl
bmVyLCBBUEk6Ok9iamVjdCogLyp1c2VyRGF0YSovKSBvdmVycmlkZQorICAgIHZpcnR1YWwgdm9p
ZCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdlYlBhZ2VQcm94eSYsIFdlYkZyYW1l
UHJveHkqLCBjb25zdCBOYXZpZ2F0aW9uQWN0aW9uRGF0YSYgbmF2aWdhdGlvbkFjdGlvbkRhdGEs
IFdlYkZyYW1lUHJveHkqIC8qb3JpZ2luYXRpbmdGcmFtZSovLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmIC8qb3JpZ2luYWxSZXF1ZXN0Ki8sIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgUmVmPFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eT4mJiBsaXN0
ZW5lciwgQVBJOjpPYmplY3QqIC8qdXNlckRhdGEqLykgb3ZlcnJpZGUKICAgICB7Ci0gICAgICAg
IEdSZWZQdHI8V2ViS2l0UG9saWN5RGVjaXNpb24+IGRlY2lzaW9uID0gYWRvcHRHUmVmKHdlYmtp
dE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbkNyZWF0ZShuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgcmVx
dWVzdCwgbGlzdGVuZXIuZ2V0KCkpKTsKKyAgICAgICAgR1JlZlB0cjxXZWJLaXRQb2xpY3lEZWNp
c2lvbj4gZGVjaXNpb24gPSBhZG9wdEdSZWYod2Via2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9u
Q3JlYXRlKG5hdmlnYXRpb25BY3Rpb25EYXRhLCByZXF1ZXN0LCBsaXN0ZW5lci5wdHIoKSkpOwog
ICAgICAgICB3ZWJraXRXZWJWaWV3TWFrZVBvbGljeURlY2lzaW9uKG1fd2ViVmlldywgV0VCS0lU
X1BPTElDWV9ERUNJU0lPTl9UWVBFX05BVklHQVRJT05fQUNUSU9OLCBkZWNpc2lvbi5nZXQoKSk7
CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGRlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlv
bihXZWJQYWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiwgY29uc3QgTmF2aWdhdGlvbkFjdGlvbkRh
dGEmIG5hdmlnYXRpb25BY3Rpb25EYXRhLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBSZWZQdHI8V2ViRnJhbWVQb2xpY3lM
aXN0ZW5lclByb3h5PiBsaXN0ZW5lciwgQVBJOjpPYmplY3QqIC8qdXNlckRhdGEqLykgb3ZlcnJp
ZGUKKyAgICB2aXJ0dWFsIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKFdlYlBh
Z2VQcm94eSYsIFdlYkZyYW1lUHJveHkmLCBjb25zdCBOYXZpZ2F0aW9uQWN0aW9uRGF0YSYgbmF2
aWdhdGlvbkFjdGlvbkRhdGEsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgU3RyaW5nJiBmcmFtZU5hbWUsIFJlZjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJv
eHk+JiYgbGlzdGVuZXIsIEFQSTo6T2JqZWN0KiAvKnVzZXJEYXRhKi8pIG92ZXJyaWRlCiAgICAg
ewotICAgICAgICBHUmVmUHRyPFdlYktpdFBvbGljeURlY2lzaW9uPiBkZWNpc2lvbiA9IGFkb3B0
R1JlZih3ZWJraXROZXdXaW5kb3dQb2xpY3lEZWNpc2lvbkNyZWF0ZShuYXZpZ2F0aW9uQWN0aW9u
RGF0YSwgcmVxdWVzdCwgZnJhbWVOYW1lLCBsaXN0ZW5lci5nZXQoKSkpOworICAgICAgICBHUmVm
UHRyPFdlYktpdFBvbGljeURlY2lzaW9uPiBkZWNpc2lvbiA9IGFkb3B0R1JlZih3ZWJraXROZXdX
aW5kb3dQb2xpY3lEZWNpc2lvbkNyZWF0ZShuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgcmVxdWVzdCwg
ZnJhbWVOYW1lLCBsaXN0ZW5lci5wdHIoKSkpOwogICAgICAgICB3ZWJraXRXZWJWaWV3TWFrZVBv
bGljeURlY2lzaW9uKG1fd2ViVmlldywgV0VCS0lUX1BPTElDWV9ERUNJU0lPTl9UWVBFX05FV19X
SU5ET1dfQUNUSU9OLCBkZWNpc2lvbi5nZXQoKSk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lk
IGRlY2lkZVBvbGljeUZvclJlc3BvbnNlKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqLCBj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBib29sIGNhblNob3dNSU1FVHlwZSwgUmVmUHRyPFdl
YkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eT4gbGlzdGVuZXIsIEFQSTo6T2JqZWN0KiAvKnVzZXJE
YXRhKi8pIG92ZXJyaWRlCisgICAgdmlydHVhbCB2b2lkIGRlY2lkZVBvbGljeUZvclJlc3BvbnNl
KFdlYlBhZ2VQcm94eSYsIFdlYkZyYW1lUHJveHkmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBib29sIGNhblNob3dNSU1FVHlwZSwgUmVmPFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eT4m
JiBsaXN0ZW5lciwgQVBJOjpPYmplY3QqIC8qdXNlckRhdGEqLykgb3ZlcnJpZGUKICAgICB7Ci0g
ICAgICAgIEdSZWZQdHI8V2ViS2l0UG9saWN5RGVjaXNpb24+IGRlY2lzaW9uID0gYWRvcHRHUmVm
KHdlYmtpdFJlc3BvbnNlUG9saWN5RGVjaXNpb25DcmVhdGUocmVxdWVzdCwgcmVzcG9uc2UsIGNh
blNob3dNSU1FVHlwZSwgbGlzdGVuZXIuZ2V0KCkpKTsKKyAgICAgICAgR1JlZlB0cjxXZWJLaXRQ
b2xpY3lEZWNpc2lvbj4gZGVjaXNpb24gPSBhZG9wdEdSZWYod2Via2l0UmVzcG9uc2VQb2xpY3lE
ZWNpc2lvbkNyZWF0ZShyZXF1ZXN0LCByZXNwb25zZSwgY2FuU2hvd01JTUVUeXBlLCBsaXN0ZW5l
ci5wdHIoKSkpOwogICAgICAgICB3ZWJraXRXZWJWaWV3TWFrZVBvbGljeURlY2lzaW9uKG1fd2Vi
VmlldywgV0VCS0lUX1BPTElDWV9ERUNJU0lPTl9UWVBFX1JFU1BPTlNFLCBkZWNpc2lvbi5nZXQo
KSk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdh
dGlvblN0YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L05hdmlnYXRpb25TdGF0ZS5oCShyZXZpc2lvbiAxNzg2ODQpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcg
KzUwLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0cnVjdCBXZWJOYXZpZ2F0aW9uRGF0YVN0
b3JlOwogCi1jbGFzcyBOYXZpZ2F0aW9uU3RhdGUgOiBwcml2YXRlIFBhZ2VMb2FkU3RhdGU6Ok9i
c2VydmVyIHsKK2NsYXNzIE5hdmlnYXRpb25TdGF0ZSBmaW5hbCA6IHByaXZhdGUgUGFnZUxvYWRT
dGF0ZTo6T2JzZXJ2ZXIgewogcHVibGljOgogICAgIGV4cGxpY2l0IE5hdmlnYXRpb25TdGF0ZShX
S1dlYlZpZXcgKik7CiAgICAgfk5hdmlnYXRpb25TdGF0ZSgpOwpAQCAtNzMsMjEgKzczLDIxIEBA
IHB1YmxpYzoKICAgICB2b2lkIHdpbGxSZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoV2ViQmFja0Zv
cndhcmRMaXN0SXRlbSYpOwogCiBwcml2YXRlOgotICAgIGNsYXNzIFBvbGljeUNsaWVudCA6IHB1
YmxpYyBBUEk6OlBvbGljeUNsaWVudCB7CisgICAgY2xhc3MgUG9saWN5Q2xpZW50IGZpbmFsIDog
cHVibGljIEFQSTo6UG9saWN5Q2xpZW50IHsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxpY2l0
IFBvbGljeUNsaWVudChOYXZpZ2F0aW9uU3RhdGUmKTsKICAgICAgICAgflBvbGljeUNsaWVudCgp
OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgLy8gQVBJOjpQb2xpY3lDbGllbnQKLSAgICAgICAg
dmlydHVhbCB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oV2ViUGFnZVByb3h5
KiwgV2ViRnJhbWVQcm94eSogZGVzdGluYXRpb25GcmFtZSwgY29uc3QgTmF2aWdhdGlvbkFjdGlv
bkRhdGEmLCBXZWJGcmFtZVByb3h5KiBzb3VyY2VGcmFtZSwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYsIFJlZlB0cjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk+LCBBUEk6Ok9iamVjdCogdXNl
ckRhdGEpIG92ZXJyaWRlOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmV3
V2luZG93QWN0aW9uKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqIHNvdXJjZUZyYW1lLCBj
b25zdCBOYXZpZ2F0aW9uQWN0aW9uRGF0YSYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYsIGNvbnN0IFdURjo6U3RyaW5nJiBmcmFtZU5hbWUsIFJlZlB0cjxXZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHk+LCBBUEk6Ok9iamVjdCogdXNlckRhdGEpIG92ZXJyaWRlOwotICAgICAgICB2
aXJ0dWFsIHZvaWQgZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoV2ViUGFnZVByb3h5KiwgV2ViRnJh
bWVQcm94eSosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmLCBib29sIGNhblNob3dNSU1FVHlwZSwgUmVmUHRyPFdlYkZyYW1l
UG9saWN5TGlzdGVuZXJQcm94eT4sIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkgb3ZlcnJpZGU7Cisg
ICAgICAgIHZpcnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdlYlBh
Z2VQcm94eSYsIFdlYkZyYW1lUHJveHkqIGRlc3RpbmF0aW9uRnJhbWUsIGNvbnN0IE5hdmlnYXRp
b25BY3Rpb25EYXRhJiwgV2ViRnJhbWVQcm94eSogc291cmNlRnJhbWUsIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSZXF1ZXN0LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmLCBSZWY8V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5PiYmLCBBUEk6Ok9iamVj
dCogdXNlckRhdGEpIG92ZXJyaWRlOworICAgICAgICB2aXJ0dWFsIHZvaWQgZGVjaWRlUG9saWN5
Rm9yTmV3V2luZG93QWN0aW9uKFdlYlBhZ2VQcm94eSYsIFdlYkZyYW1lUHJveHkmIHNvdXJjZUZy
YW1lLCBjb25zdCBOYXZpZ2F0aW9uQWN0aW9uRGF0YSYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IFdURjo6U3RyaW5nJiBmcmFtZU5hbWUsIFJlZjxXZWJGcmFtZVBvbGlj
eUxpc3RlbmVyUHJveHk+JiYsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkgb3ZlcnJpZGU7CisgICAg
ICAgIHZpcnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZShXZWJQYWdlUHJveHkmLCBX
ZWJGcmFtZVByb3h5JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGJvb2wgY2FuU2hvd01JTUVUeXBlLCBSZWY8V2ViRnJh
bWVQb2xpY3lMaXN0ZW5lclByb3h5PiYmLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpIG92ZXJyaWRl
OwogCiAgICAgICAgIE5hdmlnYXRpb25TdGF0ZSYgbV9uYXZpZ2F0aW9uU3RhdGU7CiAgICAgfTsK
IAotICAgIGNsYXNzIExvYWRlckNsaWVudCA6IHB1YmxpYyBBUEk6OkxvYWRlckNsaWVudCB7Cisg
ICAgY2xhc3MgTG9hZGVyQ2xpZW50IGZpbmFsIDogcHVibGljIEFQSTo6TG9hZGVyQ2xpZW50IHsK
ICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxpY2l0IExvYWRlckNsaWVudChOYXZpZ2F0aW9uU3Rh
dGUmKTsKICAgICAgICAgfkxvYWRlckNsaWVudCgpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCShyZXZpc2lvbiAxNzg2ODQp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yMjIsNyArMjIyLDcgQEAgTmF2aWdhdGlvblN0YXRlOjpQb2xpY3lD
bGllbnQ6On5Qb2xpY3lDbAogewogfQogCi12b2lkIE5hdmlnYXRpb25TdGF0ZTo6UG9saWN5Q2xp
ZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdlYlBhZ2VQcm94eSosIFdlYkZy
YW1lUHJveHkqIGRlc3RpbmF0aW9uRnJhbWUsIGNvbnN0IE5hdmlnYXRpb25BY3Rpb25EYXRhJiBu
YXZpZ2F0aW9uQWN0aW9uRGF0YSwgV2ViRnJhbWVQcm94eSogc291cmNlRnJhbWUsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSZXF1ZXN0LCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlZlB0cjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJv
eHk+IGxpc3RlbmVyLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpCit2b2lkIE5hdmlnYXRpb25TdGF0
ZTo6UG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdlYlBhZ2VQ
cm94eSYsIFdlYkZyYW1lUHJveHkqIGRlc3RpbmF0aW9uRnJhbWUsIGNvbnN0IE5hdmlnYXRpb25B
Y3Rpb25EYXRhJiBuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgV2ViRnJhbWVQcm94eSogc291cmNlRnJh
bWUsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSZXF1ZXN0LCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlZjxXZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHk+JiYgbGlzdGVuZXIsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkKIHsKICAgICBS
ZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiBuc1VSTFJlcXVlc3QgPSBhZG9wdE5TKHdyYXBwZXIoKkFQ
STo6VVJMUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3QpLmxlYWtSZWYoKSkpOwogCkBAIC0yNjYsMTcg
KzI2NiwxOCBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6UG9saWN5Q2xpZW50OjpkZWNpCiAgICAg
W25hdmlnYXRpb25BY3Rpb24gc2V0UmVxdWVzdDpuc1VSTFJlcXVlc3QuZ2V0KCldOwogICAgIFtu
YXZpZ2F0aW9uQWN0aW9uIF9zZXRPcmlnaW5hbFVSTDpvcmlnaW5hbFJlcXVlc3QudXJsKCldOwog
CisgICAgUmVmUHRyPFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eT4gbG9jYWxMaXN0ZW5lciA9
IFdURjo6bW92ZShsaXN0ZW5lcik7CiAgICAgUmVmUHRyPENvbXBsZXRpb25IYW5kbGVyQ2FsbENo
ZWNrZXI+IGNoZWNrZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUobmF2
aWdhdGlvbkRlbGVnYXRlLmdldCgpLCBAc2VsZWN0b3Iod2ViVmlldzpkZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uQWN0aW9uOmRlY2lzaW9uSGFuZGxlcjopKTsKLSAgICBbbmF2aWdhdGlvbkRlbGVn
YXRlIHdlYlZpZXc6bV9uYXZpZ2F0aW9uU3RhdGUubV93ZWJWaWV3IGRlY2lkZVBvbGljeUZvck5h
dmlnYXRpb25BY3Rpb246bmF2aWdhdGlvbkFjdGlvbi5nZXQoKSBkZWNpc2lvbkhhbmRsZXI6W2xp
c3RlbmVyLCBjaGVja2VyXShXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3kgYWN0aW9uUG9saWN5KSB7
CisgICAgW25hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3Om1fbmF2aWdhdGlvblN0YXRlLm1fd2Vi
VmlldyBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOm5hdmlnYXRpb25BY3Rpb24uZ2V0
KCkgZGVjaXNpb25IYW5kbGVyOltsb2NhbExpc3RlbmVyLCBjaGVja2VyXShXS05hdmlnYXRpb25B
Y3Rpb25Qb2xpY3kgYWN0aW9uUG9saWN5KSB7CiAgICAgICAgIGNoZWNrZXItPmRpZENhbGxDb21w
bGV0aW9uSGFuZGxlcigpOwogCiAgICAgICAgIHN3aXRjaCAoYWN0aW9uUG9saWN5KSB7CiAgICAg
ICAgIGNhc2UgV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5QWxsb3c6Ci0gICAgICAgICAgICBsaXN0
ZW5lci0+dXNlKCk7CisgICAgICAgICAgICBsb2NhbExpc3RlbmVyLT51c2UoKTsKICAgICAgICAg
ICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5Q2FuY2Vs
OgotICAgICAgICAgICAgbGlzdGVuZXItPmlnbm9yZSgpOworICAgICAgICAgICAgbG9jYWxMaXN0
ZW5lci0+aWdub3JlKCk7CiAgICAgICAgICAgICBicmVhazsKIAogLy8gRklYTUU6IE9uY2Ugd2Ug
aGF2ZSBhIG5ldyBlbm91Z2ggY29tcGlsZXIgZXZlcnl3aGVyZSB3ZSBkb24ndCBuZWVkIHRvIGln
bm9yZSAtV3N3aXRjaC4KQEAgLTI4NCwxOCArMjg1LDE4IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRl
OjpQb2xpY3lDbGllbnQ6OmRlY2kKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICIt
V3N3aXRjaCIKICAgICAgICAgY2FzZSBfV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5RG93bmxvYWQ6
CiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCi0gICAgICAgICAgICBsaXN0ZW5lci0+ZG93
bmxvYWQoKTsKKyAgICAgICAgICAgIGxvY2FsTGlzdGVuZXItPmRvd25sb2FkKCk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogICAgIH1dOwogfQogCi12b2lkIE5hdmlnYXRpb25TdGF0
ZTo6UG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24oV2ViUGFnZVBy
b3h5KiB3ZWJQYWdlUHJveHksIFdlYkZyYW1lUHJveHkqIHNvdXJjZUZyYW1lLCBjb25zdCBOYXZp
Z2F0aW9uQWN0aW9uRGF0YSYgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgV1RGOjpTdHJpbmcmIGZyYW1lTmFtZSwgUmVm
UHRyPFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eT4gbGlzdGVuZXIsIEFQSTo6T2JqZWN0KiB1
c2VyRGF0YSkKK3ZvaWQgTmF2aWdhdGlvblN0YXRlOjpQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGlj
eUZvck5ld1dpbmRvd0FjdGlvbihXZWJQYWdlUHJveHkmIHdlYlBhZ2VQcm94eSwgV2ViRnJhbWVQ
cm94eSYgc291cmNlRnJhbWUsIGNvbnN0IE5hdmlnYXRpb25BY3Rpb25EYXRhJiBuYXZpZ2F0aW9u
QWN0aW9uRGF0YSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25z
dCBXVEY6OlN0cmluZyYgZnJhbWVOYW1lLCBSZWY8V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5
PiYmIGxpc3RlbmVyLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpCiB7Ci0gICAgZGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvbih3ZWJQYWdlUHJveHksIG51bGxwdHIsIG5hdmlnYXRpb25BY3Rp
b25EYXRhLCBzb3VyY2VGcmFtZSwgcmVxdWVzdCwgcmVxdWVzdCwgV1RGOjptb3ZlKGxpc3RlbmVy
KSwgdXNlckRhdGEpOworICAgIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24od2ViUGFn
ZVByb3h5LCBudWxscHRyLCBuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgJnNvdXJjZUZyYW1lLCByZXF1
ZXN0LCByZXF1ZXN0LCBXVEY6Om1vdmUobGlzdGVuZXIpLCB1c2VyRGF0YSk7CiB9CiAKLXZvaWQg
TmF2aWdhdGlvblN0YXRlOjpQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZvclJlc3BvbnNlKFdl
YlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqIGZyYW1lLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlJiByZXNvdXJjZVJlc3BvbnNlLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmIHJlc291cmNlUmVxdWVzdCwgYm9vbCBjYW5TaG93TUlNRVR5cGUsIFJlZlB0cjxXZWJGcmFt
ZVBvbGljeUxpc3RlbmVyUHJveHk+IGxpc3RlbmVyLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpCit2
b2lkIE5hdmlnYXRpb25TdGF0ZTo6UG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JSZXNwb25z
ZShXZWJQYWdlUHJveHkmLCBXZWJGcmFtZVByb3h5JiBmcmFtZSwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QsIGJvb2wgY2FuU2hvd01JTUVUeXBlLCBSZWY8V2ViRnJh
bWVQb2xpY3lMaXN0ZW5lclByb3h5PiYmIGxpc3RlbmVyLCBBUEk6Ok9iamVjdCogdXNlckRhdGEp
CiB7CiAgICAgaWYgKCFtX25hdmlnYXRpb25TdGF0ZS5tX25hdmlnYXRpb25EZWxlZ2F0ZU1ldGhv
ZHMud2ViVmlld0RlY2lkZVBvbGljeUZvck5hdmlnYXRpb25SZXNwb25zZURlY2lzaW9uSGFuZGxl
cikgewogICAgICAgICBOU1VSTCAqdXJsID0gcmVzb3VyY2VSZXNwb25zZS5uc1VSTFJlc3BvbnNl
KCkuVVJMOwpAQCAtMzIzLDIyICszMjQsMjMgQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6OlBvbGlj
eUNsaWVudDo6ZGVjaQogCiAgICAgYXV0byBuYXZpZ2F0aW9uUmVzcG9uc2UgPSBhZG9wdE5TKFtb
V0tOYXZpZ2F0aW9uUmVzcG9uc2UgYWxsb2NdIGluaXRdKTsKIAotICAgIG5hdmlnYXRpb25SZXNw
b25zZS0+X2ZyYW1lID0gYWRvcHROUyhbW1dLRnJhbWVJbmZvIGFsbG9jXSBpbml0V2l0aFdlYkZy
YW1lUHJveHk6KmZyYW1lXSk7CisgICAgbmF2aWdhdGlvblJlc3BvbnNlLT5fZnJhbWUgPSBhZG9w
dE5TKFtbV0tGcmFtZUluZm8gYWxsb2NdIGluaXRXaXRoV2ViRnJhbWVQcm94eTpmcmFtZV0pOwog
ICAgIG5hdmlnYXRpb25SZXNwb25zZS0+X3JlcXVlc3QgPSByZXNvdXJjZVJlcXVlc3QubnNVUkxS
ZXF1ZXN0KFdlYkNvcmU6OkRvTm90VXBkYXRlSFRUUEJvZHkpOwogICAgIFtuYXZpZ2F0aW9uUmVz
cG9uc2Ugc2V0UmVzcG9uc2U6cmVzb3VyY2VSZXNwb25zZS5uc1VSTFJlc3BvbnNlKCldOwogICAg
IFtuYXZpZ2F0aW9uUmVzcG9uc2Ugc2V0Q2FuU2hvd01JTUVUeXBlOmNhblNob3dNSU1FVHlwZV07
CiAKKyAgICBSZWZQdHI8V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5PiBsb2NhbExpc3RlbmVy
ID0gV1RGOjptb3ZlKGxpc3RlbmVyKTsKICAgICBSZWZQdHI8Q29tcGxldGlvbkhhbmRsZXJDYWxs
Q2hlY2tlcj4gY2hlY2tlciA9IENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0ZShu
YXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCksIEBzZWxlY3Rvcih3ZWJWaWV3OmRlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25SZXNwb25zZTpkZWNpc2lvbkhhbmRsZXI6KSk7Ci0gICAgW25hdmlnYXRpb25E
ZWxlZ2F0ZSB3ZWJWaWV3Om1fbmF2aWdhdGlvblN0YXRlLm1fd2ViVmlldyBkZWNpZGVQb2xpY3lG
b3JOYXZpZ2F0aW9uUmVzcG9uc2U6bmF2aWdhdGlvblJlc3BvbnNlLmdldCgpIGRlY2lzaW9uSGFu
ZGxlcjpbbGlzdGVuZXIsIGNoZWNrZXJdKFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5IHJlc3Bv
bnNlUG9saWN5KSB7CisgICAgW25hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3Om1fbmF2aWdhdGlv
blN0YXRlLm1fd2ViVmlldyBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2U6bmF2aWdh
dGlvblJlc3BvbnNlLmdldCgpIGRlY2lzaW9uSGFuZGxlcjpbbG9jYWxMaXN0ZW5lciwgY2hlY2tl
cl0oV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3kgcmVzcG9uc2VQb2xpY3kpIHsKICAgICAgICAg
Y2hlY2tlci0+ZGlkQ2FsbENvbXBsZXRpb25IYW5kbGVyKCk7CiAKICAgICAgICAgc3dpdGNoIChy
ZXNwb25zZVBvbGljeSkgewogICAgICAgICBjYXNlIFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5
QWxsb3c6Ci0gICAgICAgICAgICBsaXN0ZW5lci0+dXNlKCk7CisgICAgICAgICAgICBsb2NhbExp
c3RlbmVyLT51c2UoKTsKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgV0tOYXZp
Z2F0aW9uUmVzcG9uc2VQb2xpY3lDYW5jZWw6Ci0gICAgICAgICAgICBsaXN0ZW5lci0+aWdub3Jl
KCk7CisgICAgICAgICAgICBsb2NhbExpc3RlbmVyLT5pZ25vcmUoKTsKICAgICAgICAgICAgIGJy
ZWFrOwogCiAvLyBGSVhNRTogT25jZSB3ZSBoYXZlIGEgbmV3IGVub3VnaCBjb21waWxlciBldmVy
eXdoZXJlIHdlIGRvbid0IG5lZWQgdG8gaWdub3JlIC1Xc3dpdGNoLgpAQCAtMzQ2LDcgKzM0OCw3
IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpQb2xpY3lDbGllbnQ6OmRlY2kKICNwcmFnbWEgY2xh
bmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV3N3aXRjaCIKICAgICAgICAgY2FzZSBfV0tOYXZpZ2F0
aW9uUmVzcG9uc2VQb2xpY3lCZWNvbWVEb3dubG9hZDoKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3Rp
YyBwb3AKLSAgICAgICAgICAgIGxpc3RlbmVyLT5kb3dubG9hZCgpOworICAgICAgICAgICAgbG9j
YWxMaXN0ZW5lci0+ZG93bmxvYWQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAg
ICAgfV07Cg==
</data>
<flag name="review"
          id="269886"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>