<?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>84945</bug_id>
          
          <creation_ts>2012-04-26 05:06:06 -0700</creation_ts>
          <short_desc>Share code used to animate numbers types between all animators</short_desc>
          <delta_ts>2012-04-26 06:13:58 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>41761</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>610509</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-26 05:06:06 -0700</bug_when>
    <thetext>Share code used to animate numbers types between all animators. Simple patch coming, that doesn&apos;t yet touch the list types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610511</commentid>
    <comment_count>1</comment_count>
      <attachid>138979</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-26 05:11:58 -0700</bug_when>
    <thetext>Created attachment 138979
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610525</commentid>
    <comment_count>2</comment_count>
      <attachid>138979</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-26 06:10:28 -0700</bug_when>
    <thetext>Comment on attachment 138979
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610527</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-26 06:13:58 -0700</bug_when>
    <thetext>Committed r115305: &lt;http://trac.webkit.org/changeset/115305&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138979</attachid>
            <date>2012-04-26 05:11:58 -0700</date>
            <delta_ts>2012-04-26 06:10:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84945-20120426141156.patch</filename>
            <type>text/plain</type>
            <size>23302</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzliYWNkNDM3Yzg3MzM2
YWQ3OGE3ZmRjY2E5NDI2OTdmYWRiNzY0NC4uZDI2NmI4OWExMmMzNzIzZjliZjk0MTZmZTJjMGRk
ZmZiNDgyMmEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTA0LTI2ICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgorCisgICAgICAgIFNoYXJlIGNv
ZGUgdXNlZCB0byBhbmltYXRlIG51bWJlcnMgdHlwZXMgYmV0d2VlbiBhbGwgYW5pbWF0b3JzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDk0NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yIGFu
aW1hdGVBZGRpdGl2ZU51bWJlcigpIGZyb20gU1ZHQW5pbWF0ZWROdW1iZXJBbmltYXRvciBpbnRv
IFNWR0FuaW1hdGlvbkVsZW1lbnQsCisgICAgICAgIHRvIHJldXNlIGl0IGZvciBhbGwgcHJpbWl0
aXZlcy4gQ29udmVydGVkIG1vc3QgcHJpbWl0aXZlcyB0byB1c2UgdGhlIG5ldyBjb2RlLiBMaXN0
cywgcGF0aHMsCisgICAgICAgIGNvbG9ycyBhcmUgc3RpbGwgdG9kby4KKworICAgICAgICBEb2Vz
bid0IGFmZmVjdCBhbnkgdGVzdHMuCisKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRBbmdsZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZEFuZ2xlQW5pbWF0b3I6OmNhbGN1bGF0
ZUFuaW1hdGVkVmFsdWUpOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZEludGVnZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRJbnRlZ2VyQW5pbWF0b3I6OmNhbGN1bGF0ZUFu
aW1hdGVkSW50ZWdlcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZEludGVnZXJBbmlt
YXRvcjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZSk6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVk
SW50ZWdlci5oOgorICAgICAgICAoU1ZHQW5pbWF0ZWRJbnRlZ2VyQW5pbWF0b3IpOgorICAgICAg
ICAqIHN2Zy9TVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyQW5pbWF0b3I6OmFkZEFu
aW1hdGVkVHlwZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9u
YWxJbnRlZ2VyQW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUpOgorICAgICAgICAqIHN2
Zy9TVkdBbmltYXRlZExlbmd0aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZExl
bmd0aEFuaW1hdG9yOjpjYWxjdWxhdGVBbmltYXRlZFZhbHVlKToKKyAgICAgICAgKiBzdmcvU1ZH
QW5pbWF0ZWRMZW5ndGhMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkTGVu
Z3RoTGlzdEFuaW1hdG9yOjpjYWxjdWxhdGVBbmltYXRlZFZhbHVlKToKKyAgICAgICAgKiBzdmcv
U1ZHQW5pbWF0ZWROdW1iZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWROdW1i
ZXJBbmltYXRvcjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZSk6CisgICAgICAgICogc3ZnL1NWR0Fu
aW1hdGVkTnVtYmVyLmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkTnVtYmVyTGlzdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZE51bWJlckxpc3RBbmltYXRvcjo6Y2FsY3Vs
YXRlQW5pbWF0ZWRWYWx1ZSk6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkTnVtYmVyT3B0aW9u
YWxOdW1iZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25h
bE51bWJlckFuaW1hdG9yOjphZGRBbmltYXRlZFR5cGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXJBbmltYXRvcjo6Y2FsY3VsYXRlQW5pbWF0ZWRW
YWx1ZSk6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIuaDoK
KyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRSZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGVkUmVjdEFuaW1hdG9yOjpjYWxjdWxhdGVBbmltYXRlZFZhbHVlKToKKyAgICAgICAg
KiBzdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0
aW9uRWxlbWVudDo6YW5pbWF0ZUFkZGl0aXZlTnVtYmVyKToKKyAgICAgICAgKFNWR0FuaW1hdGlv
bkVsZW1lbnQpOgorCiAyMDEyLTA0LTI2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEZvcmdvdHRlbiBidWlsZCBmaXggYWZ0ZXIgcjExNTIyNy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEFuZ2xlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbmltYXRlZEFuZ2xlLmNwcAppbmRleCA1YjcyYjg0M2FjZjkxZjNhMjE4NzZm
YmU1Nzk5NDk1NTk2MDI1ZDU4Li42ZTNkNGYyOGMwNzk4Y2Y5ZjA1MTVmYmMwNDcyMmNkZTBjYmMx
MmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRBbmdsZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkQW5nbGUuY3BwCkBAIC0xNDEsMjcg
KzE0MSwxMCBAQCB2b2lkIFNWR0FuaW1hdGVkQW5nbGVBbmltYXRvcjo6Y2FsY3VsYXRlQW5pbWF0
ZWRWYWx1ZShmbG9hdCBwZXJjZW50YWdlLCB1bnNpZ25lZAogICAgIC8vIFJlZ3VsYXIgZnJvbSBh
bmdsZSB0byBhbmdsZSBhbmltYXRpb24sIHdpdGggYWxsIGZlYXR1cmVzIGxpa2UgYWRkaXRpdmUg
ZXRjLgogICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQgPSBTVkdNYXJrZXJP
cmllbnRBbmdsZTsKIAotICAgIC8vIFJlcGxhY2UgJ2luaGVyaXQnIGJ5IHRoZWlyIGNvbXB1dGVk
IHByb3BlcnR5IHZhbHVlcy4KLSAgICBmbG9hdCBudW1iZXI7Ci0KLSAgICBmbG9hdCBmcm9tQW5n
bGUgPSBmcm9tQW5nbGVBbmRFbnVtZXJhdGlvbi5maXJzdC52YWx1ZSgpOwotICAgIGZsb2F0IHRv
QW5nbGUgPSB0b0FuZ2xlQW5kRW51bWVyYXRpb24uZmlyc3QudmFsdWUoKTsKLQotICAgIGlmICht
X2FuaW1hdGlvbkVsZW1lbnQtPmNhbGNNb2RlKCkgPT0gQ2FsY01vZGVEaXNjcmV0ZSkKLSAgICAg
ICAgbnVtYmVyID0gcGVyY2VudGFnZSA8IDAuNWYgPyBmcm9tQW5nbGUgOiB0b0FuZ2xlOwotICAg
IGVsc2UKLSAgICAgICAgbnVtYmVyID0gKHRvQW5nbGUgLSBmcm9tQW5nbGUpICogcGVyY2VudGFn
ZSArIGZyb21BbmdsZTsKLSAgICAKLSAgICAvLyBGSVhNRTogVGhpcyBpcyBub3QgY29ycmVjdCBm
b3IgdmFsdWVzIGFuaW1hdGlvbi4KLSAgICBpZiAobV9hbmltYXRpb25FbGVtZW50LT5pc0FjY3Vt
dWxhdGVkKCkgJiYgcmVwZWF0Q291bnQpCi0gICAgICAgIG51bWJlciArPSB0b0FuZ2xlICogcmVw
ZWF0Q291bnQ7CiAgICAgU1ZHQW5nbGUmIGFuaW1hdGVkU1ZHQW5nbGUgPSBhbmltYXRlZEFuZ2xl
QW5kRW51bWVyYXRpb24uZmlyc3Q7Ci0gICAgaWYgKG1fYW5pbWF0aW9uRWxlbWVudC0+aXNBZGRp
dGl2ZSgpICYmIG1fYW5pbWF0aW9uRWxlbWVudC0+YW5pbWF0aW9uTW9kZSgpICE9IFRvQW5pbWF0
aW9uKSB7Ci0gICAgICAgIGZsb2F0IGFuaW1hdGVkU1ZHQW5nbGVWYWx1ZSA9IGFuaW1hdGVkU1ZH
QW5nbGUudmFsdWUoKTsKLSAgICAgICAgYW5pbWF0ZWRTVkdBbmdsZVZhbHVlICs9IG51bWJlcjsK
LSAgICAgICAgYW5pbWF0ZWRTVkdBbmdsZS5zZXRWYWx1ZShhbmltYXRlZFNWR0FuZ2xlVmFsdWUp
OwotICAgIH0gZWxzZQotICAgICAgICBhbmltYXRlZFNWR0FuZ2xlLnNldFZhbHVlKG51bWJlcik7
CisgICAgZmxvYXQgYW5pbWF0ZWRBbmdsZSA9IGFuaW1hdGVkU1ZHQW5nbGUudmFsdWUoKTsKKyAg
ICBtX2FuaW1hdGlvbkVsZW1lbnQtPmFuaW1hdGVBZGRpdGl2ZU51bWJlcihwZXJjZW50YWdlLCBy
ZXBlYXRDb3VudCwgZnJvbUFuZ2xlQW5kRW51bWVyYXRpb24uZmlyc3QudmFsdWUoKSwgdG9Bbmds
ZUFuZEVudW1lcmF0aW9uLmZpcnN0LnZhbHVlKCksIGFuaW1hdGVkQW5nbGUpOworICAgIGFuaW1h
dGVkU1ZHQW5nbGUuc2V0VmFsdWUoYW5pbWF0ZWRBbmdsZSk7CiB9CiAKIGZsb2F0IFNWR0FuaW1h
dGVkQW5nbGVBbmltYXRvcjo6Y2FsY3VsYXRlRGlzdGFuY2UoY29uc3QgU3RyaW5nJiBmcm9tU3Ry
aW5nLCBjb25zdCBTdHJpbmcmIHRvU3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
ZWRJbnRlZ2VyLmNwcAppbmRleCBlY2M2YWFhZTkyOTg5MDY2MDlkZTVhYjRkY2ZlZDRmYWEyMmE4
NDE1Li4zZDE0MmIxYWUwNTZjODdhZTllZGFlN2NjMTY1NDIxYTgwYjFjZTNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRlZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRlZ2VyLmNwcApAQCAtNzMsMTAgKzczLDEwIEBAIHZv
aWQgU1ZHQW5pbWF0ZWRJbnRlZ2VyQW5pbWF0b3I6OmFkZEFuaW1hdGVkVHlwZXMoU1ZHQW5pbWF0
ZWRUeXBlKiBmcm9tLCBTVkdBbmltCiAgICAgdG8tPmludGVnZXIoKSArPSBmcm9tLT5pbnRlZ2Vy
KCk7CiB9CiAKLXZvaWQgU1ZHQW5pbWF0ZWRJbnRlZ2VyQW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1h
dGVkSW50ZWdlcihTVkdBbmltYXRpb25FbGVtZW50KiBhbmltYXRpb25FbGVtZW50LCBmbG9hdCBw
ZXJjZW50YWdlLCB1bnNpZ25lZCByZXBlYXRDb3VudCwgaW50JiBhbmltYXRlZEludGVnZXIsIGlu
dCBmcm9tSW50ZWdlciwgaW50IHRvSW50ZWdlcikKK3ZvaWQgU1ZHQW5pbWF0ZWRJbnRlZ2VyQW5p
bWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkSW50ZWdlcihTVkdBbmltYXRpb25FbGVtZW50KiBhbmlt
YXRpb25FbGVtZW50LCBmbG9hdCBwZXJjZW50YWdlLCB1bnNpZ25lZCByZXBlYXRDb3VudCwgaW50
IGZyb21JbnRlZ2VyLCBpbnQgdG9JbnRlZ2VyLCBpbnQmIGFuaW1hdGVkSW50ZWdlcikKIHsKICAg
ICBmbG9hdCBhbmltYXRlZE51bWJlciA9IGFuaW1hdGVkSW50ZWdlcjsKLSAgICBTVkdBbmltYXRl
ZE51bWJlckFuaW1hdG9yOjpjYWxjdWxhdGVBbmltYXRlZE51bWJlcihhbmltYXRpb25FbGVtZW50
LCBwZXJjZW50YWdlLCByZXBlYXRDb3VudCwgYW5pbWF0ZWROdW1iZXIsIGZyb21JbnRlZ2VyLCB0
b0ludGVnZXIpOworICAgIGFuaW1hdGlvbkVsZW1lbnQtPmFuaW1hdGVBZGRpdGl2ZU51bWJlcihw
ZXJjZW50YWdlLCByZXBlYXRDb3VudCwgZnJvbUludGVnZXIsIHRvSW50ZWdlciwgYW5pbWF0ZWRO
dW1iZXIpOwogICAgIGFuaW1hdGVkSW50ZWdlciA9IHN0YXRpY19jYXN0PGludD4ocm91bmRmKGFu
aW1hdGVkTnVtYmVyKSk7CiB9CiAKQEAgLTkwLDcgKzkwLDcgQEAgdm9pZCBTVkdBbmltYXRlZElu
dGVnZXJBbmltYXRvcjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZShmbG9hdCBwZXJjZW50YWdlLCB1
bnNpZ24KICAgICBpbnQmIGFuaW1hdGVkSW50ZWdlciA9IGFuaW1hdGVkLT5pbnRlZ2VyKCk7CiAg
ICAgbV9hbmltYXRpb25FbGVtZW50LT5hZGp1c3RGcm9tVG9WYWx1ZXM8aW50PigwLCBmcm9tSW50
ZWdlciwgdG9JbnRlZ2VyLCBhbmltYXRlZEludGVnZXIsIHBlcmNlbnRhZ2UsIG1fY29udGV4dEVs
ZW1lbnQpOwogCi0gICAgY2FsY3VsYXRlQW5pbWF0ZWRJbnRlZ2VyKG1fYW5pbWF0aW9uRWxlbWVu
dCwgcGVyY2VudGFnZSwgcmVwZWF0Q291bnQsIGFuaW1hdGVkSW50ZWdlciwgZnJvbUludGVnZXIs
IHRvSW50ZWdlcik7CisgICAgY2FsY3VsYXRlQW5pbWF0ZWRJbnRlZ2VyKG1fYW5pbWF0aW9uRWxl
bWVudCwgcGVyY2VudGFnZSwgcmVwZWF0Q291bnQsIGZyb21JbnRlZ2VyLCB0b0ludGVnZXIsIGFu
aW1hdGVkSW50ZWdlcik7CiB9CiAKIGZsb2F0IFNWR0FuaW1hdGVkSW50ZWdlckFuaW1hdG9yOjpj
YWxjdWxhdGVEaXN0YW5jZShjb25zdCBTdHJpbmcmIGZyb21TdHJpbmcsIGNvbnN0IFN0cmluZyYg
dG9TdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRl
Z2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRlZ2VyLmgKaW5kZXggNjhh
ZDk4OGRjMWZlNGUxNWQ0YjE1NmZkNjVmMmI1M2NiYzQ1ODgzNy4uNzM5ZjM1NTYzNTk5ODhkYjM0
MWI0ZGQ2ODE2OWE3MWFmYzMxYmMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVkSW50ZWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZElu
dGVnZXIuaApAQCAtNDUsOCArNDUsOCBAQCBjbGFzcyBTVkdBbmltYXRlZEludGVnZXJBbmltYXRv
ciA6IHB1YmxpYyBTVkdBbmltYXRlZFR5cGVBbmltYXRvciB7CiBwdWJsaWM6CiAgICAgU1ZHQW5p
bWF0ZWRJbnRlZ2VyQW5pbWF0b3IoU1ZHQW5pbWF0aW9uRWxlbWVudCosIFNWR0VsZW1lbnQqKTsK
ICAgICB2aXJ0dWFsIH5TVkdBbmltYXRlZEludGVnZXJBbmltYXRvcigpIHsgfQotICAgIAotICAg
IHN0YXRpYyB2b2lkIGNhbGN1bGF0ZUFuaW1hdGVkSW50ZWdlcihTVkdBbmltYXRpb25FbGVtZW50
KiwgZmxvYXQgcGVyY2VudGFnZSwgdW5zaWduZWQgcmVwZWF0Q291bnQsIGludCYgYW5pbWF0ZWRO
dW1iZXIsIGludCBmcm9tTnVtYmVyLCBpbnQgdG9OdW1iZXIpOworCisgICAgc3RhdGljIHZvaWQg
Y2FsY3VsYXRlQW5pbWF0ZWRJbnRlZ2VyKFNWR0FuaW1hdGlvbkVsZW1lbnQqLCBmbG9hdCBwZXJj
ZW50YWdlLCB1bnNpZ25lZCByZXBlYXRDb3VudCwgaW50IGZyb21JbnRlZ2VyLCBpbnQgdG9JbnRl
Z2VyLCBpbnQmIGFuaW1hdGVkSW50ZWdlcik7CiAKICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8U1ZH
QW5pbWF0ZWRUeXBlPiBjb25zdHJ1Y3RGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYpOwogICAgIHZp
cnR1YWwgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IHN0YXJ0QW5pbVZhbEFuaW1hdGlvbihj
b25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuY3BwCmluZGV4
IDZjNThlZjExYWYyNmJmZDNmZDEwNzZlODRkNThkNGY0YzNmNmNkOWUuLjkzNzc4ZjI5NjczNGZl
M2JjYTA2M2NkYjg3MjE2ZjAyNGYxNjY3ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuY3BwCkBAIC03OSwxMSAr
NzksMTEgQEAgdm9pZCBTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXJBbmltYXRvcjo6
YWRkQW5pbWF0ZWRUeXBlcyhTVkdBbmltYXRlZFR5cGUKICAgICBBU1NFUlQoZnJvbS0+dHlwZSgp
ID09IEFuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlcik7CiAgICAgQVNTRVJUKGZyb20tPnR5
cGUoKSA9PSB0by0+dHlwZSgpKTsKIAotICAgIHBhaXI8aW50LCBpbnQ+JiBmcm9tTnVtYmVyUGFp
ciA9IGZyb20tPmludGVnZXJPcHRpb25hbEludGVnZXIoKTsKLSAgICBwYWlyPGludCwgaW50PiYg
dG9OdW1iZXJQYWlyID0gdG8tPmludGVnZXJPcHRpb25hbEludGVnZXIoKTsKKyAgICBwYWlyPGlu
dCwgaW50PiYgZnJvbUludGVnZXJQYWlyID0gZnJvbS0+aW50ZWdlck9wdGlvbmFsSW50ZWdlcigp
OworICAgIHBhaXI8aW50LCBpbnQ+JiB0b0ludGVnZXJQYWlyID0gdG8tPmludGVnZXJPcHRpb25h
bEludGVnZXIoKTsKIAotICAgIHRvTnVtYmVyUGFpci5maXJzdCArPSBmcm9tTnVtYmVyUGFpci5m
aXJzdDsKLSAgICB0b051bWJlclBhaXIuc2Vjb25kICs9IGZyb21OdW1iZXJQYWlyLnNlY29uZDsK
KyAgICB0b0ludGVnZXJQYWlyLmZpcnN0ICs9IGZyb21JbnRlZ2VyUGFpci5maXJzdDsKKyAgICB0
b0ludGVnZXJQYWlyLnNlY29uZCArPSBmcm9tSW50ZWdlclBhaXIuc2Vjb25kOwogfQogCiB2b2lk
IFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlckFuaW1hdG9yOjpjYWxjdWxhdGVBbmlt
YXRlZFZhbHVlKGZsb2F0IHBlcmNlbnRhZ2UsIHVuc2lnbmVkIHJlcGVhdENvdW50LCBPd25QdHI8
U1ZHQW5pbWF0ZWRUeXBlPiYgZnJvbSwgT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4mIHRvLCBPd25Q
dHI8U1ZHQW5pbWF0ZWRUeXBlPiYgYW5pbWF0ZWQpCkBAIC05Niw4ICs5Niw4IEBAIHZvaWQgU1ZH
QW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyQW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVk
VmFsdWUoZmxvYXQgcGVyCiAgICAgcGFpcjxpbnQsIGludD4mIGFuaW1hdGVkSW50ZWdlclBhaXIg
PSBhbmltYXRlZC0+aW50ZWdlck9wdGlvbmFsSW50ZWdlcigpOwogICAgIG1fYW5pbWF0aW9uRWxl
bWVudC0+YWRqdXN0RnJvbVRvVmFsdWVzPHBhaXI8aW50LCBpbnQ+ID4oMCwgZnJvbUludGVnZXJQ
YWlyLCB0b0ludGVnZXJQYWlyLCBhbmltYXRlZEludGVnZXJQYWlyLCBwZXJjZW50YWdlLCBtX2Nv
bnRleHRFbGVtZW50KTsKIAotICAgIFNWR0FuaW1hdGVkSW50ZWdlckFuaW1hdG9yOjpjYWxjdWxh
dGVBbmltYXRlZEludGVnZXIobV9hbmltYXRpb25FbGVtZW50LCBwZXJjZW50YWdlLCByZXBlYXRD
b3VudCwgYW5pbWF0ZWRJbnRlZ2VyUGFpci5maXJzdCwgZnJvbUludGVnZXJQYWlyLmZpcnN0LCB0
b0ludGVnZXJQYWlyLmZpcnN0KTsKLSAgICBTVkdBbmltYXRlZEludGVnZXJBbmltYXRvcjo6Y2Fs
Y3VsYXRlQW5pbWF0ZWRJbnRlZ2VyKG1fYW5pbWF0aW9uRWxlbWVudCwgcGVyY2VudGFnZSwgcmVw
ZWF0Q291bnQsIGFuaW1hdGVkSW50ZWdlclBhaXIuc2Vjb25kLCBmcm9tSW50ZWdlclBhaXIuc2Vj
b25kLCB0b0ludGVnZXJQYWlyLnNlY29uZCk7CisgICAgU1ZHQW5pbWF0ZWRJbnRlZ2VyQW5pbWF0
b3I6OmNhbGN1bGF0ZUFuaW1hdGVkSW50ZWdlcihtX2FuaW1hdGlvbkVsZW1lbnQsIHBlcmNlbnRh
Z2UsIHJlcGVhdENvdW50LCBmcm9tSW50ZWdlclBhaXIuZmlyc3QsIHRvSW50ZWdlclBhaXIuZmly
c3QsIGFuaW1hdGVkSW50ZWdlclBhaXIuZmlyc3QpOworICAgIFNWR0FuaW1hdGVkSW50ZWdlckFu
aW1hdG9yOjpjYWxjdWxhdGVBbmltYXRlZEludGVnZXIobV9hbmltYXRpb25FbGVtZW50LCBwZXJj
ZW50YWdlLCByZXBlYXRDb3VudCwgZnJvbUludGVnZXJQYWlyLnNlY29uZCwgdG9JbnRlZ2VyUGFp
ci5zZWNvbmQsIGFuaW1hdGVkSW50ZWdlclBhaXIuc2Vjb25kKTsKIH0KIAogZmxvYXQgU1ZHQW5p
bWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyQW5pbWF0b3I6OmNhbGN1bGF0ZURpc3RhbmNlKGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZWRMZW5ndGguY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVk
TGVuZ3RoLmNwcAppbmRleCAyNzQ1YzVmOTRlN2MzOTllZmZiMTRhYzk5YWU0ZjNlYzZhOWY0YWE5
Li5jOGFhMDBiMzU0OGMxNmY4YTQwYmE5ZGUzMmE4ZTJhYWJlYjIwNjU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGguY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aC5jcHAKQEAgLTEwMiwxMiArMTAyLDEyIEBAIHZvaWQg
U1ZHQW5pbWF0ZWRMZW5ndGhBbmltYXRvcjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZShmbG9hdCBw
ZXJjZW50YWdlLCB1bnNpZ25lCiAgICAgbV9hbmltYXRpb25FbGVtZW50LT5hZGp1c3RGcm9tVG9W
YWx1ZXM8U1ZHTGVuZ3RoPihwYXJzZUxlbmd0aEZyb21TdHJpbmcsIGZyb21TVkdMZW5ndGgsIHRv
U1ZHTGVuZ3RoLCBhbmltYXRlZFNWR0xlbmd0aCwgcGVyY2VudGFnZSwgbV9jb250ZXh0RWxlbWVu
dCk7CiAKICAgICBTVkdMZW5ndGhDb250ZXh0IGxlbmd0aENvbnRleHQobV9jb250ZXh0RWxlbWVu
dCk7Ci0gICAgZmxvYXQgcmVzdWx0ID0gYW5pbWF0ZWRTVkdMZW5ndGgudmFsdWUobGVuZ3RoQ29u
dGV4dCk7CisgICAgZmxvYXQgYW5pbWF0ZWROdW1iZXIgPSBhbmltYXRlZFNWR0xlbmd0aC52YWx1
ZShsZW5ndGhDb250ZXh0KTsKICAgICBTVkdMZW5ndGhUeXBlIHVuaXRUeXBlID0gcGVyY2VudGFn
ZSA8IDAuNSA/IGZyb21TVkdMZW5ndGgudW5pdFR5cGUoKSA6IHRvU1ZHTGVuZ3RoLnVuaXRUeXBl
KCk7Ci0gICAgU1ZHQW5pbWF0ZWROdW1iZXJBbmltYXRvcjo6Y2FsY3VsYXRlQW5pbWF0ZWROdW1i
ZXIobV9hbmltYXRpb25FbGVtZW50LCBwZXJjZW50YWdlLCByZXBlYXRDb3VudCwgcmVzdWx0LCBm
cm9tU1ZHTGVuZ3RoLnZhbHVlKGxlbmd0aENvbnRleHQpLCB0b1NWR0xlbmd0aC52YWx1ZShsZW5n
dGhDb250ZXh0KSk7CisgICAgbV9hbmltYXRpb25FbGVtZW50LT5hbmltYXRlQWRkaXRpdmVOdW1i
ZXIocGVyY2VudGFnZSwgcmVwZWF0Q291bnQsIGZyb21TVkdMZW5ndGgudmFsdWUobGVuZ3RoQ29u
dGV4dCksIHRvU1ZHTGVuZ3RoLnZhbHVlKGxlbmd0aENvbnRleHQpLCBhbmltYXRlZE51bWJlcik7
CiAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBhbmltYXRlZFNWR0xlbmd0aC5zZXRW
YWx1ZShsZW5ndGhDb250ZXh0LCByZXN1bHQsIG1fbGVuZ3RoTW9kZSwgdW5pdFR5cGUsIGVjKTsK
KyAgICBhbmltYXRlZFNWR0xlbmd0aC5zZXRWYWx1ZShsZW5ndGhDb250ZXh0LCBhbmltYXRlZE51
bWJlciwgbV9sZW5ndGhNb2RlLCB1bml0VHlwZSwgZWMpOwogICAgIEFTU0VSVCghZWMpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aExpc3QuY3BwCmluZGV4IGUx
NGU5YzhjYzc1ZTE4ZjAxNzA3NzI1M2I1MWMzYjU4M2Q1ZjM1ZDIuLmQ2NDMzMGQ3Mjk3ZWE0MDE1
MjdiZmY1Nzc5ZTNmM2YzZjQ3YTgzNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZExlbmd0aExpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlZExlbmd0aExpc3QuY3BwCkBAIC0xMDgsMTMgKzEwOCwxNCBAQCB2b2lkIFNWR0FuaW1hdGVk
TGVuZ3RoTGlzdEFuaW1hdG9yOjpjYWxjdWxhdGVBbmltYXRlZFZhbHVlKGZsb2F0IHBlcmNlbnRh
Z2UsIHVucwogICAgIFNWR0xlbmd0aENvbnRleHQgbGVuZ3RoQ29udGV4dChtX2NvbnRleHRFbGVt
ZW50KTsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgaXRlbXNDb3VudDsgKytpKSB7Ci0gICAgICAgIGZsb2F0IHJlc3VsdCA9IGFuaW1hdGVk
TGlzdFNpemVFcXVhbCA/IGFuaW1hdGVkTGVuZ3RoTGlzdFtpXS52YWx1ZShsZW5ndGhDb250ZXh0
KSA6IDA7CisgICAgICAgIGZsb2F0IGFuaW1hdGVkTnVtYmVyID0gYW5pbWF0ZWRMaXN0U2l6ZUVx
dWFsID8gYW5pbWF0ZWRMZW5ndGhMaXN0W2ldLnZhbHVlKGxlbmd0aENvbnRleHQpIDogMDsKICAg
ICAgICAgU1ZHTGVuZ3RoVHlwZSB1bml0VHlwZSA9IHBlcmNlbnRhZ2UgPCAwLjUgPyBmcm9tTGVu
Z3RoTGlzdFtpXS51bml0VHlwZSgpIDogdG9MZW5ndGhMaXN0W2ldLnVuaXRUeXBlKCk7Ci0gICAg
ICAgIFNWR0FuaW1hdGVkTnVtYmVyQW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkTnVtYmVyKG1f
YW5pbWF0aW9uRWxlbWVudCwgcGVyY2VudGFnZSwgcmVwZWF0Q291bnQsIHJlc3VsdCwgZnJvbUxl
bmd0aExpc3RbaV0udmFsdWUobGVuZ3RoQ29udGV4dCksIHRvTGVuZ3RoTGlzdFtpXS52YWx1ZShs
ZW5ndGhDb250ZXh0KSk7CisgICAgICAgIG1fYW5pbWF0aW9uRWxlbWVudC0+YW5pbWF0ZUFkZGl0
aXZlTnVtYmVyKHBlcmNlbnRhZ2UsIHJlcGVhdENvdW50LCBmcm9tTGVuZ3RoTGlzdFtpXS52YWx1
ZShsZW5ndGhDb250ZXh0KSwgdG9MZW5ndGhMaXN0W2ldLnZhbHVlKGxlbmd0aENvbnRleHQpLCBh
bmltYXRlZE51bWJlcik7CisKICAgICAgICAgaWYgKCFhbmltYXRlZExpc3RTaXplRXF1YWwpCi0g
ICAgICAgICAgICBhbmltYXRlZExlbmd0aExpc3QuYXBwZW5kKFNWR0xlbmd0aChsZW5ndGhDb250
ZXh0LCByZXN1bHQsIG1fbGVuZ3RoTW9kZSwgdW5pdFR5cGUpKTsKKyAgICAgICAgICAgIGFuaW1h
dGVkTGVuZ3RoTGlzdC5hcHBlbmQoU1ZHTGVuZ3RoKGxlbmd0aENvbnRleHQsIGFuaW1hdGVkTnVt
YmVyLCBtX2xlbmd0aE1vZGUsIHVuaXRUeXBlKSk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAg
ICAgYW5pbWF0ZWRMZW5ndGhMaXN0W2ldLnNldFZhbHVlKGxlbmd0aENvbnRleHQsIHJlc3VsdCwg
bV9sZW5ndGhNb2RlLCB1bml0VHlwZSwgZWMpOworICAgICAgICAgICAgYW5pbWF0ZWRMZW5ndGhM
aXN0W2ldLnNldFZhbHVlKGxlbmd0aENvbnRleHQsIGFuaW1hdGVkTnVtYmVyLCBtX2xlbmd0aE1v
ZGUsIHVuaXRUeXBlLCBlYyk7CiAgICAgICAgICAgICBBU1NFUlQoIWVjKTsKICAgICAgICAgfQog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXIuY3BwCmluZGV4IGYzNmUw
OTRlOWZkNDFmMTNiNDJhNTJiZjgzYzNkNjRhNThkMjVkMDYuLmU5NTgzZGU0Zjk4ZjExZTJhYzdh
ODkwZDE3Mjc5NTBlNGM2N2NkZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZE51bWJlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTnVt
YmVyLmNwcApAQCAtNzYsMjUgKzc2LDYgQEAgdm9pZCBTVkdBbmltYXRlZE51bWJlckFuaW1hdG9y
OjphZGRBbmltYXRlZFR5cGVzKFNWR0FuaW1hdGVkVHlwZSogZnJvbSwgU1ZHQW5pbWEKICAgICB0
by0+bnVtYmVyKCkgKz0gZnJvbS0+bnVtYmVyKCk7CiB9CiAKLXZvaWQgU1ZHQW5pbWF0ZWROdW1i
ZXJBbmltYXRvcjo6Y2FsY3VsYXRlQW5pbWF0ZWROdW1iZXIoU1ZHQW5pbWF0aW9uRWxlbWVudCog
YW5pbWF0aW9uRWxlbWVudCwgZmxvYXQgcGVyY2VudGFnZSwgdW5zaWduZWQgcmVwZWF0Q291bnQs
IGZsb2F0JiBhbmltYXRlZE51bWJlciwgZmxvYXQgZnJvbU51bWJlciwgZmxvYXQgdG9OdW1iZXIp
Ci17Ci0gICAgZmxvYXQgbnVtYmVyOwotICAgIGlmIChhbmltYXRpb25FbGVtZW50LT5jYWxjTW9k
ZSgpID09IENhbGNNb2RlRGlzY3JldGUpCi0gICAgICAgIG51bWJlciA9IHBlcmNlbnRhZ2UgPCAw
LjUgPyBmcm9tTnVtYmVyIDogdG9OdW1iZXI7Ci0gICAgZWxzZQotICAgICAgICBudW1iZXIgPSAo
dG9OdW1iZXIgLSBmcm9tTnVtYmVyKSAqIHBlcmNlbnRhZ2UgKyBmcm9tTnVtYmVyOwotICAgICAg
ICAKLSAgICAvLyBGSVhNRTogVGhpcyBpcyBub3QgY29ycmVjdCBmb3IgdmFsdWVzIGFuaW1hdGlv
bi4gUmlnaHQgbm93IHdlIHRyYW5zZm9ybSB2YWx1ZXMtYW5pbWF0aW9uIHRvIG11bHRpcGxlIGZy
b20tdG8tYW5pbWF0aW9ucyBhbmQKLSAgICAvLyBhY2N1bXVsYXRlIGV2ZXJ5IHNpbmdsZSB2YWx1
ZSB0byB0aGUgcHJldmlvdXMgb25lLiBCdXQgYWNjdW11bGF0aW9uIHNob3VsZCBqdXN0IHRha2Ug
aW50byBhY2NvdW50IGFmdGVyIGEgY29tcGxldGUgY3ljbGUKLSAgICAvLyBvZiB2YWx1ZXMtYW5p
bWFpdG9uLiBTZWUgZXhhbXBsZSBhdDogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMtc21p
bC1hbmltYXRpb24tMjAwMTA5MDQvI1JlcGVhdGluZ0FuaW0KLSAgICBpZiAoYW5pbWF0aW9uRWxl
bWVudC0+aXNBY2N1bXVsYXRlZCgpICYmIHJlcGVhdENvdW50KQotICAgICAgICBudW1iZXIgKz0g
dG9OdW1iZXIgKiByZXBlYXRDb3VudDsKLSAgICBpZiAoYW5pbWF0aW9uRWxlbWVudC0+aXNBZGRp
dGl2ZSgpICYmIGFuaW1hdGlvbkVsZW1lbnQtPmFuaW1hdGlvbk1vZGUoKSAhPSBUb0FuaW1hdGlv
bikKLSAgICAgICAgYW5pbWF0ZWROdW1iZXIgKz0gbnVtYmVyOwotICAgIGVsc2UKLSAgICAgICAg
YW5pbWF0ZWROdW1iZXIgPSBudW1iZXI7Ci19Ci0KIHN0YXRpYyBmbG9hdCBwYXJzZU51bWJlckZy
b21TdHJpbmcoU1ZHQW5pbWF0aW9uRWxlbWVudCosIGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewog
ICAgIGZsb2F0IG51bWJlciA9IDA7CkBAIC0xMTIsNyArOTMsNyBAQCB2b2lkIFNWR0FuaW1hdGVk
TnVtYmVyQW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUoZmxvYXQgcGVyY2VudGFnZSwg
dW5zaWduZQogICAgIGZsb2F0JiBhbmltYXRlZE51bWJlciA9IGFuaW1hdGVkLT5udW1iZXIoKTsK
ICAgICBtX2FuaW1hdGlvbkVsZW1lbnQtPmFkanVzdEZyb21Ub1ZhbHVlczxmbG9hdD4ocGFyc2VO
dW1iZXJGcm9tU3RyaW5nLCBmcm9tTnVtYmVyLCB0b051bWJlciwgYW5pbWF0ZWROdW1iZXIsIHBl
cmNlbnRhZ2UsIG1fY29udGV4dEVsZW1lbnQpOwogCi0gICAgY2FsY3VsYXRlQW5pbWF0ZWROdW1i
ZXIobV9hbmltYXRpb25FbGVtZW50LCBwZXJjZW50YWdlLCByZXBlYXRDb3VudCwgYW5pbWF0ZWRO
dW1iZXIsIGZyb21OdW1iZXIsIHRvTnVtYmVyKTsKKyAgICBtX2FuaW1hdGlvbkVsZW1lbnQtPmFu
aW1hdGVBZGRpdGl2ZU51bWJlcihwZXJjZW50YWdlLCByZXBlYXRDb3VudCwgZnJvbU51bWJlciwg
dG9OdW1iZXIsIGFuaW1hdGVkTnVtYmVyKTsKIH0KIAogZmxvYXQgU1ZHQW5pbWF0ZWROdW1iZXJB
bmltYXRvcjo6Y2FsY3VsYXRlRGlzdGFuY2UoY29uc3QgU3RyaW5nJiBmcm9tU3RyaW5nLCBjb25z
dCBTdHJpbmcmIHRvU3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkTnVtYmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXIuaApp
bmRleCBjZmFiNThjYmZlZjQ4Mjk2YTdiNzRmNTA4ZjE4Mjc4YzRlMGVlYzRkLi43MWVjNjBkNjlk
ZTgxNmE1NDRhY2Q3MjliOTMwYWQ2ZDE3NGMxNTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWROdW1iZXIuaApAQCAtNDYsOCArNDYsNiBAQCBwdWJsaWM6CiAgICAgU1ZHQW5pbWF0ZWRO
dW1iZXJBbmltYXRvcihTVkdBbmltYXRpb25FbGVtZW50KiwgU1ZHRWxlbWVudCopOwogICAgIHZp
cnR1YWwgflNWR0FuaW1hdGVkTnVtYmVyQW5pbWF0b3IoKSB7IH0KIAotICAgIHN0YXRpYyB2b2lk
IGNhbGN1bGF0ZUFuaW1hdGVkTnVtYmVyKFNWR0FuaW1hdGlvbkVsZW1lbnQqLCBmbG9hdCBwZXJj
ZW50YWdlLCB1bnNpZ25lZCByZXBlYXRDb3VudCwgZmxvYXQmIGFuaW1hdGVkTnVtYmVyLCBmbG9h
dCBmcm9tTnVtYmVyLCBmbG9hdCB0b051bWJlcik7Ci0KICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8
U1ZHQW5pbWF0ZWRUeXBlPiBjb25zdHJ1Y3RGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYpOwogICAg
IHZpcnR1YWwgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IHN0YXJ0QW5pbVZhbEFuaW1hdGlv
bihjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+Jik7CiAgICAgdmlydHVhbCB2b2lk
IHN0b3BBbmltVmFsQW5pbWF0aW9uKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4m
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlckxpc3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTnVtYmVyTGlzdC5jcHAKaW5kZXgg
OTM0ZjcxODUzOGIxOWIxMGM4OGVlYWVmMzgzOTBjNjk1YWI1NmU0ZS4uOTJjZDJhYzA2ZjAxNWU2
ZDIxMWQ3MWI0Yzc0NGE0ZDU1MjgyNzFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGVkTnVtYmVyTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkTnVtYmVyTGlzdC5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgdm9pZCBTVkdBbmltYXRlZE51
bWJlckxpc3RBbmltYXRvcjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZShmbG9hdCBwZXJjZW50YWdl
LCB1bnMKICAgICAgICAgYW5pbWF0ZWROdW1iZXJMaXN0LnJlc2l6ZShpdGVtc0NvdW50KTsKIAog
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBpdGVtc0NvdW50OyArK2kpCi0gICAgICAgIFNW
R0FuaW1hdGVkTnVtYmVyQW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkTnVtYmVyKG1fYW5pbWF0
aW9uRWxlbWVudCwgcGVyY2VudGFnZSwgcmVwZWF0Q291bnQsIGFuaW1hdGVkTnVtYmVyTGlzdFtp
XSwgZnJvbU51bWJlckxpc3RbaV0sIHRvTnVtYmVyTGlzdFtpXSk7CisgICAgICAgIG1fYW5pbWF0
aW9uRWxlbWVudC0+YW5pbWF0ZUFkZGl0aXZlTnVtYmVyKHBlcmNlbnRhZ2UsIHJlcGVhdENvdW50
LCBmcm9tTnVtYmVyTGlzdFtpXSwgdG9OdW1iZXJMaXN0W2ldLCBhbmltYXRlZE51bWJlckxpc3Rb
aV0pOwogfQogCiBmbG9hdCBTVkdBbmltYXRlZE51bWJlckxpc3RBbmltYXRvcjo6Y2FsY3VsYXRl
RGlzdGFuY2UoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmNwcAppbmRleCBi
ZGM0MWM0M2U1MWY4Mzk1NWViZWFkYzg0YWViN2NkZWQyZjRlZmQ5Li5iYTZmYjJlMDYwY2FkZGJj
N2M3ZWI3MTEzNTg3OTEwMWQ4OWVlNDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIuY3BwCkBAIC03OCw3ICs3OCw3IEBA
IHZvaWQgU1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlckFuaW1hdG9yOjphZGRBbmltYXRl
ZFR5cGVzKFNWR0FuaW1hdGVkVHlwZSoKIAogICAgIHBhaXI8ZmxvYXQsIGZsb2F0PiYgZnJvbU51
bWJlclBhaXIgPSBmcm9tLT5udW1iZXJPcHRpb25hbE51bWJlcigpOwogICAgIHBhaXI8ZmxvYXQs
IGZsb2F0PiYgdG9OdW1iZXJQYWlyID0gdG8tPm51bWJlck9wdGlvbmFsTnVtYmVyKCk7Ci0gICAg
CisKICAgICB0b051bWJlclBhaXIuZmlyc3QgKz0gZnJvbU51bWJlclBhaXIuZmlyc3Q7CiAgICAg
dG9OdW1iZXJQYWlyLnNlY29uZCArPSBmcm9tTnVtYmVyUGFpci5zZWNvbmQ7CiB9CkBAIC05Myw4
ICs5Myw4IEBAIHZvaWQgU1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlckFuaW1hdG9yOjpj
YWxjdWxhdGVBbmltYXRlZFZhbHVlKGZsb2F0IHBlcmNlCiAgICAgcGFpcjxmbG9hdCwgZmxvYXQ+
JiBhbmltYXRlZE51bWJlclBhaXIgPSBhbmltYXRlZC0+bnVtYmVyT3B0aW9uYWxOdW1iZXIoKTsK
ICAgICBtX2FuaW1hdGlvbkVsZW1lbnQtPmFkanVzdEZyb21Ub1ZhbHVlczxwYWlyPGZsb2F0LCBm
bG9hdD4gPigwLCBmcm9tTnVtYmVyUGFpciwgdG9OdW1iZXJQYWlyLCBhbmltYXRlZE51bWJlclBh
aXIsIHBlcmNlbnRhZ2UsIG1fY29udGV4dEVsZW1lbnQpOwogCi0gICAgU1ZHQW5pbWF0ZWROdW1i
ZXJBbmltYXRvcjo6Y2FsY3VsYXRlQW5pbWF0ZWROdW1iZXIobV9hbmltYXRpb25FbGVtZW50LCBw
ZXJjZW50YWdlLCByZXBlYXRDb3VudCwgYW5pbWF0ZWROdW1iZXJQYWlyLmZpcnN0LCBmcm9tTnVt
YmVyUGFpci5maXJzdCwgdG9OdW1iZXJQYWlyLmZpcnN0KTsKLSAgICBTVkdBbmltYXRlZE51bWJl
ckFuaW1hdG9yOjpjYWxjdWxhdGVBbmltYXRlZE51bWJlcihtX2FuaW1hdGlvbkVsZW1lbnQsIHBl
cmNlbnRhZ2UsIHJlcGVhdENvdW50LCBhbmltYXRlZE51bWJlclBhaXIuc2Vjb25kLCBmcm9tTnVt
YmVyUGFpci5zZWNvbmQsIHRvTnVtYmVyUGFpci5zZWNvbmQpOworICAgIG1fYW5pbWF0aW9uRWxl
bWVudC0+YW5pbWF0ZUFkZGl0aXZlTnVtYmVyKHBlcmNlbnRhZ2UsIHJlcGVhdENvdW50LCBmcm9t
TnVtYmVyUGFpci5maXJzdCwgdG9OdW1iZXJQYWlyLmZpcnN0LCBhbmltYXRlZE51bWJlclBhaXIu
Zmlyc3QpOworICAgIG1fYW5pbWF0aW9uRWxlbWVudC0+YW5pbWF0ZUFkZGl0aXZlTnVtYmVyKHBl
cmNlbnRhZ2UsIHJlcGVhdENvdW50LCBmcm9tTnVtYmVyUGFpci5zZWNvbmQsIHRvTnVtYmVyUGFp
ci5zZWNvbmQsIGFuaW1hdGVkTnVtYmVyUGFpci5zZWNvbmQpOwogfQogCiBmbG9hdCBTVkdBbmlt
YXRlZE51bWJlck9wdGlvbmFsTnVtYmVyQW5pbWF0b3I6OmNhbGN1bGF0ZURpc3RhbmNlKGNvbnN0
IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIuaAppbmRleCBmMDI0NTNkNDA0OGYwYjFjMmU5
NzliMzc1Zjk0OTNmMjQwYmIyMGM1Li42Y2UxNDE3NDk5M2U5MDZmMzkyYzA4M2Q0MjFkOGQ2MGVk
OWM5ZTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXJP
cHRpb25hbE51bWJlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJl
ck9wdGlvbmFsTnVtYmVyLmgKQEAgLTMyLDggKzMyLDYgQEAgcHVibGljOgogICAgIFNWR0FuaW1h
dGVkTnVtYmVyT3B0aW9uYWxOdW1iZXJBbmltYXRvcihTVkdBbmltYXRpb25FbGVtZW50KiwgU1ZH
RWxlbWVudCopOwogICAgIHZpcnR1YWwgflNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXJB
bmltYXRvcigpIHsgfQogICAgIAotICAgIHN0YXRpYyB2b2lkIGNhbGN1bGF0ZUFuaW1hdGVkTnVt
YmVyT3B0aW9uYWxOdW1iZXIoU1ZHQW5pbWF0aW9uRWxlbWVudCosIGZsb2F0IHBlcmNlbnRhZ2Us
IHVuc2lnbmVkIHJlcGVhdENvdW50LCBmbG9hdCYgYW5pbWF0ZWROdW1iZXIsIGZsb2F0IGZyb21O
dW1iZXIsIGZsb2F0IHRvTnVtYmVyKTsKLSAgICAKICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8U1ZH
QW5pbWF0ZWRUeXBlPiBjb25zdHJ1Y3RGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYpOwogICAgIHZp
cnR1YWwgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IHN0YXJ0QW5pbVZhbEFuaW1hdGlvbihj
b25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+Jik7CiAgICAgdmlydHVhbCB2b2lkIHN0
b3BBbmltVmFsQW5pbWF0aW9uKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFJlY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUmVjdC5jcHAKaW5kZXggYzJmYmMxMjM2NTVmMWZk
NzlhOTU1NTk2MGNkYjg1ZjAxMmQ5YjJkZi4uZGYxOWVhZTAwYTU0M2E5OWYyYmE3ZjVhZGZjNTdl
NzgxZGRkNDgwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUmVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUmVjdC5jcHAKQEAgLTgy
LDI3ICs4MiwxNiBAQCB2b2lkIFNWR0FuaW1hdGVkUmVjdEFuaW1hdG9yOjpjYWxjdWxhdGVBbmlt
YXRlZFZhbHVlKGZsb2F0IHBlcmNlbnRhZ2UsIHVuc2lnbmVkCiAgICAgRmxvYXRSZWN0JiBhbmlt
YXRlZFJlY3QgPSBhbmltYXRlZC0+cmVjdCgpOwogICAgIG1fYW5pbWF0aW9uRWxlbWVudC0+YWRq
dXN0RnJvbVRvVmFsdWVzPEZsb2F0UmVjdD4oMCwgZnJvbVJlY3QsIHRvUmVjdCwgYW5pbWF0ZWRS
ZWN0LCBwZXJjZW50YWdlLCBtX2NvbnRleHRFbGVtZW50KTsKIAotICAgIEZsb2F0UmVjdCBuZXdS
ZWN0OyAgICAKLSAgICBpZiAobV9hbmltYXRpb25FbGVtZW50LT5jYWxjTW9kZSgpID09IENhbGNN
b2RlRGlzY3JldGUpCi0gICAgICAgIG5ld1JlY3QgPSBwZXJjZW50YWdlIDwgMC41ID8gZnJvbVJl
Y3QgOiB0b1JlY3Q7Ci0gICAgZWxzZQotICAgICAgICBuZXdSZWN0ID0gRmxvYXRSZWN0KCh0b1Jl
Y3QueCgpIC0gZnJvbVJlY3QueCgpKSAqIHBlcmNlbnRhZ2UgKyBmcm9tUmVjdC54KCksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKHRvUmVjdC55KCkgLSBmcm9tUmVjdC55KCkpICogcGVy
Y2VudGFnZSArIGZyb21SZWN0LnkoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAodG9S
ZWN0LndpZHRoKCkgLSBmcm9tUmVjdC53aWR0aCgpKSAqIHBlcmNlbnRhZ2UgKyBmcm9tUmVjdC53
aWR0aCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0b1JlY3QuaGVpZ2h0KCkgLSBm
cm9tUmVjdC5oZWlnaHQoKSkgKiBwZXJjZW50YWdlICsgZnJvbVJlY3QuaGVpZ2h0KCkpOwotCi0g
ICAgLy8gRklYTUU6IFRoaXMgaXMgbm90IGNvcnJlY3QgZm9yIHZhbHVlcyBhbmltYXRpb24uIFJp
Z2h0IG5vdyB3ZSB0cmFuc2Zvcm0gdmFsdWVzLWFuaW1hdGlvbiB0byBtdWx0aXBsZSBmcm9tLXRv
LWFuaW1hdGlvbnMgYW5kCi0gICAgLy8gYWNjdW11bGF0ZSBldmVyeSBzaW5nbGUgdmFsdWUgdG8g
dGhlIHByZXZpb3VzIG9uZS4gQnV0IGFjY3VtdWxhdGlvbiBzaG91bGQganVzdCB0YWtlIGludG8g
YWNjb3VudCBhZnRlciBhIGNvbXBsZXRlIGN5Y2xlCi0gICAgLy8gb2YgdmFsdWVzLWFuaW1haXRv
bi4gU2VlIGV4YW1wbGUgYXQ6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLXNtaWwtYW5p
bWF0aW9uLTIwMDEwOTA0LyNSZXBlYXRpbmdBbmltCi0gICAgaWYgKG1fYW5pbWF0aW9uRWxlbWVu
dC0+aXNBY2N1bXVsYXRlZCgpICYmIHJlcGVhdENvdW50KSB7Ci0gICAgICAgIG5ld1JlY3QgKz0g
dG9SZWN0OwotICAgICAgICBuZXdSZWN0LnNjYWxlKHJlcGVhdENvdW50KTsKLSAgICB9Ci0gICAg
Ci0gICAgaWYgKG1fYW5pbWF0aW9uRWxlbWVudC0+aXNBZGRpdGl2ZSgpICYmIG1fYW5pbWF0aW9u
RWxlbWVudC0+YW5pbWF0aW9uTW9kZSgpICE9IFRvQW5pbWF0aW9uKQotICAgICAgICBhbmltYXRl
ZFJlY3QgKz0gbmV3UmVjdDsKLSAgICBlbHNlCi0gICAgICAgIGFuaW1hdGVkUmVjdCA9IG5ld1Jl
Y3Q7CisgICAgZmxvYXQgYW5pbWF0ZWRYID0gYW5pbWF0ZWRSZWN0LngoKTsKKyAgICBmbG9hdCBh
bmltYXRlZFkgPSBhbmltYXRlZFJlY3QueSgpOworICAgIGZsb2F0IGFuaW1hdGVkV2lkdGggPSBh
bmltYXRlZFJlY3Qud2lkdGgoKTsKKyAgICBmbG9hdCBhbmltYXRlZEhlaWdodCA9IGFuaW1hdGVk
UmVjdC5oZWlnaHQoKTsKKyAgICBtX2FuaW1hdGlvbkVsZW1lbnQtPmFuaW1hdGVBZGRpdGl2ZU51
bWJlcihwZXJjZW50YWdlLCByZXBlYXRDb3VudCwgZnJvbVJlY3QueCgpLCB0b1JlY3QueCgpLCBh
bmltYXRlZFgpOworICAgIG1fYW5pbWF0aW9uRWxlbWVudC0+YW5pbWF0ZUFkZGl0aXZlTnVtYmVy
KHBlcmNlbnRhZ2UsIHJlcGVhdENvdW50LCBmcm9tUmVjdC55KCksIHRvUmVjdC55KCksIGFuaW1h
dGVkWSk7CisgICAgbV9hbmltYXRpb25FbGVtZW50LT5hbmltYXRlQWRkaXRpdmVOdW1iZXIocGVy
Y2VudGFnZSwgcmVwZWF0Q291bnQsIGZyb21SZWN0LndpZHRoKCksIHRvUmVjdC53aWR0aCgpLCBh
bmltYXRlZFdpZHRoKTsKKyAgICBtX2FuaW1hdGlvbkVsZW1lbnQtPmFuaW1hdGVBZGRpdGl2ZU51
bWJlcihwZXJjZW50YWdlLCByZXBlYXRDb3VudCwgZnJvbVJlY3QuaGVpZ2h0KCksIHRvUmVjdC5o
ZWlnaHQoKSwgYW5pbWF0ZWRIZWlnaHQpOworCisgICAgYW5pbWF0ZWRSZWN0ID0gRmxvYXRSZWN0
KGFuaW1hdGVkWCwgYW5pbWF0ZWRZLCBhbmltYXRlZFdpZHRoLCBhbmltYXRlZEhlaWdodCk7CiB9
CiAKIGZsb2F0IFNWR0FuaW1hdGVkUmVjdEFuaW1hdG9yOjpjYWxjdWxhdGVEaXN0YW5jZShjb25z
dCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGlvbkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25F
bGVtZW50LmgKaW5kZXggOGI1MjJiNDE4ZDFhMGNmZmRhNzRiMTMzMWNjOGFlMjc5YjcyOTFlOS4u
NmMwNTE2YjMyZTRkZWI4MGZmOWI5ZmFhMjZlY2E0OTY3NGZjNzJiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5oCkBAIC0xNjUsNiArMTY1LDI2IEBAIHB1YmxpYzoK
ICAgICAgICAgYW5pbWF0ZWRUeXBlID0gQW5pbWF0ZWRUeXBlKGZyb21UeXBlKTsKICAgICB9CiAK
KyAgICB2b2lkIGFuaW1hdGVBZGRpdGl2ZU51bWJlcihmbG9hdCBwZXJjZW50YWdlLCB1bnNpZ25l
ZCByZXBlYXRDb3VudCwgZmxvYXQgZnJvbU51bWJlciwgZmxvYXQgdG9OdW1iZXIsIGZsb2F0JiBh
bmltYXRlZE51bWJlcikKKyAgICB7CisgICAgICAgIGZsb2F0IG51bWJlcjsKKyAgICAgICAgaWYg
KGNhbGNNb2RlKCkgPT0gQ2FsY01vZGVEaXNjcmV0ZSkKKyAgICAgICAgICAgIG51bWJlciA9IHBl
cmNlbnRhZ2UgPCAwLjUgPyBmcm9tTnVtYmVyIDogdG9OdW1iZXI7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIG51bWJlciA9ICh0b051bWJlciAtIGZyb21OdW1iZXIpICogcGVyY2VudGFnZSAr
IGZyb21OdW1iZXI7CisKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgbm90IGNvcnJlY3QgZm9y
IHZhbHVlcyBhbmltYXRpb24uIFJpZ2h0IG5vdyB3ZSB0cmFuc2Zvcm0gdmFsdWVzLWFuaW1hdGlv
biB0byBtdWx0aXBsZSBmcm9tLXRvLWFuaW1hdGlvbnMgYW5kCisgICAgICAgIC8vIGFjY3VtdWxh
dGUgZXZlcnkgc2luZ2xlIHZhbHVlIHRvIHRoZSBwcmV2aW91cyBvbmUuIEJ1dCBhY2N1bXVsYXRp
b24gc2hvdWxkIGp1c3QgdGFrZSBpbnRvIGFjY291bnQgYWZ0ZXIgYSBjb21wbGV0ZSBjeWNsZQor
ICAgICAgICAvLyBvZiB2YWx1ZXMtYW5pbWFpdG9uLiBTZWUgZXhhbXBsZSBhdDogaHR0cDovL3d3
dy53My5vcmcvVFIvMjAwMS9SRUMtc21pbC1hbmltYXRpb24tMjAwMTA5MDQvI1JlcGVhdGluZ0Fu
aW0KKyAgICAgICAgaWYgKGlzQWNjdW11bGF0ZWQoKSAmJiByZXBlYXRDb3VudCkKKyAgICAgICAg
ICAgIG51bWJlciArPSB0b051bWJlciAqIHJlcGVhdENvdW50OworCisgICAgICAgIGlmIChpc0Fk
ZGl0aXZlKCkgJiYgYW5pbWF0aW9uTW9kZSgpICE9IFRvQW5pbWF0aW9uKQorICAgICAgICAgICAg
YW5pbWF0ZWROdW1iZXIgKz0gbnVtYmVyOworICAgICAgICBlbHNlCisgICAgICAgICAgICBhbmlt
YXRlZE51bWJlciA9IG51bWJlcjsKKyAgICB9CisKIHByb3RlY3RlZDoKICAgICBTVkdBbmltYXRp
b25FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCg==
</data>
<flag name="review"
          id="144503"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>