<?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>62077</bug_id>
          
          <creation_ts>2011-06-03 17:42:05 -0700</creation_ts>
          <short_desc>Switch paintMask and paintObject to use IntPoint</short_desc>
          <delta_ts>2011-06-03 21:50:48 -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>Layout and Rendering</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>60318</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>darin</cc>
    
    <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>415330</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-06-03 17:42:05 -0700</bug_when>
    <thetext>paintObject is still on tx/ty, but paintMask was converted to IntSize passed by value. Bringing it in-line with the agreed-upon convention of a const IntPoint&amp;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415340</commentid>
    <comment_count>1</comment_count>
      <attachid>96001</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-06-03 18:01:44 -0700</bug_when>
    <thetext>Created attachment 96001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415354</commentid>
    <comment_count>2</comment_count>
      <attachid>96001</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-03 18:49:51 -0700</bug_when>
    <thetext>Comment on attachment 96001
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415359</commentid>
    <comment_count>3</comment_count>
      <attachid>96001</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-06-03 19:25:59 -0700</bug_when>
    <thetext>Comment on attachment 96001
Patch

Clearing flags on attachment: 96001

Committed r88087: &lt;http://trac.webkit.org/changeset/88087&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415360</commentid>
    <comment_count>4</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-06-03 19:26:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415388</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-06-03 21:50:48 -0700</bug_when>
    <thetext>This seemed to have caused a clang build warning (which is treated as an error).
&lt;http://webkit.org/b/62084&gt; clan build error: hidden overloaded virtual function</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96001</attachid>
            <date>2011-06-03 18:01:44 -0700</date>
            <delta_ts>2011-06-03 19:25:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62077-20110603180143.patch</filename>
            <type>text/plain</type>
            <size>31975</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg4MDgyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTcgQEAKKzIwMTEtMDYtMDMgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFN3aXRjaCBwYWludE1hc2sgYW5kIHBhaW50T2JqZWN0IHRv
IHVzZSBJbnRQb2ludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjIwNzcKKworICAgICAgICBTd2l0Y2hpbmcgcGFpbnRNYXNrIGFuZCBwYWludE9iamVj
dCB0byB1c2UgSW50UG9pbnQgZm9yIHRoZWlyIHBhaW50IG9mZnNldCBpbnN0ZWFkIG9mCisgICAg
ICAgIGEgcGFpciBvZiBpbnRzLiBwYWludE9iamVjdCBpcyBzdGlsbCBvbiB0eC90eSwgYnV0IHBh
aW50TWFzayB3YXMgY29udmVydGVkIHRvIEludFNpemUKKyAgICAgICAgcGFzc2VkIGJ5IHZhbHVl
IC0tIGJyaW5naW5nIGl0IGluLWxpbmUgd2l0aCB0aGUgYWdyZWVkLXVwb24gY29udmVudGlvbiBv
ZiBhIGNvbnN0IEludFBvaW50Ji4KKworICAgICAgICBObyBuZXcgdGVzdHMgc2luY2UgdGhpcyBp
cyBzaW1wbGUgcmVmYWN0b3JpbmcuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBhaW50KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrOjpwYWludE9iamVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnBhaW50TWFzayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCb3g6OnB1c2hDb250ZW50c0NsaXApOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpw
b3BDb250ZW50c0NsaXApOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJveDo6cGFpbnRPYmplY3QpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJGaWVsZHNldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWVsZHNldDo6
cGFpbnRNYXNrKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnBhaW50T2JqZWN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGlzdEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpwYWlu
dE9iamVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
UmVwbGFjZWQ6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGljYS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsaWNhOjpwYWludCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpw
YWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6cGFpbnRPYmplY3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGU6OnBhaW50TWFzayk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRhYmxlLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OnBhaW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6cGFpbnRPYmplY3QpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGV4dENvbnRyb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRy
b2w6OnBhaW50UGxhY2Vob2xkZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRy
b2w6OnBhaW50T2JqZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJWaWV3OjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcldpZGdldC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJXaWRnZXQ6OnBhaW50KToKKwogMjAxMS0wNi0w
MyAgQ2FyeSBDbGFyayAgPGNhcnljbGFya0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCShyZXZpc2lvbiA4ODA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyNjAsNyArMjI2MCw3IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQKICAgICB9CiAKICAgICBib29sIHB1c2hl
ZENsaXAgPSBwdXNoQ29udGVudHNDbGlwKHBhaW50SW5mbywgdHgsIHR5KTsKLSAgICBwYWludE9i
amVjdChwYWludEluZm8sIHR4LCB0eSk7CisgICAgcGFpbnRPYmplY3QocGFpbnRJbmZvLCBJbnRQ
b2ludCh0eCwgdHkpKTsKICAgICBpZiAocHVzaGVkQ2xpcCkKICAgICAgICAgcG9wQ29udGVudHND
bGlwKHBhaW50SW5mbywgcGhhc2UsIHR4LCB0eSk7CiAKQEAgLTI0NTgsMjAgKzI0NTgsMjAgQEAg
dm9pZCBSZW5kZXJCbG9jazo6cGFpbnRDYXJldChQYWludEluZm8mIAogICAgIH0KIH0KIAotdm9p
ZCBSZW5kZXJCbG9jazo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwg
aW50IHR5KQordm9pZCBSZW5kZXJCbG9jazo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludElu
Zm8sIGNvbnN0IEludFBvaW50JiBwYWludE9mZnNldCkKIHsKICAgICBQYWludFBoYXNlIHBhaW50
UGhhc2UgPSBwYWludEluZm8ucGhhc2U7CiAKICAgICAvLyAxLiBwYWludCBiYWNrZ3JvdW5kLCBi
b3JkZXJzIGV0YwogICAgIGlmICgocGFpbnRQaGFzZSA9PSBQYWludFBoYXNlQmxvY2tCYWNrZ3Jv
dW5kIHx8IHBhaW50UGhhc2UgPT0gUGFpbnRQaGFzZUNoaWxkQmxvY2tCYWNrZ3JvdW5kKSAmJiBz
dHlsZSgpLT52aXNpYmlsaXR5KCkgPT0gVklTSUJMRSkgewogICAgICAgICBpZiAoaGFzQm94RGVj
b3JhdGlvbnMoKSkKLSAgICAgICAgICAgIHBhaW50Qm94RGVjb3JhdGlvbnMocGFpbnRJbmZvLCBJ
bnRQb2ludCh0eCwgdHkpKTsKKyAgICAgICAgICAgIHBhaW50Qm94RGVjb3JhdGlvbnMocGFpbnRJ
bmZvLCBwYWludE9mZnNldCk7CiAgICAgICAgIGlmIChoYXNDb2x1bW5zKCkpCi0gICAgICAgICAg
ICBwYWludENvbHVtblJ1bGVzKHBhaW50SW5mbywgdHgsIHR5KTsKKyAgICAgICAgICAgIHBhaW50
Q29sdW1uUnVsZXMocGFpbnRJbmZvLCBwYWludE9mZnNldC54KCksIHBhaW50T2Zmc2V0LnkoKSk7
CiAgICAgfQogCiAgICAgaWYgKHBhaW50UGhhc2UgPT0gUGFpbnRQaGFzZU1hc2sgJiYgc3R5bGUo
KS0+dmlzaWJpbGl0eSgpID09IFZJU0lCTEUpIHsKLSAgICAgICAgcGFpbnRNYXNrKHBhaW50SW5m
bywgSW50U2l6ZSh0eCwgdHkpKTsKKyAgICAgICAgcGFpbnRNYXNrKHBhaW50SW5mbywgcGFpbnRP
ZmZzZXQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0yNDgwLDM5ICsyNDgwLDM1IEBA
IHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYKICAgICAgICAgcmV0dXJu
OwogCiAgICAgLy8gQWRqdXN0IG91ciBwYWludGluZyBwb3NpdGlvbiBpZiB3ZSdyZSBpbnNpZGUg
YSBzY3JvbGxlZCBsYXllciAoZS5nLiwgYW4gb3ZlcmZsb3c6YXV0byBkaXYpLgotICAgIGludCBz
Y3JvbGxlZFggPSB0eDsKLSAgICBpbnQgc2Nyb2xsZWRZID0gdHk7Ci0gICAgaWYgKGhhc092ZXJm
bG93Q2xpcCgpKSB7Ci0gICAgICAgIEludFNpemUgb2Zmc2V0ID0gbGF5ZXIoKS0+c2Nyb2xsZWRD
b250ZW50T2Zmc2V0KCk7Ci0gICAgICAgIHNjcm9sbGVkWCAtPSBvZmZzZXQud2lkdGgoKTsKLSAg
ICAgICAgc2Nyb2xsZWRZIC09IG9mZnNldC5oZWlnaHQoKTsKLSAgICB9CisgICAgSW50UG9pbnQg
c2Nyb2xsZWRPZmZzZXQgPSBwYWludE9mZnNldDsKKyAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkp
CisgICAgICAgIHNjcm9sbGVkT2Zmc2V0Lm1vdmUoLWxheWVyKCktPnNjcm9sbGVkQ29udGVudE9m
ZnNldCgpKTsKIAogICAgIC8vIDIuIHBhaW50IGNvbnRlbnRzCiAgICAgaWYgKHBhaW50UGhhc2Ug
IT0gUGFpbnRQaGFzZVNlbGZPdXRsaW5lKSB7CiAgICAgICAgIGlmIChoYXNDb2x1bW5zKCkpCi0g
ICAgICAgICAgICBwYWludENvbHVtbkNvbnRlbnRzKHBhaW50SW5mbywgc2Nyb2xsZWRYLCBzY3Jv
bGxlZFkpOworICAgICAgICAgICAgcGFpbnRDb2x1bW5Db250ZW50cyhwYWludEluZm8sIHNjcm9s
bGVkT2Zmc2V0LngoKSwgc2Nyb2xsZWRPZmZzZXQueSgpKTsKICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgcGFpbnRDb250ZW50cyhwYWludEluZm8sIHNjcm9sbGVkWCwgc2Nyb2xsZWRZKTsKKyAg
ICAgICAgICAgIHBhaW50Q29udGVudHMocGFpbnRJbmZvLCBzY3JvbGxlZE9mZnNldC54KCksIHNj
cm9sbGVkT2Zmc2V0LnkoKSk7CiAgICAgfQogCiAgICAgLy8gMy4gcGFpbnQgc2VsZWN0aW9uCiAg
ICAgLy8gRklYTUU6IE1ha2UgdGhpcyB3b3JrIHdpdGggbXVsdGkgY29sdW1uIGxheW91dHMuICBG
b3Igbm93IGRvbid0IGZpbGwgZ2Fwcy4KICAgICBib29sIGlzUHJpbnRpbmcgPSBkb2N1bWVudCgp
LT5wcmludGluZygpOwogICAgIGlmICghaXNQcmludGluZyAmJiAhaGFzQ29sdW1ucygpKQotICAg
ICAgICBwYWludFNlbGVjdGlvbihwYWludEluZm8sIHNjcm9sbGVkWCwgc2Nyb2xsZWRZKTsgLy8g
RmlsbCBpbiBnYXBzIGluIHNlbGVjdGlvbiBvbiBsaW5lcyBhbmQgYmV0d2VlbiBibG9ja3MuCisg
ICAgICAgIHBhaW50U2VsZWN0aW9uKHBhaW50SW5mbywgc2Nyb2xsZWRPZmZzZXQueCgpLCBzY3Jv
bGxlZE9mZnNldC55KCkpOyAvLyBGaWxsIGluIGdhcHMgaW4gc2VsZWN0aW9uIG9uIGxpbmVzIGFu
ZCBiZXR3ZWVuIGJsb2Nrcy4KIAogICAgIC8vIDQuIHBhaW50IGZsb2F0cy4KICAgICBpZiAocGFp
bnRQaGFzZSA9PSBQYWludFBoYXNlRmxvYXQgfHwgcGFpbnRQaGFzZSA9PSBQYWludFBoYXNlU2Vs
ZWN0aW9uIHx8IHBhaW50UGhhc2UgPT0gUGFpbnRQaGFzZVRleHRDbGlwKSB7CiAgICAgICAgIGlm
IChoYXNDb2x1bW5zKCkpCi0gICAgICAgICAgICBwYWludENvbHVtbkNvbnRlbnRzKHBhaW50SW5m
bywgc2Nyb2xsZWRYLCBzY3JvbGxlZFksIHRydWUpOworICAgICAgICAgICAgcGFpbnRDb2x1bW5D
b250ZW50cyhwYWludEluZm8sIHNjcm9sbGVkT2Zmc2V0LngoKSwgc2Nyb2xsZWRPZmZzZXQueSgp
LCB0cnVlKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgcGFpbnRGbG9hdHMocGFpbnRJbmZv
LCBzY3JvbGxlZFgsIHNjcm9sbGVkWSwgcGFpbnRQaGFzZSA9PSBQYWludFBoYXNlU2VsZWN0aW9u
IHx8IHBhaW50UGhhc2UgPT0gUGFpbnRQaGFzZVRleHRDbGlwKTsKKyAgICAgICAgICAgIHBhaW50
RmxvYXRzKHBhaW50SW5mbywgc2Nyb2xsZWRPZmZzZXQueCgpLCBzY3JvbGxlZE9mZnNldC55KCks
IHBhaW50UGhhc2UgPT0gUGFpbnRQaGFzZVNlbGVjdGlvbiB8fCBwYWludFBoYXNlID09IFBhaW50
UGhhc2VUZXh0Q2xpcCk7CiAgICAgfQogCiAgICAgLy8gNS4gcGFpbnQgb3V0bGluZS4KICAgICBp
ZiAoKHBhaW50UGhhc2UgPT0gUGFpbnRQaGFzZU91dGxpbmUgfHwgcGFpbnRQaGFzZSA9PSBQYWlu
dFBoYXNlU2VsZk91dGxpbmUpICYmIGhhc091dGxpbmUoKSAmJiBzdHlsZSgpLT52aXNpYmlsaXR5
KCkgPT0gVklTSUJMRSkKLSAgICAgICAgcGFpbnRPdXRsaW5lKHBhaW50SW5mby5jb250ZXh0LCBJ
bnRSZWN0KHR4LCB0eSwgd2lkdGgoKSwgaGVpZ2h0KCkpKTsKKyAgICAgICAgcGFpbnRPdXRsaW5l
KHBhaW50SW5mby5jb250ZXh0LCBJbnRSZWN0KHBhaW50T2Zmc2V0LCBzaXplKCkpKTsKIAogICAg
IC8vIDYuIHBhaW50IGNvbnRpbnVhdGlvbiBvdXRsaW5lcy4KICAgICBpZiAoKHBhaW50UGhhc2Ug
PT0gUGFpbnRQaGFzZU91dGxpbmUgfHwgcGFpbnRQaGFzZSA9PSBQYWludFBoYXNlQ2hpbGRPdXRs
aW5lcykpIHsKQEAgLTI1MzIsMTggKzI1MjgsMTggQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFpbnRP
YmplY3QoUGFpbnRJbmZvJgogICAgICAgICAgICAgaWYgKCFpbmxpbmVFbmNsb3NlZEluU2VsZlBh
aW50aW5nTGF5ZXIpCiAgICAgICAgICAgICAgICAgY2ItPmFkZENvbnRpbnVhdGlvbldpdGhPdXRs
aW5lKGlubGluZVJlbmRlcmVyKTsKICAgICAgICAgICAgIGVsc2UgaWYgKCFpbmxpbmVSZW5kZXJl
ci0+Zmlyc3RMaW5lQm94KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lUmVuZGVyZXItPnBhaW50
T3V0bGluZShwYWludEluZm8uY29udGV4dCwgdHggLSB4KCkgKyBpbmxpbmVSZW5kZXJlci0+Y29u
dGFpbmluZ0Jsb2NrKCktPngoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHR5IC0geSgpICsgaW5saW5lUmVuZGVyZXItPmNvbnRhaW5pbmdCbG9jaygpLT55
KCkpOworICAgICAgICAgICAgICAgIGlubGluZVJlbmRlcmVyLT5wYWludE91dGxpbmUocGFpbnRJ
bmZvLmNvbnRleHQsIHBhaW50T2Zmc2V0LngoKSAtIHgoKSArIGlubGluZVJlbmRlcmVyLT5jb250
YWluaW5nQmxvY2soKS0+eCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGFpbnRPZmZzZXQueSgpIC0geSgpICsgaW5saW5lUmVuZGVyZXItPmNvbnRhaW5p
bmdCbG9jaygpLT55KCkpOwogICAgICAgICB9Ci0gICAgICAgIHBhaW50Q29udGludWF0aW9uT3V0
bGluZXMocGFpbnRJbmZvLCB0eCwgdHkpOworICAgICAgICBwYWludENvbnRpbnVhdGlvbk91dGxp
bmVzKHBhaW50SW5mbywgcGFpbnRPZmZzZXQueCgpLCBwYWludE9mZnNldC55KCkpOwogICAgIH0K
IAogICAgIC8vIDcuIHBhaW50IGNhcmV0LgogICAgIC8vIElmIHRoZSBjYXJldCdzIG5vZGUncyBy
ZW5kZXIgb2JqZWN0J3MgY29udGFpbmluZyBibG9jayBpcyB0aGlzIGJsb2NrLCBhbmQgdGhlIHBh
aW50IGFjdGlvbiBpcyBQYWludFBoYXNlRm9yZWdyb3VuZCwKICAgICAvLyB0aGVuIHBhaW50IHRo
ZSBjYXJldC4KICAgICBpZiAocGFpbnRQaGFzZSA9PSBQYWludFBoYXNlRm9yZWdyb3VuZCkgeyAg
ICAgICAgCi0gICAgICAgIHBhaW50Q2FyZXQocGFpbnRJbmZvLCBJbnRQb2ludChzY3JvbGxlZFgs
IHNjcm9sbGVkWSksIEN1cnNvckNhcmV0KTsKLSAgICAgICAgcGFpbnRDYXJldChwYWludEluZm8s
IEludFBvaW50KHNjcm9sbGVkWCwgc2Nyb2xsZWRZKSwgRHJhZ0NhcmV0KTsKKyAgICAgICAgcGFp
bnRDYXJldChwYWludEluZm8sIHNjcm9sbGVkT2Zmc2V0LCBDdXJzb3JDYXJldCk7CisgICAgICAg
IHBhaW50Q2FyZXQocGFpbnRJbmZvLCBzY3JvbGxlZE9mZnNldCwgRHJhZ0NhcmV0KTsKICAgICB9
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCShyZXZpc2lv
biA4ODA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOTMsNyArMjkzLDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgbGF5b3V0
UG9zaXRpb25lZE9iamVjdHMoYm9vbCByZWxheW91dENoaWxkcmVuKTsKIAogICAgIHZpcnR1YWwg
dm9pZCBwYWludChQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7Ci0gICAgdmlydHVhbCB2b2lk
IHBhaW50T2JqZWN0KFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKKyAgICB2aXJ0dWFsIHZv
aWQgcGFpbnRPYmplY3QoUGFpbnRJbmZvJiwgY29uc3QgSW50UG9pbnQmKTsKIAogICAgIGludCBs
b2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKGludCBwb3NpdGlvbiwgaW50IGZpeGVkT2Zmc2V0LCBi
b29sIGFwcGx5VGV4dEluZGVudCA9IHRydWUsIGludCogbG9naWNhbEhlaWdodFJlbWFpbmluZyA9
IDApIGNvbnN0OwogICAgIGludCBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUoaW50IHBvc2l0aW9u
LCBpbnQgZml4ZWRPZmZzZXQsIGJvb2wgYXBwbHlUZXh0SW5kZW50ID0gdHJ1ZSwgaW50KiBsb2dp
Y2FsSGVpZ2h0UmVtYWluaW5nID0gMCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcAkocmV2aXNpb24gODgwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODc2LDEyICs4NzYsMTIgQEAg
dm9pZCBSZW5kZXJCb3g6OnBhaW50Qm94RGVjb3JhdGlvbnMoUGFpbgogICAgICAgICBwYWludElu
Zm8uY29udGV4dC0+ZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKTsKIH0KIAotdm9pZCBSZW5kZXJCb3g6
OnBhaW50TWFzayhQYWludEluZm8mIHBhaW50SW5mbywgSW50U2l6ZSBwYWludE9mZnNldCkKK3Zv
aWQgUmVuZGVyQm94OjpwYWludE1hc2soUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFBv
aW50JiBwYWludE9mZnNldCkKIHsKICAgICBpZiAoIXBhaW50SW5mby5zaG91bGRQYWludFdpdGhp
blJvb3QodGhpcykgfHwgc3R5bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUgfHwgcGFpbnRJ
bmZvLnBoYXNlICE9IFBhaW50UGhhc2VNYXNrIHx8IHBhaW50SW5mby5jb250ZXh0LT5wYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEludFJlY3QgcGFpbnRSZWN0ID0g
SW50UmVjdCh0b1BvaW50KHBhaW50T2Zmc2V0KSwgc2l6ZSgpKTsKKyAgICBJbnRSZWN0IHBhaW50
UmVjdCA9IEludFJlY3QocGFpbnRPZmZzZXQsIHNpemUoKSk7CiAKICAgICAvLyBib3JkZXItZml0
IGNhbiBhZGp1c3Qgd2hlcmUgd2UgcGFpbnQgb3VyIGJvcmRlciBhbmQgYmFja2dyb3VuZC4gIElm
IHNldCwgd2Ugc251Z2x5IGZpdCBvdXIgbGluZSBib3ggZGVzY2VuZGFudHMuICAoVGhlIGlDaGF0
CiAgICAgLy8gYmFsbG9vbiBsYXlvdXQgaXMgYW4gZXhhbXBsZSBvZiB0aGlzKS4KQEAgLTExMTEs
NyArMTExMSw3IEBAIGJvb2wgUmVuZGVyQm94OjpwdXNoQ29udGVudHNDbGlwKFBhaW50SW4KICAg
ICAgICAgcGFpbnRJbmZvLnBoYXNlID0gUGFpbnRQaGFzZUNoaWxkT3V0bGluZXM7CiAgICAgZWxz
ZSBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2VDaGlsZEJsb2NrQmFja2dyb3VuZCkg
ewogICAgICAgICBwYWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlQmxvY2tCYWNrZ3JvdW5kOwot
ICAgICAgICBwYWludE9iamVjdChwYWludEluZm8sIHR4LCB0eSk7CisgICAgICAgIHBhaW50T2Jq
ZWN0KHBhaW50SW5mbywgSW50UG9pbnQodHgsIHR5KSk7CiAgICAgICAgIHBhaW50SW5mby5waGFz
ZSA9IFBhaW50UGhhc2VDaGlsZEJsb2NrQmFja2dyb3VuZHM7CiAgICAgfQogICAgIEludFJlY3Qg
Y2xpcFJlY3QoaXNDb250cm9sQ2xpcCA/IGNvbnRyb2xDbGlwUmVjdChJbnRQb2ludCh0eCwgdHkp
KSA6IG92ZXJmbG93Q2xpcFJlY3QodHgsIHR5KSk7CkBAIC0xMTI5LDcgKzExMjksNyBAQCB2b2lk
IFJlbmRlckJveDo6cG9wQ29udGVudHNDbGlwKFBhaW50SW5mCiAgICAgcGFpbnRJbmZvLmNvbnRl
eHQtPnJlc3RvcmUoKTsKICAgICBpZiAob3JpZ2luYWxQaGFzZSA9PSBQYWludFBoYXNlT3V0bGlu
ZSkgewogICAgICAgICBwYWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlU2VsZk91dGxpbmU7Ci0g
ICAgICAgIHBhaW50T2JqZWN0KHBhaW50SW5mbywgdHgsIHR5KTsKKyAgICAgICAgcGFpbnRPYmpl
Y3QocGFpbnRJbmZvLCBJbnRQb2ludCh0eCwgdHkpKTsKICAgICAgICAgcGFpbnRJbmZvLnBoYXNl
ID0gb3JpZ2luYWxQaGFzZTsKICAgICB9IGVsc2UgaWYgKG9yaWdpbmFsUGhhc2UgPT0gUGFpbnRQ
aGFzZUNoaWxkQmxvY2tCYWNrZ3JvdW5kKQogICAgICAgICBwYWludEluZm8ucGhhc2UgPSBvcmln
aW5hbFBoYXNlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAkocmV2aXNp
b24gODgwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHdvcmtp
bmcgY29weSkKQEAgLTM1Miw5ICszNTIsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBwdXNoQ29udGVu
dHNDbGlwKFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKICAgICB2b2lkIHBvcENvbnRlbnRz
Q2xpcChQYWludEluZm8mLCBQYWludFBoYXNlIG9yaWdpbmFsUGhhc2UsIGludCB0eCwgaW50IHR5
KTsKIAotICAgIHZpcnR1YWwgdm9pZCBwYWludE9iamVjdChQYWludEluZm8mLCBpbnQgLyp0eCov
LCBpbnQgLyp0eSovKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisgICAgdmlydHVhbCB2b2lk
IHBhaW50T2JqZWN0KFBhaW50SW5mbyYsIGNvbnN0IEludFBvaW50JikgeyBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBwYWludEJveERlY29yYXRpb25zKFBhaW50SW5m
byYsIGNvbnN0IEludFBvaW50Jik7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50TWFzayhQYWludElu
Zm8mLCBJbnRTaXplKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRNYXNrKFBhaW50SW5mbyYsIGNv
bnN0IEludFBvaW50Jik7CiAgICAgdmlydHVhbCB2b2lkIGltYWdlQ2hhbmdlZChXcmFwcGVkSW1h
Z2VQdHIsIGNvbnN0IEludFJlY3QqID0gMCk7CiAKICAgICAvLyBDYWxsZWQgd2hlbiBhIHBvc2l0
aW9uZWQgb2JqZWN0IG1vdmVzIGJ1dCBkb2Vzbid0IG5lY2Vzc2FyaWx5IGNoYW5nZSBzaXplLiAg
QSBzaW1wbGlmaWVkIGxheW91dCBpcyBhdHRlbXB0ZWQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGaWVsZHNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZpZWxkc2V0LmNwcAkocmV2aXNpb24gODgwNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NjgsMTIgKzE2OCwxMiBAQCB2b2lkIFJlbmRlckZpZWxkc2V0OjpwYWludEJveERlY29yYXRpb25z
CiAgICAgcGFpbnRCb3JkZXIocGFpbnRJbmZvLmNvbnRleHQsIHBhaW50UmVjdCwgc3R5bGUoKSk7
CiB9CiAKLXZvaWQgUmVuZGVyRmllbGRzZXQ6OnBhaW50TWFzayhQYWludEluZm8mIHBhaW50SW5m
bywgSW50U2l6ZSBwYWludE9mZnNldCkKK3ZvaWQgUmVuZGVyRmllbGRzZXQ6OnBhaW50TWFzayhQ
YWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UG9pbnQmIHBhaW50T2Zmc2V0KQogewogICAg
IGlmIChzdHlsZSgpLT52aXNpYmlsaXR5KCkgIT0gVklTSUJMRSB8fCBwYWludEluZm8ucGhhc2Ug
IT0gUGFpbnRQaGFzZU1hc2spCiAgICAgICAgIHJldHVybjsKIAotICAgIEludFJlY3QgcGFpbnRS
ZWN0ID0gSW50UmVjdCh0b1BvaW50KHBhaW50T2Zmc2V0KSwgc2l6ZSgpKTsKKyAgICBJbnRSZWN0
IHBhaW50UmVjdCA9IEludFJlY3QocGFpbnRPZmZzZXQsIHNpemUoKSk7CiAgICAgUmVuZGVyQm94
KiBsZWdlbmQgPSBmaW5kTGVnZW5kKCk7CiAgICAgaWYgKCFsZWdlbmQpCiAgICAgICAgIHJldHVy
biBSZW5kZXJCbG9jazo6cGFpbnRNYXNrKHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpZWxkc2V0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpZWxkc2V0LmgJKHJldmlzaW9uIDg4MDcx
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpZWxkc2V0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgc3RyZXRj
aGVzVG9NaW5JbnRyaW5zaWNMb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRCb3hEZWNvcmF0aW9ucyhQYWludEluZm8mLCBjb25zdCBJ
bnRQb2ludCYpOwotICAgIHZpcnR1YWwgdm9pZCBwYWludE1hc2soUGFpbnRJbmZvJiwgSW50U2l6
ZSk7CisgICAgdmlydHVhbCB2b2lkIHBhaW50TWFzayhQYWludEluZm8mLCBjb25zdCBJbnRQb2lu
dCYpOwogfTsKIAogaW5saW5lIFJlbmRlckZpZWxkc2V0KiB0b1JlbmRlckZpZWxkc2V0KFJlbmRl
ck9iamVjdCogb2JqZWN0KQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZp
bGVVcGxvYWRDb250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCShyZXZpc2lvbiA4ODA3MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIyNyw3ICsyMjcsNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBSZW5kZXJG
aWxlVXBsb2FkCiAgICAgcmV0dXJuIHN0eWxlLnJlbGVhc2UoKTsKIH0KIAotdm9pZCBSZW5kZXJG
aWxlVXBsb2FkQ29udHJvbDo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0
eCwgaW50IHR5KQordm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6cGFpbnRPYmplY3QoUGFp
bnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFBvaW50JiBwYWludE9mZnNldCkKIHsKICAgICBp
ZiAoc3R5bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUpCiAgICAgICAgIHJldHVybjsKQEAg
LTIzNiw3ICsyMzYsNyBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpwYWludE9iamVj
CiAgICAgLy8gUHVzaCBhIGNsaXAuCiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0
ZVNhdmVyKCpwYWludEluZm8uY29udGV4dCwgZmFsc2UpOwogICAgIGlmIChwYWludEluZm8ucGhh
c2UgPT0gUGFpbnRQaGFzZUZvcmVncm91bmQgfHwgcGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhh
c2VDaGlsZEJsb2NrQmFja2dyb3VuZHMpIHsKLSAgICAgICAgSW50UmVjdCBjbGlwUmVjdCh0eCAr
IGJvcmRlckxlZnQoKSwgdHkgKyBib3JkZXJUb3AoKSwKKyAgICAgICAgSW50UmVjdCBjbGlwUmVj
dChwYWludE9mZnNldC54KCkgKyBib3JkZXJMZWZ0KCksIHBhaW50T2Zmc2V0LnkoKSArIGJvcmRl
clRvcCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoKCkgLSBib3JkZXJMZWZ0KCkg
LSBib3JkZXJSaWdodCgpLCBoZWlnaHQoKSAtIGJvcmRlckJvdHRvbSgpIC0gYm9yZGVyVG9wKCkg
KyBidXR0b25TaGFkb3dIZWlnaHQpOwogICAgICAgICBpZiAoY2xpcFJlY3QuaXNFbXB0eSgpKQog
ICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjUwLDcgKzI1MCw3IEBAIHZvaWQgUmVuZGVyRmlsZVVw
bG9hZENvbnRyb2w6OnBhaW50T2JqZWMKICAgICAgICAgVGV4dFJ1biB0ZXh0UnVuID0gY29uc3Ry
dWN0VGV4dFJ1bih0aGlzLCBmb250LCBkaXNwbGF5ZWRGaWxlbmFtZSwgc3R5bGUoKSwgVGV4dFJ1
bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgUmVzcGVjdERpcmVjdGlvbiB8IFJlc3BlY3REaXJl
Y3Rpb25PdmVycmlkZSk7CiAKICAgICAgICAgLy8gRGV0ZXJtaW5lIHdoZXJlIHRoZSBmaWxlbmFt
ZSBzaG91bGQgYmUgcGxhY2VkCi0gICAgICAgIGludCBjb250ZW50TGVmdCA9IHR4ICsgYm9yZGVy
TGVmdCgpICsgcGFkZGluZ0xlZnQoKTsKKyAgICAgICAgaW50IGNvbnRlbnRMZWZ0ID0gcGFpbnRP
ZmZzZXQueCgpICsgYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKTsKICAgICAgICAgaW50IGJ1
dHRvbkFuZEljb25XaWR0aCA9IG1fYnV0dG9uLT5yZW5kZXJCb3goKS0+d2lkdGgoKSArIGFmdGVy
QnV0dG9uU3BhY2luZwogICAgICAgICAgICAgKyAobV9maWxlQ2hvb3Nlci0+aWNvbigpID8gaWNv
bldpZHRoICsgaWNvbkZpbGVuYW1lU3BhY2luZyA6IDApOwogICAgICAgICBpbnQgdGV4dFg7CkBA
IC0yNzEsNyArMjcxLDcgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6cGFpbnRPYmpl
YwogICAgICAgICAKICAgICAgICAgaWYgKG1fZmlsZUNob29zZXItPmljb24oKSkgewogICAgICAg
ICAgICAgLy8gRGV0ZXJtaW5lIHdoZXJlIHRoZSBpY29uIHNob3VsZCBiZSBwbGFjZWQKLSAgICAg
ICAgICAgIGludCBpY29uWSA9IHR5ICsgYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgKyAoY29u
dGVudEhlaWdodCgpIC0gaWNvbkhlaWdodCkgLyAyOworICAgICAgICAgICAgaW50IGljb25ZID0g
cGFpbnRPZmZzZXQueSgpICsgYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgKyAoY29udGVudEhl
aWdodCgpIC0gaWNvbkhlaWdodCkgLyAyOwogICAgICAgICAgICAgaW50IGljb25YOwogICAgICAg
ICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKICAgICAgICAgICAg
ICAgICBpY29uWCA9IGNvbnRlbnRMZWZ0ICsgbV9idXR0b24tPnJlbmRlckJveCgpLT53aWR0aCgp
ICsgYWZ0ZXJCdXR0b25TcGFjaW5nOwpAQCAtMjg0LDcgKzI4NCw3IEBAIHZvaWQgUmVuZGVyRmls
ZVVwbG9hZENvbnRyb2w6OnBhaW50T2JqZWMKICAgICB9CiAKICAgICAvLyBQYWludCB0aGUgY2hp
bGRyZW4uCi0gICAgUmVuZGVyQmxvY2s6OnBhaW50T2JqZWN0KHBhaW50SW5mbywgdHgsIHR5KTsK
KyAgICBSZW5kZXJCbG9jazo6cGFpbnRPYmplY3QocGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiB9
CiAKIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2Fs
V2lkdGhzKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
aWxlVXBsb2FkQ29udHJvbC5oCShyZXZpc2lvbiA4ODA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3
ICs1Miw3IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQo
KTsKICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgcGFpbnRPYmplY3QoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwor
ICAgIHZpcnR1YWwgdm9pZCBwYWludE9iamVjdChQYWludEluZm8mLCBjb25zdCBJbnRQb2ludCYp
OwogCiAgICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29u
c3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaXN0Qm94LmNwcAkocmV2aXNpb24gODgwNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1Niw3ICsy
NTYsNyBAQCBJbnRSZWN0IFJlbmRlckxpc3RCb3g6Oml0ZW1Cb3VuZGluZ0JveFJlCiAgICAgICAg
ICAgICAgICAgICAgY29udGVudFdpZHRoKCksIGl0ZW1IZWlnaHQoKSk7CiB9CiAgICAgCi12b2lk
IFJlbmRlckxpc3RCb3g6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgs
IGludCB0eSkKK3ZvaWQgUmVuZGVyTGlzdEJveDo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWlu
dEluZm8sIGNvbnN0IEludFBvaW50JiBwYWludE9mZnNldCkKIHsKICAgICBpZiAoc3R5bGUoKS0+
dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUpCiAgICAgICAgIHJldHVybjsKQEAgLTI2NiwzMCArMjY2
LDMwIEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6cGFpbnRPYmplY3QoUGFpbnRJbmYKICAgICBpZiAo
cGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2VGb3JlZ3JvdW5kKSB7CiAgICAgICAgIGludCBp
bmRleCA9IG1faW5kZXhPZmZzZXQ7CiAgICAgICAgIHdoaWxlIChpbmRleCA8IGxpc3RJdGVtc1Np
emUgJiYgaW5kZXggPD0gbV9pbmRleE9mZnNldCArIG51bVZpc2libGVJdGVtcygpKSB7Ci0gICAg
ICAgICAgICBwYWludEl0ZW1Gb3JlZ3JvdW5kKHBhaW50SW5mbywgSW50UG9pbnQodHgsIHR5KSwg
aW5kZXgpOworICAgICAgICAgICAgcGFpbnRJdGVtRm9yZWdyb3VuZChwYWludEluZm8sIHBhaW50
T2Zmc2V0LCBpbmRleCk7CiAgICAgICAgICAgICBpbmRleCsrOwogICAgICAgICB9CiAgICAgfQog
CiAgICAgLy8gUGFpbnQgdGhlIGNoaWxkcmVuLgotICAgIFJlbmRlckJsb2NrOjpwYWludE9iamVj
dChwYWludEluZm8sIHR4LCB0eSk7CisgICAgUmVuZGVyQmxvY2s6OnBhaW50T2JqZWN0KHBhaW50
SW5mbywgcGFpbnRPZmZzZXQpOwogCiAgICAgc3dpdGNoIChwYWludEluZm8ucGhhc2UpIHsKICAg
ICAvLyBEZXBlbmRpbmcgb24gd2hldGhlciB3ZSBoYXZlIG92ZXJsYXkgc2Nyb2xsYmFycyB0aGV5
CiAgICAgLy8gZ2V0IHJlbmRlcmVkIGluIHRoZSBmb3JlZ3JvdW5kIG9yIGJhY2tncm91bmQgcGhh
c2VzCiAgICAgY2FzZSBQYWludFBoYXNlRm9yZWdyb3VuZDoKICAgICAgICAgaWYgKG1fdkJhci0+
aXNPdmVybGF5U2Nyb2xsYmFyKCkpCi0gICAgICAgICAgICBwYWludFNjcm9sbGJhcihwYWludElu
Zm8sIHR4LCB0eSk7CisgICAgICAgICAgICBwYWludFNjcm9sbGJhcihwYWludEluZm8sIHBhaW50
T2Zmc2V0LngoKSwgcGFpbnRPZmZzZXQueSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQ
YWludFBoYXNlQmxvY2tCYWNrZ3JvdW5kOgogICAgICAgICBpZiAoIW1fdkJhci0+aXNPdmVybGF5
U2Nyb2xsYmFyKCkpCi0gICAgICAgICAgICBwYWludFNjcm9sbGJhcihwYWludEluZm8sIHR4LCB0
eSk7CisgICAgICAgICAgICBwYWludFNjcm9sbGJhcihwYWludEluZm8sIHBhaW50T2Zmc2V0Lngo
KSwgcGFpbnRPZmZzZXQueSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQYWludFBoYXNl
Q2hpbGRCbG9ja0JhY2tncm91bmQ6CiAgICAgY2FzZSBQYWludFBoYXNlQ2hpbGRCbG9ja0JhY2tn
cm91bmRzOiB7CiAgICAgICAgIGludCBpbmRleCA9IG1faW5kZXhPZmZzZXQ7CiAgICAgICAgIHdo
aWxlIChpbmRleCA8IGxpc3RJdGVtc1NpemUgJiYgaW5kZXggPD0gbV9pbmRleE9mZnNldCArIG51
bVZpc2libGVJdGVtcygpKSB7Ci0gICAgICAgICAgICBwYWludEl0ZW1CYWNrZ3JvdW5kKHBhaW50
SW5mbywgSW50UG9pbnQodHgsIHR5KSwgaW5kZXgpOworICAgICAgICAgICAgcGFpbnRJdGVtQmFj
a2dyb3VuZChwYWludEluZm8sIHBhaW50T2Zmc2V0LCBpbmRleCk7CiAgICAgICAgICAgICBpbmRl
eCsrOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdEJveC5oCShyZXZpc2lvbiA4ODA3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTY1LDcgKzY1LDcg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgY2FuSGF2ZUNoaWxkcmVuKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBoYXNDb250cm9sQ2xpcCgpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRPYmplY3QoUGFpbnRJbmZv
JiwgaW50IHR4LCBpbnQgdHkpOworICAgIHZpcnR1YWwgdm9pZCBwYWludE9iamVjdChQYWludElu
Zm8mLCBjb25zdCBJbnRQb2ludCYpOwogICAgIHZpcnR1YWwgSW50UmVjdCBjb250cm9sQ2xpcFJl
Y3QoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKIAogICAgIHZpcnR1YWwgYm9vbCBpc1BvaW50SW5P
dmVyZmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEludFBvaW50JiBwb2ludEluQ29u
dGFpbmVyLCBpbnQgdHgsIGludCB0eSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUmVwbGFjZWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSZXBsYWNlZC5jcHAJKHJldmlzaW9uIDg4MDcxKQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA2LDcgKzEw
Niw3IEBAIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OnBhaW50KFBhaW50SW5mbyYgcGEKICAgICAgICAg
cGFpbnRCb3hEZWNvcmF0aW9ucyhwYWludEluZm8sIEludFBvaW50KHR4LCB0eSkpOwogICAgIAog
ICAgIGlmIChwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZU1hc2spIHsKLSAgICAgICAgcGFp
bnRNYXNrKHBhaW50SW5mbywgSW50U2l6ZSh0eCwgdHkpKTsKKyAgICAgICAgcGFpbnRNYXNrKHBh
aW50SW5mbywgSW50UG9pbnQodHgsIHR5KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsaWNhLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGljYS5jcHAJKHJldmlzaW9u
IDg4MDcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxpY2EuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3Niw3IEBAIHZvaWQgUmVuZGVyUmVwbGljYTo6cGFpbnQo
UGFpbnRJbmZvJiBwYWkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFp
bnRCZWhhdmlvck5vcm1hbCwgMCwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJIYXZlVHJhbnNwYXJlbmN5IHwgUmVuZGVyTGF5
ZXI6OlBhaW50TGF5ZXJBcHBsaWVkVHJhbnNmb3JtIHwgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJU
ZW1wb3JhcnlDbGlwUmVjdHMgfCBSZW5kZXJMYXllcjo6UGFpbnRMYXllclBhaW50aW5nUmVmbGVj
dGlvbik7CiAgICAgZWxzZSBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2VNYXNrKQot
ICAgICAgICBwYWludE1hc2socGFpbnRJbmZvLCBJbnRTaXplKHR4LCB0eSkpOworICAgICAgICBw
YWludE1hc2socGFpbnRJbmZvLCBJbnRQb2ludCh0eCwgdHkpKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3Bw
CShyZXZpc2lvbiA4ODA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2OCwxOSArNDY4LDE5IEBAIHZvaWQgUmVuZGVyVGFi
bGU6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQKICAgICB9CiAKICAgICBib29sIHB1c2hlZENsaXAg
PSBwdXNoQ29udGVudHNDbGlwKHBhaW50SW5mbywgdHgsIHR5KTsgICAgCi0gICAgcGFpbnRPYmpl
Y3QocGFpbnRJbmZvLCB0eCwgdHkpOworICAgIHBhaW50T2JqZWN0KHBhaW50SW5mbywgSW50UG9p
bnQodHgsIHR5KSk7CiAgICAgaWYgKHB1c2hlZENsaXApCiAgICAgICAgIHBvcENvbnRlbnRzQ2xp
cChwYWludEluZm8sIHBhaW50UGhhc2UsIHR4LCB0eSk7CiB9CiAKLXZvaWQgUmVuZGVyVGFibGU6
OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkKK3ZvaWQg
UmVuZGVyVGFibGU6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRQ
b2ludCYgcGFpbnRPZmZzZXQpCiB7CiAgICAgUGFpbnRQaGFzZSBwYWludFBoYXNlID0gcGFpbnRJ
bmZvLnBoYXNlOwogICAgIGlmICgocGFpbnRQaGFzZSA9PSBQYWludFBoYXNlQmxvY2tCYWNrZ3Jv
dW5kIHx8IHBhaW50UGhhc2UgPT0gUGFpbnRQaGFzZUNoaWxkQmxvY2tCYWNrZ3JvdW5kKSAmJiBo
YXNCb3hEZWNvcmF0aW9ucygpICYmIHN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBWSVNJQkxFKQot
ICAgICAgICBwYWludEJveERlY29yYXRpb25zKHBhaW50SW5mbywgSW50UG9pbnQodHgsIHR5KSk7
CisgICAgICAgIHBhaW50Qm94RGVjb3JhdGlvbnMocGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiAK
ICAgICBpZiAocGFpbnRQaGFzZSA9PSBQYWludFBoYXNlTWFzaykgewotICAgICAgICBwYWludE1h
c2socGFpbnRJbmZvLCBJbnRTaXplKHR4LCB0eSkpOworICAgICAgICBwYWludE1hc2socGFpbnRJ
bmZvLCBwYWludE9mZnNldCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTQ5OCw3ICs0
OTgsNyBAQCB2b2lkIFJlbmRlclRhYmxlOjpwYWludE9iamVjdChQYWludEluZm8mCiAKICAgICBm
b3IgKFJlbmRlck9iamVjdCogY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNo
aWxkLT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIGlmIChjaGlsZC0+aXNCb3goKSAmJiAhdG9S
ZW5kZXJCb3goY2hpbGQpLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpICYmIChjaGlsZC0+aXNUYWJs
ZVNlY3Rpb24oKSB8fCBjaGlsZCA9PSBtX2NhcHRpb24pKSB7Ci0gICAgICAgICAgICBJbnRQb2lu
dCBjaGlsZFBvaW50ID0gZmxpcEZvcldyaXRpbmdNb2RlKHRvUmVuZGVyQm94KGNoaWxkKSwgSW50
UG9pbnQodHgsIHR5KSwgUGFyZW50VG9DaGlsZEZsaXBwaW5nQWRqdXN0bWVudCk7CisgICAgICAg
ICAgICBJbnRQb2ludCBjaGlsZFBvaW50ID0gZmxpcEZvcldyaXRpbmdNb2RlKHRvUmVuZGVyQm94
KGNoaWxkKSwgcGFpbnRPZmZzZXQsIFBhcmVudFRvQ2hpbGRGbGlwcGluZ0FkanVzdG1lbnQpOwog
ICAgICAgICAgICAgY2hpbGQtPnBhaW50KGluZm8sIGNoaWxkUG9pbnQueCgpLCBjaGlsZFBvaW50
LnkoKSk7CiAgICAgICAgIH0KICAgICB9CkBAIC01MjAsNyArNTIwLDcgQEAgdm9pZCBSZW5kZXJU
YWJsZTo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJgogICAgICAgICAgICAgbV9jdXJyZW50Qm9yZGVy
ID0gJmJvcmRlclN0eWxlc1tpXTsKICAgICAgICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjaGls
ZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpCiAg
ICAgICAgICAgICAgICAgaWYgKGNoaWxkLT5pc1RhYmxlU2VjdGlvbigpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIEludFBvaW50IGNoaWxkUG9pbnQgPSBmbGlwRm9yV3JpdGluZ01vZGUodG9SZW5k
ZXJUYWJsZVNlY3Rpb24oY2hpbGQpLCBJbnRQb2ludCh0eCwgdHkpLCBQYXJlbnRUb0NoaWxkRmxp
cHBpbmdBZGp1c3RtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgSW50UG9pbnQgY2hpbGRQb2lu
dCA9IGZsaXBGb3JXcml0aW5nTW9kZSh0b1JlbmRlclRhYmxlU2VjdGlvbihjaGlsZCksIHBhaW50
T2Zmc2V0LCBQYXJlbnRUb0NoaWxkRmxpcHBpbmdBZGp1c3RtZW50KTsKICAgICAgICAgICAgICAg
ICAgICAgY2hpbGQtPnBhaW50KGluZm8sIGNoaWxkUG9pbnQueCgpLCBjaGlsZFBvaW50LnkoKSk7
CiAgICAgICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC01MjksNyArNTI5LDcgQEAgdm9pZCBS
ZW5kZXJUYWJsZTo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJgogCiAgICAgLy8gUGFpbnQgb3V0bGlu
ZS4KICAgICBpZiAoKHBhaW50UGhhc2UgPT0gUGFpbnRQaGFzZU91dGxpbmUgfHwgcGFpbnRQaGFz
ZSA9PSBQYWludFBoYXNlU2VsZk91dGxpbmUpICYmIGhhc091dGxpbmUoKSAmJiBzdHlsZSgpLT52
aXNpYmlsaXR5KCkgPT0gVklTSUJMRSkKLSAgICAgICAgcGFpbnRPdXRsaW5lKHBhaW50SW5mby5j
b250ZXh0LCBJbnRSZWN0KEludFBvaW50KHR4LCB0eSksIHNpemUoKSkpOworICAgICAgICBwYWlu
dE91dGxpbmUocGFpbnRJbmZvLmNvbnRleHQsIEludFJlY3QocGFpbnRPZmZzZXQsIHNpemUoKSkp
OwogfQogCiB2b2lkIFJlbmRlclRhYmxlOjpzdWJ0cmFjdENhcHRpb25SZWN0KEludFJlY3QmIHJl
Y3QpIGNvbnN0CkBAIC01NzMsMTIgKzU3MywxMiBAQCB2b2lkIFJlbmRlclRhYmxlOjpwYWludEJv
eERlY29yYXRpb25zKFBhCiAgICAgICAgIHBhaW50Qm9yZGVyKHBhaW50SW5mby5jb250ZXh0LCBy
ZWN0LCBzdHlsZSgpKTsKIH0KIAotdm9pZCBSZW5kZXJUYWJsZTo6cGFpbnRNYXNrKFBhaW50SW5m
byYgcGFpbnRJbmZvLCBJbnRTaXplIHBhaW50T2Zmc2V0KQordm9pZCBSZW5kZXJUYWJsZTo6cGFp
bnRNYXNrKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRQb2ludCYgcGFpbnRPZmZzZXQp
CiB7CiAgICAgaWYgKHN0eWxlKCktPnZpc2liaWxpdHkoKSAhPSBWSVNJQkxFIHx8IHBhaW50SW5m
by5waGFzZSAhPSBQYWludFBoYXNlTWFzaykKICAgICAgICAgcmV0dXJuOwogCi0gICAgSW50UmVj
dCByZWN0KHRvUG9pbnQocGFpbnRPZmZzZXQpLCBzaXplKCkpOworICAgIEludFJlY3QgcmVjdChw
YWludE9mZnNldCwgc2l6ZSgpKTsKICAgICBzdWJ0cmFjdENhcHRpb25SZWN0KHJlY3QpOwogCiAg
ICAgcGFpbnRNYXNrSW1hZ2VzKHBhaW50SW5mbywgcmVjdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGUuaAkocmV2aXNpb24gODgwNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjE1LDkgKzIxNSw5
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUNoaWxkKFJlbmRlck9iamVjdCog
b2xkQ2hpbGQpOwogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGludCB0eCwg
aW50IHR5KTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRPYmplY3QoUGFpbnRJbmZvJiwgaW50IHR4
LCBpbnQgdHkpOworICAgIHZpcnR1YWwgdm9pZCBwYWludE9iamVjdChQYWludEluZm8mLCBjb25z
dCBJbnRQb2ludCYpOwogICAgIHZpcnR1YWwgdm9pZCBwYWludEJveERlY29yYXRpb25zKFBhaW50
SW5mbyYsIGNvbnN0IEludFBvaW50Jik7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50TWFzayhQYWlu
dEluZm8mLCBJbnRTaXplKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRNYXNrKFBhaW50SW5mbyYs
IGNvbnN0IEludFBvaW50Jik7CiAgICAgdmlydHVhbCB2b2lkIGxheW91dCgpOwogICAgIHZpcnR1
YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpOwogICAgIHZpcnR1YWwgYm9v
bCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25z
dCBJbnRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgaW50IHR4LCBpbnQgdHksIEhpdFRlc3RBY3Rp
b24pOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2Vj
dGlvbi5jcHAJKHJldmlzaW9uIDg4MDcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlU2VjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkwNCw3ICs5MDQsNyBAQCB2
b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6cGFpbnQoUGFpbnRJbmZvCiAKICAgICBQYWludFBoYXNl
IHBoYXNlID0gcGFpbnRJbmZvLnBoYXNlOwogICAgIGJvb2wgcHVzaGVkQ2xpcCA9IHB1c2hDb250
ZW50c0NsaXAocGFpbnRJbmZvLCB0eCwgdHkpOwotICAgIHBhaW50T2JqZWN0KHBhaW50SW5mbywg
dHgsIHR5KTsKKyAgICBwYWludE9iamVjdChwYWludEluZm8sIEludFBvaW50KHR4LCB0eSkpOwog
ICAgIGlmIChwdXNoZWRDbGlwKQogICAgICAgICBwb3BDb250ZW50c0NsaXAocGFpbnRJbmZvLCBw
aGFzZSwgdHgsIHR5KTsKIH0KQEAgLTk0OCw3ICs5NDgsNyBAQCB2b2lkIFJlbmRlclRhYmxlU2Vj
dGlvbjo6cGFpbnRDZWxsKFJlbmRlCiAgICAgICAgIGNlbGwtPnBhaW50KHBhaW50SW5mbywgY2Vs
bFBvaW50LngoKSwgY2VsbFBvaW50LnkoKSk7CiB9CiAKLXZvaWQgUmVuZGVyVGFibGVTZWN0aW9u
OjpwYWludE9iamVjdChQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkpCit2b2lk
IFJlbmRlclRhYmxlU2VjdGlvbjo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNv
bnN0IEludFBvaW50JiBwYWludE9mZnNldCkKIHsKICAgICAvLyBDaGVjayB3aGljaCByb3dzIGFu
ZCBjb2xzIGFyZSB2aXNpYmxlIGFuZCBvbmx5IHBhaW50IHRoZXNlLgogICAgIC8vIEZJWE1FOiBD
b3VsZCB1c2UgYSBiaW5hcnkgc2VhcmNoIGhlcmUuCkBAIC05NjIsNyArOTYyLDcgQEAgdm9pZCBS
ZW5kZXJUYWJsZVNlY3Rpb246OnBhaW50T2JqZWN0KFBhaQogICAgIHVuc2lnbmVkIGVuZHJvdyA9
IHRvdGFsUm93czsKIAogICAgIEludFJlY3QgbG9jYWxSZXBhaW50UmVjdCA9IHBhaW50SW5mby5y
ZWN0OwotICAgIGxvY2FsUmVwYWludFJlY3QubW92ZSgtdHgsIC10eSk7CisgICAgbG9jYWxSZXBh
aW50UmVjdC5tb3ZlQnkoLXBhaW50T2Zmc2V0KTsKICAgICBpZiAoc3R5bGUoKS0+aXNGbGlwcGVk
QmxvY2tzV3JpdGluZ01vZGUoKSkgewogICAgICAgICBpZiAoc3R5bGUoKS0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSkKICAgICAgICAgICAgIGxvY2FsUmVwYWludFJlY3Quc2V0WShoZWlnaHQo
KSAtIGxvY2FsUmVwYWludFJlY3QubWF4WSgpKTsKQEAgLTEwMTgsNyArMTAxOCw3IEBAIHZvaWQg
UmVuZGVyVGFibGVTZWN0aW9uOjpwYWludE9iamVjdChQYWkKICAgICAgICAgICAgICAgICAgICAg
UmVuZGVyVGFibGVDZWxsKiBjZWxsID0gY3VycmVudC5wcmltYXJ5Q2VsbCgpOwogICAgICAgICAg
ICAgICAgICAgICBpZiAoIWNlbGwgfHwgKHIgPiBzdGFydHJvdyAmJiBwcmltYXJ5Q2VsbEF0KHIg
LSAxLCBjKSA9PSBjZWxsKSB8fCAoYyA+IHN0YXJ0Y29sICYmIHByaW1hcnlDZWxsQXQociwgYyAt
IDEpID09IGNlbGwpKQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
ICAgICAgICAgICAgIHBhaW50Q2VsbChjZWxsLCBwYWludEluZm8sIEludFBvaW50KHR4LCB0eSkp
OworICAgICAgICAgICAgICAgICAgICBwYWludENlbGwoY2VsbCwgcGFpbnRJbmZvLCBwYWludE9m
ZnNldCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2Ug
ewpAQCAtMTA0NSw3ICsxMDQ1LDcgQEAgdm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246OnBhaW50T2Jq
ZWN0KFBhaQogICAgICAgICAgICAgaW50IHNpemUgPSBjZWxscy5zaXplKCk7CiAgICAgICAgICAg
ICAvLyBQYWludCB0aGUgY2VsbHMuCiAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNp
emU7ICsraSkKLSAgICAgICAgICAgICAgICBwYWludENlbGwoY2VsbHNbaV0sIHBhaW50SW5mbywg
SW50UG9pbnQodHgsIHR5KSk7CisgICAgICAgICAgICAgICAgcGFpbnRDZWxsKGNlbGxzW2ldLCBw
YWludEluZm8sIHBhaW50T2Zmc2V0KTsKICAgICAgICAgfQogICAgIH0KIH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmgJKHJldmlzaW9uIDg4
MDcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMzQsNyArMTM0LDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwg
dm9pZCBwYWludChQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7CiAgICAgdmlydHVhbCB2b2lk
IHBhaW50Q2VsbChSZW5kZXJUYWJsZUNlbGwqLCBQYWludEluZm8mLCBjb25zdCBJbnRQb2ludCYp
OwotICAgIHZpcnR1YWwgdm9pZCBwYWludE9iamVjdChQYWludEluZm8mLCBpbnQgdHgsIGludCB0
eSk7CisgICAgdmlydHVhbCB2b2lkIHBhaW50T2JqZWN0KFBhaW50SW5mbyYsIGNvbnN0IEludFBv
aW50Jik7CiAKICAgICB2aXJ0dWFsIHZvaWQgaW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnZVB0ciwg
Y29uc3QgSW50UmVjdCogPSAwKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHRDb250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCShyZXZpc2lvbiA4ODA3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5
OSwxMiArNTk5LDEyIEBAIHZvaWQgUmVuZGVyVGV4dENvbnRyb2w6OnVwZGF0ZVBsYWNlaG9sZGUK
ICAgICAgICAgcmVwYWludCgpOwogfQogCi12b2lkIFJlbmRlclRleHRDb250cm9sOjpwYWludFBs
YWNlaG9sZGVyKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkKK3ZvaWQgUmVu
ZGVyVGV4dENvbnRyb2w6OnBhaW50UGxhY2Vob2xkZXIoUGFpbnRJbmZvJiBwYWludEluZm8sIGNv
bnN0IEludFBvaW50JiBwYWludE9mZnNldCkKIHsKICAgICBpZiAoc3R5bGUoKS0+dmlzaWJpbGl0
eSgpICE9IFZJU0lCTEUpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBJbnRSZWN0IGNsaXBS
ZWN0KHR4ICsgYm9yZGVyTGVmdCgpLCB0eSArIGJvcmRlclRvcCgpLCB3aWR0aCgpIC0gYm9yZGVy
TGVmdCgpIC0gYm9yZGVyUmlnaHQoKSwgaGVpZ2h0KCkgLSBib3JkZXJCb3R0b20oKSAtIGJvcmRl
clRvcCgpKTsKKyAgICBJbnRSZWN0IGNsaXBSZWN0KHBhaW50T2Zmc2V0LngoKSArIGJvcmRlckxl
ZnQoKSwgcGFpbnRPZmZzZXQueSgpICsgYm9yZGVyVG9wKCksIHdpZHRoKCkgLSBib3JkZXJMZWZ0
KCkgLSBib3JkZXJSaWdodCgpLCBoZWlnaHQoKSAtIGJvcmRlckJvdHRvbSgpIC0gYm9yZGVyVG9w
KCkpOwogICAgIGlmIChjbGlwUmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKICAgICAK
QEAgLTYyMywyMyArNjIzLDIzIEBAIHZvaWQgUmVuZGVyVGV4dENvbnRyb2w6OnBhaW50UGxhY2Vo
b2xkZXIKICAgICBSZW5kZXJCb3gqIHRleHRSZW5kZXJlciA9IGlubmVyVGV4dEVsZW1lbnQoKSA/
IGlubmVyVGV4dEVsZW1lbnQoKS0+cmVuZGVyQm94KCkgOiAwOwogICAgIGlmICh0ZXh0UmVuZGVy
ZXIpIHsKICAgICAgICAgSW50UG9pbnQgdGV4dFBvaW50OwotICAgICAgICB0ZXh0UG9pbnQuc2V0
WSh0eSArIHRleHRCbG9ja0luc2V0VG9wKCkgKyBwbGFjZWhvbGRlclN0eWxlLT5mb250TWV0cmlj
cygpLmFzY2VudCgpKTsKKyAgICAgICAgdGV4dFBvaW50LnNldFkocGFpbnRPZmZzZXQueSgpICsg
dGV4dEJsb2NrSW5zZXRUb3AoKSArIHBsYWNlaG9sZGVyU3R5bGUtPmZvbnRNZXRyaWNzKCkuYXNj
ZW50KCkpOwogICAgICAgICBpbnQgc3R5bGVUZXh0SW5kZW50ID0gcGxhY2Vob2xkZXJTdHlsZS0+
dGV4dEluZGVudCgpLmlzRml4ZWQoKSA/IHBsYWNlaG9sZGVyU3R5bGUtPnRleHRJbmRlbnQoKS5j
YWxjTWluVmFsdWUoMCkgOiAwOwogICAgICAgICBpZiAocGxhY2Vob2xkZXJTdHlsZS0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpKQotICAgICAgICAgICAgdGV4dFBvaW50LnNldFgodHggKyBzdHls
ZVRleHRJbmRlbnQgKyB0ZXh0QmxvY2tJbnNldExlZnQoKSk7CisgICAgICAgICAgICB0ZXh0UG9p
bnQuc2V0WChwYWludE9mZnNldC54KCkgKyBzdHlsZVRleHRJbmRlbnQgKyB0ZXh0QmxvY2tJbnNl
dExlZnQoKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRleHRQb2ludC5zZXRYKHR4ICsg
d2lkdGgoKSAtIHRleHRCbG9ja0luc2V0UmlnaHQoKSAtIHN0eWxlVGV4dEluZGVudCAtIHN0eWxl
KCktPmZvbnQoKS53aWR0aCh0ZXh0UnVuKSk7CisgICAgICAgICAgICB0ZXh0UG9pbnQuc2V0WChw
YWludE9mZnNldC54KCkgKyB3aWR0aCgpIC0gdGV4dEJsb2NrSW5zZXRSaWdodCgpIC0gc3R5bGVU
ZXh0SW5kZW50IC0gc3R5bGUoKS0+Zm9udCgpLndpZHRoKHRleHRSdW4pKTsKICAgICAgICAgCiAg
ICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5kcmF3QmlkaVRleHQocGxhY2Vob2xkZXJTdHlsZS0+
Zm9udCgpLCB0ZXh0UnVuLCB0ZXh0UG9pbnQpOwogICAgIH0KIH0KIAotdm9pZCBSZW5kZXJUZXh0
Q29udHJvbDo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5
KQordm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludElu
Zm8sIGNvbnN0IEludFBvaW50JiBwYWludE9mZnNldCkKIHsgICAgCiAgICAgaWYgKG1fcGxhY2Vo
b2xkZXJWaXNpYmxlICYmIHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlRm9yZWdyb3VuZCkK
LSAgICAgICAgcGFpbnRQbGFjZWhvbGRlcihwYWludEluZm8sIHR4LCB0eSk7CisgICAgICAgIHBh
aW50UGxhY2Vob2xkZXIocGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiAgICAgCi0gICAgUmVuZGVy
QmxvY2s6OnBhaW50T2JqZWN0KHBhaW50SW5mbywgdHgsIHR5KTsKKyAgICBSZW5kZXJCbG9jazo6
cGFpbnRPYmplY3QocGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbC5oCShyZXZpc2lvbiA4ODA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0Q29udHJvbC5oCSh3b3JraW5nIGNvcHkpCkBAIC05MCw3ICs5MCw3IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUxlZnRvdmVyQW5vbnltb3VzQmxvY2soUmVuZGVyQmxv
Y2sqKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgY2FuSGF2ZUNoaWxkcmVuKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgYXZvaWRzRmxvYXRzKCkgY29uc3QgeyByZXR1
cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgdm9pZCBwYWludE9iamVjdChQYWludEluZm8mLCBpbnQg
dHgsIGludCB0eSk7CisgICAgdmlydHVhbCB2b2lkIHBhaW50T2JqZWN0KFBhaW50SW5mbyYsIGNv
bnN0IEludFBvaW50Jik7CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIGFkZEZvY3VzUmluZ1JlY3Rz
KFZlY3RvcjxJbnRSZWN0PiYsIGNvbnN0IEludFBvaW50Jik7CiAKQEAgLTEwOCw3ICsxMDgsNyBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgaW50IHRleHRCbG9ja0luc2V0UmlnaHQoKSBjb25zdCA9
IDA7CiAgICAgdmlydHVhbCBpbnQgdGV4dEJsb2NrSW5zZXRUb3AoKSBjb25zdCA9IDA7CiAKLSAg
ICB2b2lkIHBhaW50UGxhY2Vob2xkZXIoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOworICAg
IHZvaWQgcGFpbnRQbGFjZWhvbGRlcihQYWludEluZm8mLCBjb25zdCBJbnRQb2ludCYpOwogCiAg
ICAgYm9vbCBtX2xhc3RDaGFuZ2VXYXNVc2VyRWRpdDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCShyZXZpc2lvbiA4ODA3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY4LDcgKzE2
OCw3IEBAIHZvaWQgUmVuZGVyVmlldzo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEkKIHsKICAgICAv
LyBJZiB3ZSBldmVyIHJlcXVpcmUgbGF5b3V0IGJ1dCByZWNlaXZlIGEgcGFpbnQgYW55d2F5LCBz
b21ldGhpbmcgaGFzIGdvbmUgaG9ycmlibHkgd3JvbmcuCiAgICAgQVNTRVJUKCFuZWVkc0xheW91
dCgpKTsKLSAgICBwYWludE9iamVjdChwYWludEluZm8sIHR4LCB0eSk7CisgICAgcGFpbnRPYmpl
Y3QocGFpbnRJbmZvLCBJbnRQb2ludCh0eCwgdHkpKTsKIH0KIAogc3RhdGljIGlubGluZSBib29s
IGlzQ29tcG9zaXRlZChSZW5kZXJPYmplY3QqIG9iamVjdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCShyZXZpc2lvbiA4ODA3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTks
NyArMjU5LDcgQEAgdm9pZCBSZW5kZXJXaWRnZXQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbgogICAg
ICAgICBwYWludEJveERlY29yYXRpb25zKHBhaW50SW5mbywgSW50UG9pbnQodHgsIHR5KSk7CiAK
ICAgICBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2VNYXNrKSB7Ci0gICAgICAgIHBh
aW50TWFzayhwYWludEluZm8sIEludFNpemUodHgsIHR5KSk7CisgICAgICAgIHBhaW50TWFzayhw
YWludEluZm8sIEludFBvaW50KHR4LCB0eSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>