<?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>100222</bug_id>
          
          <creation_ts>2012-10-24 03:25:29 -0700</creation_ts>
          <short_desc>[WK2][WTR] Text input controller needs markedRange implementation</short_desc>
          <delta_ts>2014-04-16 10:25:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>42337</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Mariusz Grzegorczyk">mariusz.g</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enrica</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>749502</commentid>
    <comment_count>0</comment_count>
    <who name="Mariusz Grzegorczyk">mariusz.g</who>
    <bug_when>2012-10-24 03:25:29 -0700</bug_when>
    <thetext>Because of missing textInputController.markedRange following tests don&apos;t pass:
editing/input/setting-input-value-cancel-ime-composition.html
platform/mac/editing/input/text-input-controller.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853505</commentid>
    <comment_count>1</comment_count>
      <attachid>192743</attachid>
    <who name="Mariusz Grzegorczyk">mariusz.g</who>
    <bug_when>2013-03-12 08:41:05 -0700</bug_when>
    <thetext>Created attachment 192743
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853542</commentid>
    <comment_count>2</comment_count>
      <attachid>192743</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-12 09:22:05 -0700</bug_when>
    <thetext>Comment on attachment 192743
patch

Attachment 192743 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17115319

New failing tests:
editing/input/setting-input-value-cancel-ime-composition.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853748</commentid>
    <comment_count>3</comment_count>
      <attachid>192743</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-12 13:56:49 -0700</bug_when>
    <thetext>Comment on attachment 192743
patch

Attachment 192743 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17041416

New failing tests:
editing/input/setting-input-value-cancel-ime-composition.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854175</commentid>
    <comment_count>4</comment_count>
      <attachid>192743</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-13 03:38:56 -0700</bug_when>
    <thetext>Comment on attachment 192743
patch

Attachment 192743 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/16996216

New failing tests:
editing/input/setting-input-value-cancel-ime-composition.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854243</commentid>
    <comment_count>5</comment_count>
      <attachid>192911</attachid>
    <who name="Mariusz Grzegorczyk">mariusz.g</who>
    <bug_when>2013-03-13 06:12:39 -0700</bug_when>
    <thetext>Created attachment 192911
fixed html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976986</commentid>
    <comment_count>6</comment_count>
      <attachid>192911</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-05 11:17:50 -0800</bug_when>
    <thetext>Comment on attachment 192911
fixed html

Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192743</attachid>
            <date>2013-03-12 08:41:05 -0700</date>
            <delta_ts>2013-03-13 06:12:39 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug100222.patch</filename>
            <type>text/plain</type>
            <size>19215</size>
            <attacher name="Mariusz Grzegorczyk">mariusz.g</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4M2ZhZTliLi42OGZmYWQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDMt
MTEgIE1hcml1c3ogR3J6ZWdvcmN6eWsgIDxtYXJpdXN6LmdAc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgW1dLMl1bV1RSXSBUZXh0IGlucHV0IGNvbnRyb2xsZXIgbmVlZHMgbWFya2VkUmFuZ2UgaW1w
bGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMDIyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZWRpdGluZy9pbnB1dC9zZXR0aW5nLWlucHV0LXZhbHVlLWNhbmNlbC1pbWUtY29tcG9z
aXRpb24uaHRtbDogTW92ZSBjb2RlIGZvciBjaGVja2luZyBvZiBtYXJrZWQgdGV4dCBpbnRvIHRp
bWVyIGJlY2F1c2Ugb2YgYXN5bmNocm9ub3VzIG1lc3NhZ2VzIGJldHdlZW4gVUkgYW5kIFdlYlBy
b2Nlc3MuCisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6IFJlbW92ZSBz
ZXR0aW5nLWlucHV0LXZhbHVlLWNhbmNlbC1pbWUtY29tcG9zaXRpb24uaHRtbCBmcm9tIGZhaWxp
bmcgdGVzdHMuCisKIDIwMTMtMDMtMTIgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVzb3VyY2VTY3JpcHRGaWxlIGRpdmVy
Z2VkIHN0YXRlIHNob3VsZCBiZSBjb3JyZWN0bHkgcmVzZXQgYWZ0ZXIgZGVidWdnZXIgcmVzZXQu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3NldHRpbmctaW5wdXQtdmFs
dWUtY2FuY2VsLWltZS1jb21wb3NpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1
dC9zZXR0aW5nLWlucHV0LXZhbHVlLWNhbmNlbC1pbWUtY29tcG9zaXRpb24uaHRtbAppbmRleCBi
MGExYWU2Li4zMDlmZTIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3Nl
dHRpbmctaW5wdXQtdmFsdWUtY2FuY2VsLWltZS1jb21wb3NpdGlvbi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvaW5wdXQvc2V0dGluZy1pbnB1dC12YWx1ZS1jYW5jZWwtaW1lLWNvbXBv
c2l0aW9uLmh0bWwKQEAgLTE2LDYgKzE2LDE2IEBAIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKSB7CiAg
ICAgZG9jdW1lbnQud3JpdGVsbihtZXNzYWdlKTsKIH0KIAorZnVuY3Rpb24gY2hlY2tNYXJrZWRU
ZXh0KCkKK3sKKyAgICBpZiAodGV4dElucHV0Q29udHJvbGxlci5oYXNNYXJrZWRUZXh0KCkpCisg
ICAgICAgIGxvZygnRkFJTDogbWFya2VkIHRleHQgc3RpbGwgZXhpc3RzJyk7CisgICAgZWxzZQor
ICAgICAgICBsb2coJ1BBU1MnKTsKKworICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQor
CiBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgIHRlc3QuZm9jdXMoKTsKICAgICB0ZXN0LnNlbGVj
dGlvblN0YXJ0ID0gMDsKQEAgLTI5LDEwICszOSw4IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAK
ICAgICBldmVudFNlbmRlci5rZXlEb3duKCdkb3duQXJyb3cnKTsKIAotICAgIGlmICh0ZXh0SW5w
dXRDb250cm9sbGVyLmhhc01hcmtlZFRleHQoKSkKLSAgICAgICAgcmV0dXJuIGxvZygnRkFJTDog
bWFya2VkIHRleHQgc3RpbGwgZXhpc3RzJyk7Ci0KLSAgICBsb2coJ1BBU1MnKTsKKyAgICB3aW5k
b3cuc2V0VGltZW91dChjaGVja01hcmtlZFRleHQsIDApOworICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwogfQogCiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYjVmNjg2NC4uNzkyNzI4NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzOCw3ICsxMzgsNiBA
QCBmYXN0L2xvYWRlci9yZWN1cnNpdmUtYmVmb3JlLXVubG9hZC1jcmFzaC5odG1sCiAKICMgV2Vi
S2l0VGVzdFJ1bm5lciBuZWVkcyB0ZXh0SW5wdXRDb250cm9sbGVyCiAjIDxodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIzMzc+Ci1lZGl0aW5nL2lucHV0L3NldHRpbmct
aW5wdXQtdmFsdWUtY2FuY2VsLWltZS1jb21wb3NpdGlvbi5odG1sCiBzdmcvdGV4dC9jYXJldC1p
bi1zdmctdGV4dC54aHRtbAogZWRpdGluZy9pbnNlcnRpbmcvY2FyZXQtcG9zaXRpb24uaHRtbAog
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1iYWNrc3BhY2UtYmV0d2Vlbi1saW5lcy5odG1sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggN2M1MDkwNi4uMTM5MjIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBA
CisyMDEzLTAzLTExICBNYXJpdXN6IEdyemVnb3JjenlrICA8bWFyaXVzei5nQHNhbXN1bmcuY29t
PgorCisgICAgICAgIFtXSzJdW1dUUl0gVGV4dCBpbnB1dCBjb250cm9sbGVyIG5lZWRzIG1hcmtl
ZFJhbmdlIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDAyMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiBnZXR0aW5nIHNlbGVjdGVkIHJhbmdlIGZy
b20gd2VicGFnZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbTogTWFr
ZSB1bmltcGxlbWVudGVkLgorICAgICAgICAoLVtXS1ZpZXcgaGFzTWFya2VkVGV4dF0pOgorICAg
ICAgICAoLVtXS1ZpZXcgbWFya2VkUmFuZ2VdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcDogSW1wbGVtZW50YXRpb24gbW92ZWQgZnJvbSBNYWMgcG9ydCB0byBjb21tb24g
cGxhY2UuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Z2V0TWFya2VkUmFuZ2UpOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6Cisg
ICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViVmlldy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OnVwZGF0ZVRleHRJbnB1dFN0YXRlKTogSW52
b2tlIG1pc3NpbmcgY2FuY2VsIGNvbXBvc2l0aW9uIHdoZW4gdGhlcmUgaXMgbm8gSU1GLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcDoKKyAgICAgICAgKFdL
QnVuZGxlUGFnZU1hcmtlZFJhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Om1hcmtlZFJhbmdl
KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmdldE1hcmtl
ZFJhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAg
ICAoV2ViUGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2Fn
ZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tOgor
CiAyMDEzLTAzLTEyICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50
ZWwuY29tPgogCiAgICAgICAgIFtXSzJdW0VGTF0gRml4IEV3a0NvbnRleHQgY2xhc3MgQVBJCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KaW5kZXggZGNhZmZmZi4u
OWQzZDJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQpA
QCAtMTQ4MiwxMiArMTQ4Miw4IEBAIHN0YXRpYyBjb25zdCBzaG9ydCBrSU9ISURFdmVudFR5cGVT
Y3JvbGwgPSA2OwogICAgICAgICAgICAgW3NlbGYgX2V4ZWN1dGVTYXZlZEtleXByZXNzQ29tbWFu
ZHNdOwogICAgICAgICAgICAgcmVzdWx0ID0gX2RhdGEtPl9wYWdlLT5lZGl0b3JTdGF0ZSgpLmhh
c0NvbXBvc2l0aW9uOwogICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdWludDY0X3Qg
bG9jYXRpb247Ci0gICAgICAgIHVpbnQ2NF90IGxlbmd0aDsKLSAgICAgICAgX2RhdGEtPl9wYWdl
LT5nZXRNYXJrZWRSYW5nZShsb2NhdGlvbiwgbGVuZ3RoKTsKLSAgICAgICAgcmVzdWx0ID0gbG9j
YXRpb24gIT0gTlNOb3RGb3VuZDsKLSAgICB9CisgICAgfSBlbHNlCisgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIExPRyhUZXh0SW5wdXQsICJoYXNNYXJrZWRUZXh0IC0+ICV1IiwgcmVzdWx0
KTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTU5NiwxNCArMTU5Miw4IEBAIHN0YXRpYyB2b2lk
IGV4dHJhY3RVbmRlcmxpbmVzKE5TQXR0cmlidXRlZFN0cmluZyAqc3RyaW5nLCBWZWN0b3I8Q29t
cG9zaXRpb25VbmRlCiAKIC0gKE5TUmFuZ2UpbWFya2VkUmFuZ2UKIHsKLSAgICBbc2VsZiBfZXhl
Y3V0ZVNhdmVkS2V5cHJlc3NDb21tYW5kc107Ci0KLSAgICB1aW50NjRfdCBsb2NhdGlvbjsKLSAg
ICB1aW50NjRfdCBsZW5ndGg7Ci0gICAgX2RhdGEtPl9wYWdlLT5nZXRNYXJrZWRSYW5nZShsb2Nh
dGlvbiwgbGVuZ3RoKTsKLQotICAgIExPRyhUZXh0SW5wdXQsICJtYXJrZWRSYW5nZSAtPiAoJXUs
ICV1KSIsIGxvY2F0aW9uLCBsZW5ndGgpOwotICAgIHJldHVybiBOU01ha2VSYW5nZShsb2NhdGlv
biwgbGVuZ3RoKTsKKyAgICAvLyBOb3QgaW1wbGVtZW50ZWQKKyAgICByZXR1cm4gTlNNYWtlUmFu
Z2UoMCwgMCk7CiB9CiAKIC0gKE5TQXR0cmlidXRlZFN0cmluZyAqKWF0dHJpYnV0ZWRTdWJzdHJp
bmdGb3JQcm9wb3NlZFJhbmdlOihOU1JhbmdlKW5zUmFuZ2UgYWN0dWFsUmFuZ2U6KE5TUmFuZ2VQ
b2ludGVyKWFjdHVhbFJhbmdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCmluZGV4IGQxMDY3YmEuLmMxNWIyMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCkBAIC0yMDEwLDYgKzIwMTAsMTkgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmdldE1haW5SZXNvdXJjZURhdGFPZkZyYW1lKFdlYkZyYW1lUHJveHkqIGZyYW1lLCBQYXNzUmVm
UHRyPEQKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkdldE1haW5SZXNv
dXJjZURhdGFPZkZyYW1lKGZyYW1lLT5mcmFtZUlEKCksIGNhbGxiYWNrSUQpLCBtX3BhZ2VJRCk7
CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpnZXRNYXJrZWRSYW5nZShQYXNzUmVmUHRyPERhdGFD
YWxsYmFjaz4gcHJwQ2FsbGJhY2spCit7CisgICAgUmVmUHRyPERhdGFDYWxsYmFjaz4gY2FsbGJh
Y2sgPSBwcnBDYWxsYmFjazsKKyAgICBpZiAoIWlzVmFsaWQoKSkgeworICAgICAgICBjYWxsYmFj
ay0+aW52YWxpZGF0ZSgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdWludDY0X3Qg
Y2FsbGJhY2tJRCA9IGNhbGxiYWNrLT5jYWxsYmFja0lEKCk7CisgICAgbV9kYXRhQ2FsbGJhY2tz
LnNldChjYWxsYmFja0lELCBjYWxsYmFjay5nZXQoKSk7CisgICAgbV9wcm9jZXNzLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlOjpHZXRNYXJrZWRSYW5nZShjYWxsYmFja0lEKSwgbV9wYWdlSUQpOwor
fQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6Z2V0UmVzb3VyY2VEYXRhRnJvbUZyYW1lKFdlYkZyYW1l
UHJveHkqIGZyYW1lLCBXZWJVUkwqIHJlc291cmNlVVJMLCBQYXNzUmVmUHRyPERhdGFDYWxsYmFj
az4gcHJwQ2FsbGJhY2spCiB7CiAgICAgUmVmUHRyPERhdGFDYWxsYmFjaz4gY2FsbGJhY2sgPSBw
cnBDYWxsYmFjazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA2
MGFhOWY2Li4zODRjMzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CkBAIC0zOTQsNyArMzk0LDYgQEAgcHVibGljOgogICAgIHZvaWQgY2FuY2VsQ29tcG9zaXRpb24o
KTsKICAgICBib29sIGluc2VydFRleHQoY29uc3QgU3RyaW5nJiB0ZXh0LCB1aW50NjRfdCByZXBs
YWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQpOwogICAgIGJv
b2wgaW5zZXJ0RGljdGF0ZWRUZXh0KGNvbnN0IFN0cmluZyYgdGV4dCwgdWludDY0X3QgcmVwbGFj
ZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kLCBjb25zdCBWZWN0
b3I8V2ViQ29yZTo6VGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlPiYgZGljdGF0aW9uQWx0ZXJuYXRp
dmVzKTsKLSAgICB2b2lkIGdldE1hcmtlZFJhbmdlKHVpbnQ2NF90JiBsb2NhdGlvbiwgdWludDY0
X3QmIGxlbmd0aCk7CiAgICAgdm9pZCBnZXRTZWxlY3RlZFJhbmdlKHVpbnQ2NF90JiBsb2NhdGlv
biwgdWludDY0X3QmIGxlbmd0aCk7CiAgICAgdm9pZCBnZXRBdHRyaWJ1dGVkU3Vic3RyaW5nRnJv
bVJhbmdlKHVpbnQ2NF90IGxvY2F0aW9uLCB1aW50NjRfdCBsZW5ndGgsIEF0dHJpYnV0ZWRTdHJp
bmcmKTsKICAgICB1aW50NjRfdCBjaGFyYWN0ZXJJbmRleEZvclBvaW50KGNvbnN0IFdlYkNvcmU6
OkludFBvaW50KTsKQEAgLTU1Nyw2ICs1NTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXRDb250
ZW50c0FzTUhUTUxEYXRhKFBhc3NSZWZQdHI8RGF0YUNhbGxiYWNrPiwgYm9vbCB1c2VCaW5hcnlF
bmNvZGluZyk7CiAjZW5kaWYKICAgICB2b2lkIGdldE1haW5SZXNvdXJjZURhdGFPZkZyYW1lKFdl
YkZyYW1lUHJveHkqLCBQYXNzUmVmUHRyPERhdGFDYWxsYmFjaz4pOworICAgIHZvaWQgZ2V0TWFy
a2VkUmFuZ2UoUGFzc1JlZlB0cjxEYXRhQ2FsbGJhY2s+KTsKICAgICB2b2lkIGdldFJlc291cmNl
RGF0YUZyb21GcmFtZShXZWJGcmFtZVByb3h5KiwgV2ViVVJMKiwgUGFzc1JlZlB0cjxEYXRhQ2Fs
bGJhY2s+KTsKICAgICB2b2lkIGdldFJlbmRlclRyZWVFeHRlcm5hbFJlcHJlc2VudGF0aW9uKFBh
c3NSZWZQdHI8U3RyaW5nQ2FsbGJhY2s+KTsKICAgICB2b2lkIGdldFNlbGVjdGlvbk9yQ29udGVu
dHNBc1N0cmluZyhQYXNzUmVmUHRyPFN0cmluZ0NhbGxiYWNrPik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9XZWJWaWV3LmNwcAppbmRleCA1YzJiM2JhLi44MWFhZmUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAKQEAgLTQ0OCw2ICs0NDgsOCBAQCB2b2lk
IFdlYlZpZXc6OnVwZGF0ZVRleHRJbnB1dFN0YXRlKCkKICAgICBJbnB1dE1ldGhvZENvbnRleHRF
ZmwqIGlucHV0TWV0aG9kQ29udGV4dCA9IG1fZXdrVmlldy0+aW5wdXRNZXRob2RDb250ZXh0KCk7
CiAgICAgaWYgKGlucHV0TWV0aG9kQ29udGV4dCkKICAgICAgICAgaW5wdXRNZXRob2RDb250ZXh0
LT51cGRhdGVUZXh0SW5wdXRTdGF0ZSgpOworICAgIGVsc2UgaWYgKG1fcGFnZS0+ZWRpdG9yU3Rh
dGUoKS5oYXNDb21wb3NpdGlvbikKKyAgICAgICAgbV9wYWdlLT5jYW5jZWxDb21wb3NpdGlvbigp
OwogfQogCiB2b2lkIFdlYlZpZXc6OmhhbmRsZURvd25sb2FkUmVxdWVzdChEb3dubG9hZFByb3h5
KiBkb3dubG9hZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2Vi
UGFnZVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJv
eHlNYWMubW0KaW5kZXggODBjMTU3ZC4uNzA2ZjgzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KQEAgLTIyOCwxNyArMjI4LDYgQEAgYm9v
bCBXZWJQYWdlUHJveHk6Omluc2VydERpY3RhdGVkVGV4dChjb25zdCBTdHJpbmcmIHRleHQsIHVp
bnQ2NF90IHJlcGxhY2VtZW50UmEKICNlbmRpZgogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6Z2V0
TWFya2VkUmFuZ2UodWludDY0X3QmIGxvY2F0aW9uLCB1aW50NjRfdCYgbGVuZ3RoKQotewotICAg
IGxvY2F0aW9uID0gTlNOb3RGb3VuZDsKLSAgICBsZW5ndGggPSAwOwotCi0gICAgaWYgKCFpc1Zh
bGlkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIHByb2Nlc3MoKS0+c2VuZFN5bmMoTWVzc2Fn
ZXM6OldlYlBhZ2U6OkdldE1hcmtlZFJhbmdlKCksIE1lc3NhZ2VzOjpXZWJQYWdlOjpHZXRNYXJr
ZWRSYW5nZTo6UmVwbHkobG9jYXRpb24sIGxlbmd0aCksIG1fcGFnZUlEKTsKLX0KLQogdm9pZCBX
ZWJQYWdlUHJveHk6OmdldFNlbGVjdGVkUmFuZ2UodWludDY0X3QmIGxvY2F0aW9uLCB1aW50NjRf
dCYgbGVuZ3RoKQogewogICAgIGxvY2F0aW9uID0gTlNOb3RGb3VuZDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlLmNwcAppbmRleCA3MDE2MzVmLi44MTFmMTZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1
bmRsZVBhZ2UuY3BwCkBAIC00NDUsNiArNDQ1LDExIEBAIFdLQXJyYXlSZWYgV0tCdW5kbGVQYWdl
Q29weVRyYWNrZWRSZXBhaW50UmVjdHMoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiAgICAgcmV0
dXJuIHRvQVBJKHRvSW1wbChwYWdlUmVmKS0+dHJhY2tlZFJlcGFpbnRSZWN0cygpLmxlYWtSZWYo
KSk7CiB9CiAKK3ZvaWQgV0tCdW5kbGVQYWdlTWFya2VkUmFuZ2UoV0tCdW5kbGVQYWdlUmVmIHBh
Z2VSZWYsIHNpemVfdCYgbG9jYXRpb24sIHNpemVfdCYgbGVuZ3RoKQoreworICAgIHRvSW1wbChw
YWdlUmVmKS0+bWFya2VkUmFuZ2UobG9jYXRpb24sIGxlbmd0aCk7Cit9CisKIHZvaWQgV0tCdW5k
bGVQYWdlU2V0Q29tcG9zaXRpb24oV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5nUmVm
IHRleHQsIGludCBmcm9tLCBpbnQgbGVuZ3RoKQogewogICAgIHRvSW1wbChwYWdlUmVmKS0+c2V0
Q29tcG9zaXRpb25Gb3JUZXN0aW5nKHRvV1RGU3RyaW5nKHRleHQpLCBmcm9tLCBsZW5ndGgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAppbmRleCAwNmJiMDRhLi42NTI3
N2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaApAQCAtNjcsNiAr
NjcsOCBAQCBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZVBhZ2VJc1RyYWNraW5nUmVwYWludHMoV0tC
dW5kbGVQYWdlUmVmIHBhZ2UpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlUmVzZXRUcmFj
a2VkUmVwYWludHMoV0tCdW5kbGVQYWdlUmVmIHBhZ2UpOwogV0tfRVhQT1JUIFdLQXJyYXlSZWYg
V0tCdW5kbGVQYWdlQ29weVRyYWNrZWRSZXBhaW50UmVjdHMoV0tCdW5kbGVQYWdlUmVmIHBhZ2Up
OwogCitXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVBhZ2VNYXJrZWRSYW5nZShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZVJlZiwgc2l6ZV90JiBsb2NhdGlvbiwgc2l6ZV90JiBsZW5ndGgpOworCiBXS19FWFBP
UlQgdm9pZCBXS0J1bmRsZVBhZ2VTZXRDb21wb3NpdGlvbihXS0J1bmRsZVBhZ2VSZWYgcGFnZSwg
V0tTdHJpbmdSZWYgdGV4dCwgaW50IGZyb20sIGludCBsZW5ndGgpOwogV0tfRVhQT1JUIGJvb2wg
V0tCdW5kbGVQYWdlSGFzQ29tcG9zaXRpb24oV0tCdW5kbGVQYWdlUmVmIHBhZ2UpOwogV0tfRVhQ
T1JUIHZvaWQgV0tCdW5kbGVQYWdlQ29uZmlybUNvbXBvc2l0aW9uKFdLQnVuZGxlUGFnZVJlZiBw
YWdlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApp
bmRleCBmOTdkZjYwLi44M2E4NjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zNTEwLDYgKzM1MTAsMzEgQEAgdm9pZCBXZWJQYWdlOjpz
aW11bGF0ZU1vdXNlTW90aW9uKFdlYkNvcmU6OkludFBvaW50IHBvc2l0aW9uLCBkb3VibGUgdGlt
ZSkKICAgICBtb3VzZUV2ZW50KFdlYk1vdXNlRXZlbnQoV2ViTW91c2VFdmVudDo6TW91c2VNb3Zl
LCBXZWJNb3VzZUV2ZW50OjpOb0J1dHRvbiwgcG9zaXRpb24sIHBvc2l0aW9uLCAwLCAwLCAwLCAw
LCBXZWJNb3VzZUV2ZW50OjpNb2RpZmllcnMoKSwgdGltZSkpOwogfQogCit2b2lkIFdlYlBhZ2U6
Om1hcmtlZFJhbmdlKHNpemVfdCYgbG9jYXRpb24sIHNpemVfdCYgbGVuZ3RoKQoreworICAgIGxv
Y2F0aW9uID0gV1RGOjpub3RGb3VuZDsKKyAgICBsZW5ndGggPSAwOworICAgIEZyYW1lKiBmcmFt
ZSA9IG1fcGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1haW5GcmFtZSgpOworICAg
IGlmICghZnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2Ug
PSBmcmFtZS0+ZWRpdG9yKCktPmNvbXBvc2l0aW9uUmFuZ2UoKTsKKyAgICBpZiAocmFuZ2UpCisg
ICAgICAgIFRleHRJdGVyYXRvcjo6Z2V0TG9jYXRpb25BbmRMZW5ndGhGcm9tUmFuZ2UoZnJhbWUt
PnNlbGVjdGlvbigpLT5yb290RWRpdGFibGVFbGVtZW50T3JEb2N1bWVudEVsZW1lbnQoKSwgcmFu
Z2UuZ2V0KCksIGxvY2F0aW9uLCBsZW5ndGgpOworfQorCit2b2lkIFdlYlBhZ2U6OmdldE1hcmtl
ZFJhbmdlKHVpbnQ2NF90IGNhbGxiYWNrSUQpCit7CisgICAgc2l6ZV90IGxvY2F0aW9uLCBsZW5n
dGg7CisgICAgbWFya2VkUmFuZ2UobG9jYXRpb24sIGxlbmd0aCk7CisKKyAgICBSZWZQdHI8U2hh
cmVkQnVmZmVyPiBidWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZWludGVycHJldF9jYXN0
PGNoYXIqPigmbG9jYXRpb24pLCBzaXplb2YobG9jYXRpb24pKTsKKyAgICBidWZmZXItPmFwcGVu
ZChyZWludGVycHJldF9jYXN0PGNoYXIqPigmbGVuZ3RoKSwgc2l6ZW9mKGxlbmd0aCkpOworCisg
ICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhUmVmZXJlbmNlID0gQ29yZUlQQzo6RGF0YVJl
ZmVyZW5jZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihidWZmZXItPmRhdGEoKSks
IGJ1ZmZlci0+c2l6ZSgpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRhdGFD
YWxsYmFjayhkYXRhUmVmZXJlbmNlLCBjYWxsYmFja0lEKSk7Cit9CisKIHZvaWQgV2ViUGFnZTo6
c2V0Q29tcG9zaXRpb25Gb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYgY29tcG9zaXRpb25TdHJpbmcs
IHVpbnQ2NF90IGZyb20sIHVpbnQ2NF90IGxlbmd0aCkKIHsKICAgICBGcmFtZSogZnJhbWUgPSBt
X3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDNkZmFlZDkuLmFjMGQ1
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAt
NDYxLDcgKzQ2MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbmZpcm1Db21wb3NpdGlvbihFZGl0
b3JTdGF0ZSYgbmV3U3RhdGUpOwogICAgIHZvaWQgY2FuY2VsQ29tcG9zaXRpb24oRWRpdG9yU3Rh
dGUmIG5ld1N0YXRlKTsKICAgICB2b2lkIGluc2VydFRleHQoY29uc3QgU3RyaW5nJiB0ZXh0LCB1
aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VF
bmQsIGJvb2wmIGhhbmRsZWQsIEVkaXRvclN0YXRlJiBuZXdTdGF0ZSk7Ci0gICAgdm9pZCBnZXRN
YXJrZWRSYW5nZSh1aW50NjRfdCYgbG9jYXRpb24sIHVpbnQ2NF90JiBsZW5ndGgpOwogICAgIHZv
aWQgZ2V0U2VsZWN0ZWRSYW5nZSh1aW50NjRfdCYgbG9jYXRpb24sIHVpbnQ2NF90JiBsZW5ndGgp
OwogICAgIHZvaWQgZ2V0QXR0cmlidXRlZFN1YnN0cmluZ0Zyb21SYW5nZSh1aW50NjRfdCBsb2Nh
dGlvbiwgdWludDY0X3QgbGVuZ3RoLCBBdHRyaWJ1dGVkU3RyaW5nJik7CiAgICAgdm9pZCBjaGFy
YWN0ZXJJbmRleEZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50IHBvaW50LCB1aW50NjRf
dCYgcmVzdWx0KTsKQEAgLTQ4OCw2ICs0ODcsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVB
Y2Nlc3NpYmlsaXR5VHJlZSgpOwogI2VuZGlmCiAKKyAgICB2b2lkIGdldE1hcmtlZFJhbmdlKHVp
bnQ2NF90IGNhbGxiYWNrSUQpOworICAgIHZvaWQgbWFya2VkUmFuZ2Uoc2l6ZV90JiBsb2NhdGlv
biwgc2l6ZV90JiBsZW5ndGgpOworCiAgICAgdm9pZCBzZXRDb21wb3NpdGlvbkZvclRlc3Rpbmco
Y29uc3QgU3RyaW5nJiBjb21wb3NpdGlvblN0cmluZywgdWludDY0X3QgZnJvbSwgdWludDY0X3Qg
bGVuZ3RoKTsKICAgICBib29sIGhhc0NvbXBvc2l0aW9uRm9yVGVzdGluZygpOwogICAgIHZvaWQg
Y29uZmlybUNvbXBvc2l0aW9uRm9yVGVzdGluZyhjb25zdCBTdHJpbmcmIGNvbXBvc2l0aW9uU3Ry
aW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KaW5kZXggZjJlNjU1Mi4uZGFlMzhmZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTEw
NCw2ICsxMDQsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBH
ZXRXZWJBcmNoaXZlT2ZGcmFtZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBjYWxsYmFja0lE
KQogICAgIFJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZShXVEY6OlN0cmluZyBzY3JpcHQsIHVpbnQ2
NF90IGNhbGxiYWNrSUQpCiAgICAgRm9yY2VSZXBhaW50KHVpbnQ2NF90IGNhbGxiYWNrSUQpCisg
ICAgR2V0TWFya2VkUmFuZ2UodWludDY0X3QgY2FsbGJhY2tJRCkKIAogI2lmIFBMQVRGT1JNKE1B
QykKICAgICAjIERpY3Rpb25hcnkgc3VwcG9ydC4KQEAgLTI3Myw3ICsyNzQsNiBAQCBtZXNzYWdl
cyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBDb25maXJtQ29tcG9zaXRpb24oKSAt
PiAoV2ViS2l0OjpFZGl0b3JTdGF0ZSBuZXdTdGF0ZSkKICAgICBDYW5jZWxDb21wb3NpdGlvbigp
IC0+IChXZWJLaXQ6OkVkaXRvclN0YXRlIG5ld1N0YXRlKQogICAgIEluc2VydFRleHQoV1RGOjpT
dHJpbmcgdGV4dCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBs
YWNlbWVudFJhbmdlRW5kKSAtPiAoYm9vbCBoYW5kbGVkLCBXZWJLaXQ6OkVkaXRvclN0YXRlIG5l
d1N0YXRlKQotICAgIEdldE1hcmtlZFJhbmdlKCkgLT4gKHVpbnQ2NF90IGxvY2F0aW9uLCB1aW50
NjRfdCBsZW5ndGgpCiAgICAgR2V0U2VsZWN0ZWRSYW5nZSgpIC0+ICh1aW50NjRfdCBsb2NhdGlv
biwgdWludDY0X3QgbGVuZ3RoKQogICAgIEdldEF0dHJpYnV0ZWRTdWJzdHJpbmdGcm9tUmFuZ2Uo
dWludDY0X3QgbG9jYXRpb24sIHVpbnQ2NF90IGxlbmd0aCkgLT4gKFdlYktpdDo6QXR0cmlidXRl
ZFN0cmluZyByZXN1bHQpCiAgICAgQ2hhcmFjdGVySW5kZXhGb3JQb2ludChXZWJDb3JlOjpJbnRQ
b2ludCBwb2ludCkgLT4gKHVpbnQ2NF90IHJlc3VsdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCA3ODM4ODBiLi4wNzk3
ZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dl
YlBhZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
ZWJQYWdlTWFjLm1tCkBAIC0zMTgsMjMgKzMxOCw2IEBAIHZvaWQgV2ViUGFnZTo6aW5zZXJ0RGlj
dGF0ZWRUZXh0KGNvbnN0IFN0cmluZyYgdGV4dCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0
CiAgICAgbmV3U3RhdGUgPSBlZGl0b3JTdGF0ZSgpOwogfQogCi12b2lkIFdlYlBhZ2U6OmdldE1h
cmtlZFJhbmdlKHVpbnQ2NF90JiBsb2NhdGlvbiwgdWludDY0X3QmIGxlbmd0aCkKLXsKLSAgICBs
b2NhdGlvbiA9IE5TTm90Rm91bmQ7Ci0gICAgbGVuZ3RoID0gMDsKLSAgICBGcmFtZSogZnJhbWUg
PSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKLSAgICBp
ZiAoIWZyYW1lKQotICAgICAgICByZXR1cm47Ci0KLSAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlID0g
ZnJhbWUtPmVkaXRvcigpLT5jb21wb3NpdGlvblJhbmdlKCk7Ci0gICAgc2l6ZV90IGxvY2F0aW9u
U2l6ZTsKLSAgICBzaXplX3QgbGVuZ3RoU2l6ZTsKLSAgICBpZiAocmFuZ2UgJiYgVGV4dEl0ZXJh
dG9yOjpnZXRMb2NhdGlvbkFuZExlbmd0aEZyb21SYW5nZShmcmFtZS0+c2VsZWN0aW9uKCktPnJv
b3RFZGl0YWJsZUVsZW1lbnRPckRvY3VtZW50RWxlbWVudCgpLCByYW5nZS5nZXQoKSwgbG9jYXRp
b25TaXplLCBsZW5ndGhTaXplKSkgewotICAgICAgICBsb2NhdGlvbiA9IHN0YXRpY19jYXN0PHVp
bnQ2NF90Pihsb2NhdGlvblNpemUpOwotICAgICAgICBsZW5ndGggPSBzdGF0aWNfY2FzdDx1aW50
NjRfdD4obGVuZ3RoU2l6ZSk7Ci0gICAgfQotfQotCiB2b2lkIFdlYlBhZ2U6OmdldFNlbGVjdGVk
UmFuZ2UodWludDY0X3QmIGxvY2F0aW9uLCB1aW50NjRfdCYgbGVuZ3RoKQogewogICAgIGxvY2F0
aW9uID0gTlNOb3RGb3VuZDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCA0ZjcyZGY3Li5hMmVjYjZlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDMtMTEgIE1h
cml1c3ogR3J6ZWdvcmN6eWsgIDxtYXJpdXN6LmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dL
Ml1bV1RSXSBUZXh0IGlucHV0IGNvbnRyb2xsZXIgbmVlZHMgbWFya2VkUmFuZ2UgaW1wbGVtZW50
YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MDIyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERl
Y2xhcmF0aW9uIGFuZCBpbXBsZW1lbnRhdGlvbiBvZiBtYXJrZWRSYW5nZSBmdW5jdGlvbiBpbiBU
ZXh0SW5wdXRDb250cm9sbGVyLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9CaW5kaW5ncy9UZXh0SW5wdXRDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1RleHRJbnB1dENvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV1RSOjpUZXh0SW5wdXRDb250cm9sbGVyOjptYXJrZWRSYW5nZSk6CisgICAgICAgIChX
VFIpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGV4dElucHV0
Q29udHJvbGxlci5oOgorICAgICAgICAoVGV4dElucHV0Q29udHJvbGxlcik6CisKIDIwMTMtMDMt
MTIgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtd
IEVuYWJsZSBXZWIgQXVkaW8gaW4gZGV2ZWxvcG1lbnQgYnVpbGRzCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1RleHRJbnB1dENvbnRy
b2xsZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5n
cy9UZXh0SW5wdXRDb250cm9sbGVyLmlkbAppbmRleCAwMzk5ODhhLi42MDU0ZGI1IDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1RleHRJ
bnB1dENvbnRyb2xsZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvVGV4dElucHV0Q29udHJvbGxlci5pZGwKQEAgLTI4LDUgKzI4LDYgQEAg
aW50ZXJmYWNlIFRleHRJbnB1dENvbnRyb2xsZXIgewogICAgIGJvb2xlYW4gaGFzTWFya2VkVGV4
dCgpOwogICAgIHZvaWQgdW5tYXJrVGV4dCgpOwogICAgIHZvaWQgaW5zZXJ0VGV4dChpbiBET01T
dHJpbmcgc3RyaW5nKTsKKyAgICBvYmplY3QgbWFya2VkUmFuZ2UoKTsKIH07CiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGV4dElucHV0Q29udHJv
bGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1RleHRJbnB1
dENvbnRyb2xsZXIuY3BwCmluZGV4IDAwODdhYTMuLjkzN2M5YmMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGV4dElucHV0Q29udHJvbGxlci5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXh0SW5wdXRDb250
cm9sbGVyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlUGFn
ZS5oIgogI2luY2x1ZGUgIkpTVGV4dElucHV0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlN0cmlu
Z0Z1bmN0aW9ucy5oIgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVGcmFtZS5oPgogI2luY2x1
ZGUgPFdlYktpdDIvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oPgogCiBuYW1lc3BhY2UgV1RSIHsKQEAg
LTc3LDQgKzc4LDIxIEBAIHZvaWQgVGV4dElucHV0Q29udHJvbGxlcjo6aW5zZXJ0VGV4dChKU1N0
cmluZ1JlZiB0ZXh0KQogICAgIFdLQnVuZGxlUGFnZUNvbmZpcm1Db21wb3NpdGlvbldpdGhUZXh0
KEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlKCktPnBhZ2UoKSwgdG9XSyh0ZXh0KS5nZXQo
KSk7CiB9CiAKK0pTVmFsdWVSZWYgVGV4dElucHV0Q29udHJvbGxlcjo6bWFya2VkUmFuZ2UoKQor
eworICAgIHNpemVfdCBzdGFydCwgbGVuZ3RoOworICAgIFdLQnVuZGxlUGFnZVJlZiBwYWdlID0g
SW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2UoKS0+cGFnZSgpOworICAgIFdLQnVuZGxlRnJh
bWVSZWYgbWFpbkZyYW1lID0gV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKHBhZ2UpOworICAgIEpT
Q29udGV4dFJlZiBjb250ZXh0ID0gV0tCdW5kbGVGcmFtZUdldEphdmFTY3JpcHRDb250ZXh0KG1h
aW5GcmFtZSk7CisKKyAgICBXS0J1bmRsZVBhZ2VNYXJrZWRSYW5nZShwYWdlLCBzdGFydCwgbGVu
Z3RoKTsKKyAgICBpZiAoc3RhcnQgPT0gV1RGOjpub3RGb3VuZCkKKyAgICAgICAgcmV0dXJuIEpT
VmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworCisgICAgSlNWYWx1ZVJlZiBhcnJheVZhbHVl
c1syXTsKKyAgICBhcnJheVZhbHVlc1swXSA9IEpTVmFsdWVNYWtlTnVtYmVyKGNvbnRleHQsIHN0
YXJ0KTsKKyAgICBhcnJheVZhbHVlc1sxXSA9IEpTVmFsdWVNYWtlTnVtYmVyKGNvbnRleHQsIGxl
bmd0aCk7CisgICAgcmV0dXJuIEpTT2JqZWN0TWFrZUFycmF5KGNvbnRleHQsIDIsIGFycmF5VmFs
dWVzLCAwKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1RleHRJbnB1dENvbnRyb2xsZXIuaCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGV4dElucHV0Q29udHJvbGxlci5oCmlu
ZGV4IDcxYTA0MzcuLjY4OTU4YmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGV4dElucHV0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGV4dElucHV0Q29udHJvbGxlci5oCkBAIC00NSw2ICs0
NSw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc01hcmtlZFRleHQoKTsKICAgICB2b2lkIHVubWFy
a1RleHQoKTsKICAgICB2b2lkIGluc2VydFRleHQoSlNTdHJpbmdSZWYgdGV4dCk7CisgICAgSlNW
YWx1ZVJlZiBtYXJrZWRSYW5nZSgpOwogCiBwcml2YXRlOgogICAgIFRleHRJbnB1dENvbnRyb2xs
ZXIoKTsK
</data>
<flag name="commit-queue"
          id="214079"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192911</attachid>
            <date>2013-03-13 06:12:39 -0700</date>
            <delta_ts>2014-02-05 11:17:50 -0800</delta_ts>
            <desc>fixed html</desc>
            <filename>bug100222.patch</filename>
            <type>text/plain</type>
            <size>19996</size>
            <attacher name="Mariusz Grzegorczyk">mariusz.g</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4M2ZhZTliLi42OGZmYWQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDMt
MTEgIE1hcml1c3ogR3J6ZWdvcmN6eWsgIDxtYXJpdXN6LmdAc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgW1dLMl1bV1RSXSBUZXh0IGlucHV0IGNvbnRyb2xsZXIgbmVlZHMgbWFya2VkUmFuZ2UgaW1w
bGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMDIyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZWRpdGluZy9pbnB1dC9zZXR0aW5nLWlucHV0LXZhbHVlLWNhbmNlbC1pbWUtY29tcG9z
aXRpb24uaHRtbDogTW92ZSBjb2RlIGZvciBjaGVja2luZyBvZiBtYXJrZWQgdGV4dCBpbnRvIHRp
bWVyIGJlY2F1c2Ugb2YgYXN5bmNocm9ub3VzIG1lc3NhZ2VzIGJldHdlZW4gVUkgYW5kIFdlYlBy
b2Nlc3MuCisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6IFJlbW92ZSBz
ZXR0aW5nLWlucHV0LXZhbHVlLWNhbmNlbC1pbWUtY29tcG9zaXRpb24uaHRtbCBmcm9tIGZhaWxp
bmcgdGVzdHMuCisKIDIwMTMtMDMtMTIgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVzb3VyY2VTY3JpcHRGaWxlIGRpdmVy
Z2VkIHN0YXRlIHNob3VsZCBiZSBjb3JyZWN0bHkgcmVzZXQgYWZ0ZXIgZGVidWdnZXIgcmVzZXQu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3NldHRpbmctaW5wdXQtdmFs
dWUtY2FuY2VsLWltZS1jb21wb3NpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1
dC9zZXR0aW5nLWlucHV0LXZhbHVlLWNhbmNlbC1pbWUtY29tcG9zaXRpb24uaHRtbAppbmRleCBi
MGExYWU2Li43ZWRkYzI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3Nl
dHRpbmctaW5wdXQtdmFsdWUtY2FuY2VsLWltZS1jb21wb3NpdGlvbi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvaW5wdXQvc2V0dGluZy1pbnB1dC12YWx1ZS1jYW5jZWwtaW1lLWNvbXBv
c2l0aW9uLmh0bWwKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJv
ZHk+Ci08cD5UaGlzIHRlc3QgZW5zdXJlcyBXZWJLaXQgY2xlYXJzIElNRSBjb21wb3NpdGlvbiBp
bnNpZGUgYW4gaW5wdXQgZWxlbWVudCB3aGVuIHRoZSB2YWx1ZSBpcyBwcm9ncmFtbWF0aWNhbGx5
IHNldC4gVG8gbWFudWFsbHkgdGVzdCwgdHlwZSBpbiAibmloYW8iIHVzaW5nIENoaW5lc2UgSU1F
IGFuZCB0aGVuIHByZXNzIHRoZSBkb3duIGFycm93IGtleS4gVGhlIHRleHQgbXVzdCBiZSByZXBs
YWNlZCBieSAiaGVuaGFvIiB3aXRob3V0IGNvbXBvc2l0aW9uIG1hcmtlci48L3A+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBlbnN1cmVzIFdlYktpdCBjbGVhcnMgSU1FIGNvbXBvc2l0
aW9uIGluc2lkZSBhbiBpbnB1dCBlbGVtZW50IHdoZW4gdGhlIHZhbHVlIGlzIHByb2dyYW1tYXRp
Y2FsbHkgc2V0LiBUbyBtYW51YWxseSB0ZXN0LCB0eXBlIGluICJuaWhhbyIgdXNpbmcgQ2hpbmVz
ZSBJTUUgYW5kIHRoZW4gcHJlc3MgdGhlIGRvd24gYXJyb3cga2V5LiBUaGUgdGV4dCBtdXN0IGJl
IHJlcGxhY2VkIGJ5ICJoZW5oYW8iIHdpdGhvdXQgY29tcG9zaXRpb24gbWFya2VyLjwvcD4KIDxp
bnB1dCBpZD0idGVzdCIgdHlwZT0idGV4dCI+CiA8c2NyaXB0PgogCkBAIC0xNiw2ICsxNiwxOSBA
QCBmdW5jdGlvbiBsb2cobWVzc2FnZSkgewogICAgIGRvY3VtZW50LndyaXRlbG4obWVzc2FnZSk7
CiB9CiAKK2Z1bmN0aW9uIGNoZWNrTWFya2VkVGV4dCgpCit7CisgICAgdmFyIHJlc3VsdDsKKwor
ICAgIGlmICh0ZXh0SW5wdXRDb250cm9sbGVyLmhhc01hcmtlZFRleHQoKSkKKyAgICAgICAgcmVz
dWx0ID0gJ0ZBSUw6IG1hcmtlZCB0ZXh0IHN0aWxsIGV4aXN0cyc7CisgICAgZWxzZQorICAgICAg
ICByZXN1bHQgPSAnUEFTUyc7CisKKyAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlwdGlvbiIpLmlubmVyVGV4dCArICJcblxuIiArIHJl
c3VsdDsKKyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKwogZnVuY3Rpb24gcnVuVGVz
dCgpIHsKICAgICB0ZXN0LmZvY3VzKCk7CiAgICAgdGVzdC5zZWxlY3Rpb25TdGFydCA9IDA7CkBA
IC0yOSwxMCArNDIsOCBAQCBmdW5jdGlvbiBydW5UZXN0KCkgewogCiAgICAgZXZlbnRTZW5kZXIu
a2V5RG93bignZG93bkFycm93Jyk7CiAKLSAgICBpZiAodGV4dElucHV0Q29udHJvbGxlci5oYXNN
YXJrZWRUZXh0KCkpCi0gICAgICAgIHJldHVybiBsb2coJ0ZBSUw6IG1hcmtlZCB0ZXh0IHN0aWxs
IGV4aXN0cycpOwotCi0gICAgbG9nKCdQQVNTJyk7CisgICAgd2luZG93LnNldFRpbWVvdXQoY2hl
Y2tNYXJrZWRUZXh0LCAwKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIAog
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGI1ZjY4NjQuLjc5MjcyODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzgsNyArMTM4LDYgQEAgZmFzdC9sb2FkZXIvcmVj
dXJzaXZlLWJlZm9yZS11bmxvYWQtY3Jhc2guaHRtbAogCiAjIFdlYktpdFRlc3RSdW5uZXIgbmVl
ZHMgdGV4dElucHV0Q29udHJvbGxlcgogIyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQyMzM3PgotZWRpdGluZy9pbnB1dC9zZXR0aW5nLWlucHV0LXZhbHVlLWNhbmNl
bC1pbWUtY29tcG9zaXRpb24uaHRtbAogc3ZnL3RleHQvY2FyZXQtaW4tc3ZnLXRleHQueGh0bWwK
IGVkaXRpbmcvaW5zZXJ0aW5nL2NhcmV0LXBvc2l0aW9uLmh0bWwKIGVkaXRpbmcvc3BlbGxpbmcv
c3BlbGxpbmctYmFja3NwYWNlLWJldHdlZW4tbGluZXMuaHRtbApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDdjNTA5
MDYuLjEzOTIyMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMy0wMy0xMSAgTWFy
aXVzeiBHcnplZ29yY3p5ayAgPG1hcml1c3ouZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbV0sy
XVtXVFJdIFRleHQgaW5wdXQgY29udHJvbGxlciBuZWVkcyBtYXJrZWRSYW5nZSBpbXBsZW1lbnRh
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAw
MjIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1w
bGVtZW50YXRpb24gb2YgZ2V0dGluZyBzZWxlY3RlZCByYW5nZSBmcm9tIHdlYnBhZ2UuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06IE1ha2UgdW5pbXBsZW1lbnRlZC4K
KyAgICAgICAgKC1bV0tWaWV3IGhhc01hcmtlZFRleHRdKToKKyAgICAgICAgKC1bV0tWaWV3IG1h
cmtlZFJhbmdlXSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6IEltcGxl
bWVudGF0aW9uIG1vdmVkIGZyb20gTWFjIHBvcnQgdG8gY29tbW9uIHBsYWNlLgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmdldE1hcmtlZFJhbmdlKToKKyAgICAgICAgKFdlYktpdCk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViUGFnZVBy
b3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJWaWV3Ojp1cGRhdGVUZXh0SW5wdXRTdGF0ZSk6IEludm9rZSBtaXNzaW5nIGNhbmNl
bCBjb21wb3NpdGlvbiB3aGVuIHRoZXJlIGlzIG5vIElNRi4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
bWFjL1dlYlBhZ2VQcm94eU1hYy5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6CisgICAgICAgIChXS0J1bmRsZVBhZ2VNYXJrZWRS
YW5nZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVBhZ2VQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjptYXJrZWRSYW5nZSk6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpnZXRNYXJrZWRSYW5nZSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYlBhZ2UpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKwogMjAxMy0wMy0xMiAgTWlr
aGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAg
ICBbV0syXVtFRkxdIEZpeCBFd2tDb250ZXh0IGNsYXNzIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCmluZGV4IGRjYWZmZmYuLjlkM2QyZTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KQEAgLTE0ODIsMTIgKzE0ODIs
OCBAQCBzdGF0aWMgY29uc3Qgc2hvcnQga0lPSElERXZlbnRUeXBlU2Nyb2xsID0gNjsKICAgICAg
ICAgICAgIFtzZWxmIF9leGVjdXRlU2F2ZWRLZXlwcmVzc0NvbW1hbmRzXTsKICAgICAgICAgICAg
IHJlc3VsdCA9IF9kYXRhLT5fcGFnZS0+ZWRpdG9yU3RhdGUoKS5oYXNDb21wb3NpdGlvbjsKICAg
ICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIHVpbnQ2NF90IGxvY2F0aW9uOwotICAgICAg
ICB1aW50NjRfdCBsZW5ndGg7Ci0gICAgICAgIF9kYXRhLT5fcGFnZS0+Z2V0TWFya2VkUmFuZ2Uo
bG9jYXRpb24sIGxlbmd0aCk7Ci0gICAgICAgIHJlc3VsdCA9IGxvY2F0aW9uICE9IE5TTm90Rm91
bmQ7Ci0gICAgfQorICAgIH0gZWxzZQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBMT0co
VGV4dElucHV0LCAiaGFzTWFya2VkVGV4dCAtPiAldSIsIHJlc3VsdCk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKQEAgLTE1OTYsMTQgKzE1OTIsOCBAQCBzdGF0aWMgdm9pZCBleHRyYWN0VW5kZXJsaW5l
cyhOU0F0dHJpYnV0ZWRTdHJpbmcgKnN0cmluZywgVmVjdG9yPENvbXBvc2l0aW9uVW5kZQogCiAt
IChOU1JhbmdlKW1hcmtlZFJhbmdlCiB7Ci0gICAgW3NlbGYgX2V4ZWN1dGVTYXZlZEtleXByZXNz
Q29tbWFuZHNdOwotCi0gICAgdWludDY0X3QgbG9jYXRpb247Ci0gICAgdWludDY0X3QgbGVuZ3Ro
OwotICAgIF9kYXRhLT5fcGFnZS0+Z2V0TWFya2VkUmFuZ2UobG9jYXRpb24sIGxlbmd0aCk7Ci0K
LSAgICBMT0coVGV4dElucHV0LCAibWFya2VkUmFuZ2UgLT4gKCV1LCAldSkiLCBsb2NhdGlvbiwg
bGVuZ3RoKTsKLSAgICByZXR1cm4gTlNNYWtlUmFuZ2UobG9jYXRpb24sIGxlbmd0aCk7CisgICAg
Ly8gTm90IGltcGxlbWVudGVkCisgICAgcmV0dXJuIE5TTWFrZVJhbmdlKDAsIDApOwogfQogCiAt
IChOU0F0dHJpYnV0ZWRTdHJpbmcgKilhdHRyaWJ1dGVkU3Vic3RyaW5nRm9yUHJvcG9zZWRSYW5n
ZTooTlNSYW5nZSluc1JhbmdlIGFjdHVhbFJhbmdlOihOU1JhbmdlUG9pbnRlcilhY3R1YWxSYW5n
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBkMTA2N2Jh
Li5jMTViMjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApA
QCAtMjAxMCw2ICsyMDEwLDE5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpnZXRNYWluUmVzb3VyY2VE
YXRhT2ZGcmFtZShXZWJGcmFtZVByb3h5KiBmcmFtZSwgUGFzc1JlZlB0cjxECiAgICAgbV9wcm9j
ZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpHZXRNYWluUmVzb3VyY2VEYXRhT2ZGcmFtZShm
cmFtZS0+ZnJhbWVJRCgpLCBjYWxsYmFja0lEKSwgbV9wYWdlSUQpOwogfQogCit2b2lkIFdlYlBh
Z2VQcm94eTo6Z2V0TWFya2VkUmFuZ2UoUGFzc1JlZlB0cjxEYXRhQ2FsbGJhY2s+IHBycENhbGxi
YWNrKQoreworICAgIFJlZlB0cjxEYXRhQ2FsbGJhY2s+IGNhbGxiYWNrID0gcHJwQ2FsbGJhY2s7
CisgICAgaWYgKCFpc1ZhbGlkKCkpIHsKKyAgICAgICAgY2FsbGJhY2stPmludmFsaWRhdGUoKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBjYWxs
YmFjay0+Y2FsbGJhY2tJRCgpOworICAgIG1fZGF0YUNhbGxiYWNrcy5zZXQoY2FsbGJhY2tJRCwg
Y2FsbGJhY2suZ2V0KCkpOworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
R2V0TWFya2VkUmFuZ2UoY2FsbGJhY2tJRCksIG1fcGFnZUlEKTsKK30KKwogdm9pZCBXZWJQYWdl
UHJveHk6OmdldFJlc291cmNlRGF0YUZyb21GcmFtZShXZWJGcmFtZVByb3h5KiBmcmFtZSwgV2Vi
VVJMKiByZXNvdXJjZVVSTCwgUGFzc1JlZlB0cjxEYXRhQ2FsbGJhY2s+IHBycENhbGxiYWNrKQog
ewogICAgIFJlZlB0cjxEYXRhQ2FsbGJhY2s+IGNhbGxiYWNrID0gcHJwQ2FsbGJhY2s7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNjBhYTlmNi4uMzg0YzM1ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMzk0LDcgKzM5NCw2
IEBAIHB1YmxpYzoKICAgICB2b2lkIGNhbmNlbENvbXBvc2l0aW9uKCk7CiAgICAgYm9vbCBpbnNl
cnRUZXh0KGNvbnN0IFN0cmluZyYgdGV4dCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0
LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKTsKICAgICBib29sIGluc2VydERpY3RhdGVk
VGV4dChjb25zdCBTdHJpbmcmIHRleHQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VTdGFydCwg
dWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OlRleHRB
bHRlcm5hdGl2ZVdpdGhSYW5nZT4mIGRpY3RhdGlvbkFsdGVybmF0aXZlcyk7Ci0gICAgdm9pZCBn
ZXRNYXJrZWRSYW5nZSh1aW50NjRfdCYgbG9jYXRpb24sIHVpbnQ2NF90JiBsZW5ndGgpOwogICAg
IHZvaWQgZ2V0U2VsZWN0ZWRSYW5nZSh1aW50NjRfdCYgbG9jYXRpb24sIHVpbnQ2NF90JiBsZW5n
dGgpOwogICAgIHZvaWQgZ2V0QXR0cmlidXRlZFN1YnN0cmluZ0Zyb21SYW5nZSh1aW50NjRfdCBs
b2NhdGlvbiwgdWludDY0X3QgbGVuZ3RoLCBBdHRyaWJ1dGVkU3RyaW5nJik7CiAgICAgdWludDY0
X3QgY2hhcmFjdGVySW5kZXhGb3JQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCk7CkBAIC01
NTcsNiArNTU2LDcgQEAgcHVibGljOgogICAgIHZvaWQgZ2V0Q29udGVudHNBc01IVE1MRGF0YShQ
YXNzUmVmUHRyPERhdGFDYWxsYmFjaz4sIGJvb2wgdXNlQmluYXJ5RW5jb2RpbmcpOwogI2VuZGlm
CiAgICAgdm9pZCBnZXRNYWluUmVzb3VyY2VEYXRhT2ZGcmFtZShXZWJGcmFtZVByb3h5KiwgUGFz
c1JlZlB0cjxEYXRhQ2FsbGJhY2s+KTsKKyAgICB2b2lkIGdldE1hcmtlZFJhbmdlKFBhc3NSZWZQ
dHI8RGF0YUNhbGxiYWNrPik7CiAgICAgdm9pZCBnZXRSZXNvdXJjZURhdGFGcm9tRnJhbWUoV2Vi
RnJhbWVQcm94eSosIFdlYlVSTCosIFBhc3NSZWZQdHI8RGF0YUNhbGxiYWNrPik7CiAgICAgdm9p
ZCBnZXRSZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNlbnRhdGlvbihQYXNzUmVmUHRyPFN0cmluZ0Nh
bGxiYWNrPik7CiAgICAgdm9pZCBnZXRTZWxlY3Rpb25PckNvbnRlbnRzQXNTdHJpbmcoUGFzc1Jl
ZlB0cjxTdHJpbmdDYWxsYmFjaz4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmll
dy5jcHAKaW5kZXggNWMyYjNiYS4uODFhYWZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
ZWZsL1dlYlZpZXcuY3BwCkBAIC00NDgsNiArNDQ4LDggQEAgdm9pZCBXZWJWaWV3Ojp1cGRhdGVU
ZXh0SW5wdXRTdGF0ZSgpCiAgICAgSW5wdXRNZXRob2RDb250ZXh0RWZsKiBpbnB1dE1ldGhvZENv
bnRleHQgPSBtX2V3a1ZpZXctPmlucHV0TWV0aG9kQ29udGV4dCgpOwogICAgIGlmIChpbnB1dE1l
dGhvZENvbnRleHQpCiAgICAgICAgIGlucHV0TWV0aG9kQ29udGV4dC0+dXBkYXRlVGV4dElucHV0
U3RhdGUoKTsKKyAgICBlbHNlIGlmIChtX3BhZ2UtPmVkaXRvclN0YXRlKCkuaGFzQ29tcG9zaXRp
b24pCisgICAgICAgIG1fcGFnZS0+Y2FuY2VsQ29tcG9zaXRpb24oKTsKIH0KIAogdm9pZCBXZWJW
aWV3OjpoYW5kbGVEb3dubG9hZFJlcXVlc3QoRG93bmxvYWRQcm94eSogZG93bmxvYWQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCmluZGV4IDgw
YzE1N2QuLjcwNmY4MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
V2ViUGFnZVByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2Vi
UGFnZVByb3h5TWFjLm1tCkBAIC0yMjgsMTcgKzIyOCw2IEBAIGJvb2wgV2ViUGFnZVByb3h5Ojpp
bnNlcnREaWN0YXRlZFRleHQoY29uc3QgU3RyaW5nJiB0ZXh0LCB1aW50NjRfdCByZXBsYWNlbWVu
dFJhCiAjZW5kaWYKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmdldE1hcmtlZFJhbmdlKHVpbnQ2
NF90JiBsb2NhdGlvbiwgdWludDY0X3QmIGxlbmd0aCkKLXsKLSAgICBsb2NhdGlvbiA9IE5TTm90
Rm91bmQ7Ci0gICAgbGVuZ3RoID0gMDsKLQotICAgIGlmICghaXNWYWxpZCgpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBwcm9jZXNzKCktPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlOjpHZXRN
YXJrZWRSYW5nZSgpLCBNZXNzYWdlczo6V2ViUGFnZTo6R2V0TWFya2VkUmFuZ2U6OlJlcGx5KGxv
Y2F0aW9uLCBsZW5ndGgpLCBtX3BhZ2VJRCk7Ci19Ci0KIHZvaWQgV2ViUGFnZVByb3h5OjpnZXRT
ZWxlY3RlZFJhbmdlKHVpbnQ2NF90JiBsb2NhdGlvbiwgdWludDY0X3QmIGxlbmd0aCkKIHsKICAg
ICBsb2NhdGlvbiA9IE5TTm90Rm91bmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKaW5k
ZXggNzAxNjM1Zi4uODExZjE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcApAQCAt
NDQ1LDYgKzQ0NSwxMSBAQCBXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlUcmFja2VkUmVwYWlu
dFJlY3RzKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQogICAgIHJldHVybiB0b0FQSSh0b0ltcGwo
cGFnZVJlZiktPnRyYWNrZWRSZXBhaW50UmVjdHMoKS5sZWFrUmVmKCkpOwogfQogCit2b2lkIFdL
QnVuZGxlUGFnZU1hcmtlZFJhbmdlKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBzaXplX3QmIGxv
Y2F0aW9uLCBzaXplX3QmIGxlbmd0aCkKK3sKKyAgICB0b0ltcGwocGFnZVJlZiktPm1hcmtlZFJh
bmdlKGxvY2F0aW9uLCBsZW5ndGgpOworfQorCiB2b2lkIFdLQnVuZGxlUGFnZVNldENvbXBvc2l0
aW9uKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBXS1N0cmluZ1JlZiB0ZXh0LCBpbnQgZnJvbSwg
aW50IGxlbmd0aCkKIHsKICAgICB0b0ltcGwocGFnZVJlZiktPnNldENvbXBvc2l0aW9uRm9yVGVz
dGluZyh0b1dURlN0cmluZyh0ZXh0KSwgZnJvbSwgbGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJp
dmF0ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZVBhZ2VQcml2YXRlLmgKaW5kZXggMDZiYjA0YS4uNjUyNzdmZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBh
Z2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgKQEAgLTY3LDYgKzY3LDggQEAgV0tfRVhQT1JU
IGJvb2wgV0tCdW5kbGVQYWdlSXNUcmFja2luZ1JlcGFpbnRzKFdLQnVuZGxlUGFnZVJlZiBwYWdl
KTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFnZVJlc2V0VHJhY2tlZFJlcGFpbnRzKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlKTsKIFdLX0VYUE9SVCBXS0FycmF5UmVmIFdLQnVuZGxlUGFnZUNvcHlU
cmFja2VkUmVwYWludFJlY3RzKFdLQnVuZGxlUGFnZVJlZiBwYWdlKTsKIAorV0tfRVhQT1JUIHZv
aWQgV0tCdW5kbGVQYWdlTWFya2VkUmFuZ2UoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIHNpemVf
dCYgbG9jYXRpb24sIHNpemVfdCYgbGVuZ3RoKTsKKwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQ
YWdlU2V0Q29tcG9zaXRpb24oV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHRleHQs
IGludCBmcm9tLCBpbnQgbGVuZ3RoKTsKIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlUGFnZUhhc0Nv
bXBvc2l0aW9uKFdLQnVuZGxlUGFnZVJlZiBwYWdlKTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxl
UGFnZUNvbmZpcm1Db21wb3NpdGlvbihXS0J1bmRsZVBhZ2VSZWYgcGFnZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZjk3ZGY2MC4uODNh
ODY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtMzUxMCw2ICszNTEwLDMxIEBAIHZvaWQgV2ViUGFnZTo6c2ltdWxhdGVNb3VzZU1vdGlv
bihXZWJDb3JlOjpJbnRQb2ludCBwb3NpdGlvbiwgZG91YmxlIHRpbWUpCiAgICAgbW91c2VFdmVu
dChXZWJNb3VzZUV2ZW50KFdlYk1vdXNlRXZlbnQ6Ok1vdXNlTW92ZSwgV2ViTW91c2VFdmVudDo6
Tm9CdXR0b24sIHBvc2l0aW9uLCBwb3NpdGlvbiwgMCwgMCwgMCwgMCwgV2ViTW91c2VFdmVudDo6
TW9kaWZpZXJzKCksIHRpbWUpKTsKIH0KIAordm9pZCBXZWJQYWdlOjptYXJrZWRSYW5nZShzaXpl
X3QmIGxvY2F0aW9uLCBzaXplX3QmIGxlbmd0aCkKK3sKKyAgICBsb2NhdGlvbiA9IFdURjo6bm90
Rm91bmQ7CisgICAgbGVuZ3RoID0gMDsKKyAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmZvY3Vz
Q29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lKQorICAg
ICAgICByZXR1cm47CisKKyAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlID0gZnJhbWUtPmVkaXRvcigp
LT5jb21wb3NpdGlvblJhbmdlKCk7CisgICAgaWYgKHJhbmdlKQorICAgICAgICBUZXh0SXRlcmF0
b3I6OmdldExvY2F0aW9uQW5kTGVuZ3RoRnJvbVJhbmdlKGZyYW1lLT5zZWxlY3Rpb24oKS0+cm9v
dEVkaXRhYmxlRWxlbWVudE9yRG9jdW1lbnRFbGVtZW50KCksIHJhbmdlLmdldCgpLCBsb2NhdGlv
biwgbGVuZ3RoKTsKK30KKwordm9pZCBXZWJQYWdlOjpnZXRNYXJrZWRSYW5nZSh1aW50NjRfdCBj
YWxsYmFja0lEKQoreworICAgIHNpemVfdCBsb2NhdGlvbiwgbGVuZ3RoOworICAgIG1hcmtlZFJh
bmdlKGxvY2F0aW9uLCBsZW5ndGgpOworCisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVy
ID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oJmxvY2F0aW9u
KSwgc2l6ZW9mKGxvY2F0aW9uKSk7CisgICAgYnVmZmVyLT5hcHBlbmQocmVpbnRlcnByZXRfY2Fz
dDxjaGFyKj4oJmxlbmd0aCksIHNpemVvZihsZW5ndGgpKTsKKworICAgIENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2UgZGF0YVJlZmVyZW5jZSA9IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPnNpemUoKSk7
CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEYXRhQ2FsbGJhY2soZGF0YVJlZmVy
ZW5jZSwgY2FsbGJhY2tJRCkpOworfQorCiB2b2lkIFdlYlBhZ2U6OnNldENvbXBvc2l0aW9uRm9y
VGVzdGluZyhjb25zdCBTdHJpbmcmIGNvbXBvc2l0aW9uU3RyaW5nLCB1aW50NjRfdCBmcm9tLCB1
aW50NjRfdCBsZW5ndGgpCiB7CiAgICAgRnJhbWUqIGZyYW1lID0gbV9wYWdlLT5mb2N1c0NvbnRy
b2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAzZGZhZWQ5Li5hYzBkNWE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTQ2MSw3ICs0NjEsNiBAQCBw
dWJsaWM6CiAgICAgdm9pZCBjb25maXJtQ29tcG9zaXRpb24oRWRpdG9yU3RhdGUmIG5ld1N0YXRl
KTsKICAgICB2b2lkIGNhbmNlbENvbXBvc2l0aW9uKEVkaXRvclN0YXRlJiBuZXdTdGF0ZSk7CiAg
ICAgdm9pZCBpbnNlcnRUZXh0KGNvbnN0IFN0cmluZyYgdGV4dCwgdWludDY0X3QgcmVwbGFjZW1l
bnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kLCBib29sJiBoYW5kbGVk
LCBFZGl0b3JTdGF0ZSYgbmV3U3RhdGUpOwotICAgIHZvaWQgZ2V0TWFya2VkUmFuZ2UodWludDY0
X3QmIGxvY2F0aW9uLCB1aW50NjRfdCYgbGVuZ3RoKTsKICAgICB2b2lkIGdldFNlbGVjdGVkUmFu
Z2UodWludDY0X3QmIGxvY2F0aW9uLCB1aW50NjRfdCYgbGVuZ3RoKTsKICAgICB2b2lkIGdldEF0
dHJpYnV0ZWRTdWJzdHJpbmdGcm9tUmFuZ2UodWludDY0X3QgbG9jYXRpb24sIHVpbnQ2NF90IGxl
bmd0aCwgQXR0cmlidXRlZFN0cmluZyYpOwogICAgIHZvaWQgY2hhcmFjdGVySW5kZXhGb3JQb2lu
dChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCBwb2ludCwgdWludDY0X3QmIHJlc3VsdCk7CkBAIC00
ODgsNiArNDg3LDkgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlQWNjZXNzaWJpbGl0eVRyZWUo
KTsKICNlbmRpZgogCisgICAgdm9pZCBnZXRNYXJrZWRSYW5nZSh1aW50NjRfdCBjYWxsYmFja0lE
KTsKKyAgICB2b2lkIG1hcmtlZFJhbmdlKHNpemVfdCYgbG9jYXRpb24sIHNpemVfdCYgbGVuZ3Ro
KTsKKwogICAgIHZvaWQgc2V0Q29tcG9zaXRpb25Gb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYgY29t
cG9zaXRpb25TdHJpbmcsIHVpbnQ2NF90IGZyb20sIHVpbnQ2NF90IGxlbmd0aCk7CiAgICAgYm9v
bCBoYXNDb21wb3NpdGlvbkZvclRlc3RpbmcoKTsKICAgICB2b2lkIGNvbmZpcm1Db21wb3NpdGlv
bkZvclRlc3RpbmcoY29uc3QgU3RyaW5nJiBjb21wb3NpdGlvblN0cmluZyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmlu
ZGV4IGYyZTY1NTIuLmRhZTM4ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0xMDQsNiArMTA0LDcgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgR2V0V2ViQXJjaGl2ZU9mRnJh
bWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBSdW5KYXZhU2Ny
aXB0SW5NYWluRnJhbWUoV1RGOjpTdHJpbmcgc2NyaXB0LCB1aW50NjRfdCBjYWxsYmFja0lEKQog
ICAgIEZvcmNlUmVwYWludCh1aW50NjRfdCBjYWxsYmFja0lEKQorICAgIEdldE1hcmtlZFJhbmdl
KHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgIyBEaWN0aW9u
YXJ5IHN1cHBvcnQuCkBAIC0yNzMsNyArMjc0LDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdh
Y3lSZWNlaXZlciB7CiAgICAgQ29uZmlybUNvbXBvc2l0aW9uKCkgLT4gKFdlYktpdDo6RWRpdG9y
U3RhdGUgbmV3U3RhdGUpCiAgICAgQ2FuY2VsQ29tcG9zaXRpb24oKSAtPiAoV2ViS2l0OjpFZGl0
b3JTdGF0ZSBuZXdTdGF0ZSkKICAgICBJbnNlcnRUZXh0KFdURjo6U3RyaW5nIHRleHQsIHVpbnQ2
NF90IHJlcGxhY2VtZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCkg
LT4gKGJvb2wgaGFuZGxlZCwgV2ViS2l0OjpFZGl0b3JTdGF0ZSBuZXdTdGF0ZSkKLSAgICBHZXRN
YXJrZWRSYW5nZSgpIC0+ICh1aW50NjRfdCBsb2NhdGlvbiwgdWludDY0X3QgbGVuZ3RoKQogICAg
IEdldFNlbGVjdGVkUmFuZ2UoKSAtPiAodWludDY0X3QgbG9jYXRpb24sIHVpbnQ2NF90IGxlbmd0
aCkKICAgICBHZXRBdHRyaWJ1dGVkU3Vic3RyaW5nRnJvbVJhbmdlKHVpbnQ2NF90IGxvY2F0aW9u
LCB1aW50NjRfdCBsZW5ndGgpIC0+IChXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcgcmVzdWx0KQog
ICAgIENoYXJhY3RlckluZGV4Rm9yUG9pbnQoV2ViQ29yZTo6SW50UG9pbnQgcG9pbnQpIC0+ICh1
aW50NjRfdCByZXN1bHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dlYlBhZ2VNYWMubW0KaW5kZXggNzgzODgwYi4uMDc5N2ZiYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQpAQCAt
MzE4LDIzICszMTgsNiBAQCB2b2lkIFdlYlBhZ2U6Omluc2VydERpY3RhdGVkVGV4dChjb25zdCBT
dHJpbmcmIHRleHQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VTdAogICAgIG5ld1N0YXRlID0g
ZWRpdG9yU3RhdGUoKTsKIH0KIAotdm9pZCBXZWJQYWdlOjpnZXRNYXJrZWRSYW5nZSh1aW50NjRf
dCYgbG9jYXRpb24sIHVpbnQ2NF90JiBsZW5ndGgpCi17Ci0gICAgbG9jYXRpb24gPSBOU05vdEZv
dW5kOwotICAgIGxlbmd0aCA9IDA7Ci0gICAgRnJhbWUqIGZyYW1lID0gbV9wYWdlLT5mb2N1c0Nv
bnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7Ci0gICAgaWYgKCFmcmFtZSkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgUmVmUHRyPFJhbmdlPiByYW5nZSA9IGZyYW1lLT5lZGl0b3IoKS0+
Y29tcG9zaXRpb25SYW5nZSgpOwotICAgIHNpemVfdCBsb2NhdGlvblNpemU7Ci0gICAgc2l6ZV90
IGxlbmd0aFNpemU7Ci0gICAgaWYgKHJhbmdlICYmIFRleHRJdGVyYXRvcjo6Z2V0TG9jYXRpb25B
bmRMZW5ndGhGcm9tUmFuZ2UoZnJhbWUtPnNlbGVjdGlvbigpLT5yb290RWRpdGFibGVFbGVtZW50
T3JEb2N1bWVudEVsZW1lbnQoKSwgcmFuZ2UuZ2V0KCksIGxvY2F0aW9uU2l6ZSwgbGVuZ3RoU2l6
ZSkpIHsKLSAgICAgICAgbG9jYXRpb24gPSBzdGF0aWNfY2FzdDx1aW50NjRfdD4obG9jYXRpb25T
aXplKTsKLSAgICAgICAgbGVuZ3RoID0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGxlbmd0aFNpemUp
OwotICAgIH0KLX0KLQogdm9pZCBXZWJQYWdlOjpnZXRTZWxlY3RlZFJhbmdlKHVpbnQ2NF90JiBs
b2NhdGlvbiwgdWludDY0X3QmIGxlbmd0aCkKIHsKICAgICBsb2NhdGlvbiA9IE5TTm90Rm91bmQ7
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNGY3
MmRmNy4uYTJlY2I2ZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAzLTExICBNYXJpdXN6IEdyemVnb3Jjenlr
ICA8bWFyaXVzei5nQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dUUl0gVGV4dCBpbnB1
dCBjb250cm9sbGVyIG5lZWRzIG1hcmtlZFJhbmdlIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAyMjIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWNsYXJhdGlvbiBhbmQgaW1w
bGVtZW50YXRpb24gb2YgbWFya2VkUmFuZ2UgZnVuY3Rpb24gaW4gVGV4dElucHV0Q29udHJvbGxl
ci4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
VGV4dElucHV0Q29udHJvbGxlci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXh0SW5wdXRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGV4dElu
cHV0Q29udHJvbGxlcjo6bWFya2VkUmFuZ2UpOgorICAgICAgICAoV1RSKToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1RleHRJbnB1dENvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKFRleHRJbnB1dENvbnRyb2xsZXIpOgorCiAyMDEzLTAzLTEyICBaYW4gRG9iZXJzZWsg
IDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBFbmFibGUgV2ViIEF1ZGlv
IGluIGRldmVsb3BtZW50IGJ1aWxkcwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXh0SW5wdXRDb250cm9sbGVyLmlkbCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGV4dElucHV0Q29udHJv
bGxlci5pZGwKaW5kZXggMDM5OTg4YS4uNjA1NGRiNSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXh0SW5wdXRDb250cm9sbGVyLmlk
bAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rl
eHRJbnB1dENvbnRyb2xsZXIuaWRsCkBAIC0yOCw1ICsyOCw2IEBAIGludGVyZmFjZSBUZXh0SW5w
dXRDb250cm9sbGVyIHsKICAgICBib29sZWFuIGhhc01hcmtlZFRleHQoKTsKICAgICB2b2lkIHVu
bWFya1RleHQoKTsKICAgICB2b2lkIGluc2VydFRleHQoaW4gRE9NU3RyaW5nIHN0cmluZyk7Cisg
ICAgb2JqZWN0IG1hcmtlZFJhbmdlKCk7CiB9OwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1RleHRJbnB1dENvbnRyb2xsZXIuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXh0SW5wdXRDb250cm9sbGVyLmNwcApp
bmRleCAwMDg3YWEzLi45MzdjOWJjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1RleHRJbnB1dENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGV4dElucHV0Q29udHJvbGxlci5jcHAKQEAgLTMw
LDYgKzMwLDcgQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2UuaCIKICNpbmNsdWRlICJK
U1RleHRJbnB1dENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTdHJpbmdGdW5jdGlvbnMuaCIKKyNp
bmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxlRnJhbWUuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLQnVu
ZGxlUGFnZVByaXZhdGUuaD4KIAogbmFtZXNwYWNlIFdUUiB7CkBAIC03Nyw0ICs3OCwyMSBAQCB2
b2lkIFRleHRJbnB1dENvbnRyb2xsZXI6Omluc2VydFRleHQoSlNTdHJpbmdSZWYgdGV4dCkKICAg
ICBXS0J1bmRsZVBhZ2VDb25maXJtQ29tcG9zaXRpb25XaXRoVGV4dChJbmplY3RlZEJ1bmRsZTo6
c2hhcmVkKCkucGFnZSgpLT5wYWdlKCksIHRvV0sodGV4dCkuZ2V0KCkpOwogfQogCitKU1ZhbHVl
UmVmIFRleHRJbnB1dENvbnRyb2xsZXI6Om1hcmtlZFJhbmdlKCkKK3sKKyAgICBzaXplX3Qgc3Rh
cnQsIGxlbmd0aDsKKyAgICBXS0J1bmRsZVBhZ2VSZWYgcGFnZSA9IEluamVjdGVkQnVuZGxlOjpz
aGFyZWQoKS5wYWdlKCktPnBhZ2UoKTsKKyAgICBXS0J1bmRsZUZyYW1lUmVmIG1haW5GcmFtZSA9
IFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShwYWdlKTsKKyAgICBKU0NvbnRleHRSZWYgY29udGV4
dCA9IFdLQnVuZGxlRnJhbWVHZXRKYXZhU2NyaXB0Q29udGV4dChtYWluRnJhbWUpOworCisgICAg
V0tCdW5kbGVQYWdlTWFya2VkUmFuZ2UocGFnZSwgc3RhcnQsIGxlbmd0aCk7CisgICAgaWYgKHN0
YXJ0ID09IFdURjo6bm90Rm91bmQpCisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5l
ZChjb250ZXh0KTsKKworICAgIEpTVmFsdWVSZWYgYXJyYXlWYWx1ZXNbMl07CisgICAgYXJyYXlW
YWx1ZXNbMF0gPSBKU1ZhbHVlTWFrZU51bWJlcihjb250ZXh0LCBzdGFydCk7CisgICAgYXJyYXlW
YWx1ZXNbMV0gPSBKU1ZhbHVlTWFrZU51bWJlcihjb250ZXh0LCBsZW5ndGgpOworICAgIHJldHVy
biBKU09iamVjdE1ha2VBcnJheShjb250ZXh0LCAyLCBhcnJheVZhbHVlcywgMCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXh0SW5wdXRDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1RleHRJbnB1dENvbnRyb2xsZXIuaAppbmRleCA3MWEwNDM3Li42ODk1
OGJkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
eHRJbnB1dENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1RleHRJbnB1dENvbnRyb2xsZXIuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBoYXNNYXJrZWRUZXh0KCk7CiAgICAgdm9pZCB1bm1hcmtUZXh0KCk7CiAgICAgdm9p
ZCBpbnNlcnRUZXh0KEpTU3RyaW5nUmVmIHRleHQpOworICAgIEpTVmFsdWVSZWYgbWFya2VkUmFu
Z2UoKTsKIAogcHJpdmF0ZToKICAgICBUZXh0SW5wdXRDb250cm9sbGVyKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>