<?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>130473</bug_id>
          
          <creation_ts>2014-03-19 14:08:04 -0700</creation_ts>
          <short_desc>Implement isPointInPath and isPointInStroke with Path2D argument</short_desc>
          <delta_ts>2014-03-20 00:20:00 -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>Canvas</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>http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#path</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>oliver</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>992243</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-03-19 14:08:04 -0700</bug_when>
    <thetext>Implement isPointInPath and isPointInStroke with Path2D argument</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992247</commentid>
    <comment_count>1</comment_count>
      <attachid>227215</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-03-19 14:14:06 -0700</bug_when>
    <thetext>Created attachment 227215
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992266</commentid>
    <comment_count>2</comment_count>
      <attachid>227215</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-03-19 14:35:04 -0700</bug_when>
    <thetext>Comment on attachment 227215
Patch

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

&gt; LayoutTests/fast/canvas/canvas-path-isPointInPath-expected.txt:12
&gt; +PASS ctx.isPointInPath(null, 50, 50) threw exception TypeError: Argument 3 (&apos;winding&apos;) to CanvasRenderingContext2D.isPointInPath must be one of: &quot;nonzero&quot;, &quot;evenodd&quot;.

Discussion on irc suggests this error message is wrong.

&gt; LayoutTests/fast/canvas/script-tests/canvas-path-isPointInPath.js:34
&gt; +shouldThrow(&quot;ctx.isPointInPath({}, 50, 50, &apos;nonzero&apos;)&quot;);
&gt; +shouldThrow(&quot;ctx.isPointInPath({}, 50, 50, &apos;evenodd&apos;)&quot;);

I would like to see some tests where you are passing in some extremely unexpected data, such as Number.MAX_VALUE or strings, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992280</commentid>
    <comment_count>3</comment_count>
      <attachid>227222</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-03-19 15:00:50 -0700</bug_when>
    <thetext>Created attachment 227222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992294</commentid>
    <comment_count>4</comment_count>
      <attachid>227222</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-19 15:40:09 -0700</bug_when>
    <thetext>Comment on attachment 227222
Patch

Clearing flags on attachment: 227222

Committed r165927: &lt;http://trac.webkit.org/changeset/165927&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992295</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-19 15:40:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227215</attachid>
            <date>2014-03-19 14:14:06 -0700</date>
            <delta_ts>2014-03-19 15:00:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>isPointIn.patch</filename>
            <type>text/plain</type>
            <size>17415</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4OTQ5NTMxLi5jNmVkNThkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTQtMDMt
MTkgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQg
aXNQb2ludEluUGF0aCBhbmQgaXNQb2ludEluU3Ryb2tlIHdpdGggUGF0aDJEIGFyZ3VtZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA0NzMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IGlzUG9p
bnRJblBhdGggYW5kIGlzUG9pbnRJblN0cm9rZSB3aXRoIFBhdGgyRCBhcmd1bWVudC4KKworICAg
ICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1wYXRoLWlzUG9pbnRJblBhdGgtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1pc1BvaW50SW5QYXRo
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1wYXRoLWlzUG9pbnRJ
blN0cm9rZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZh
cy1wYXRoLWlzUG9pbnRJblN0cm9rZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZh
cy9zY3JpcHQtdGVzdHMvY2FudmFzLXBhdGgtaXNQb2ludEluUGF0aC5qczogQWRkZWQuCisgICAg
ICAgICogZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLWlzUG9pbnRJblN0cm9r
ZS5qczogQWRkZWQuCisKIDIwMTQtMDMtMTkgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBs
ZS5jb20+CiAKICAgICAgICAgRml4IGN1ZSByZW5kZXJpbmcgdGVzdCBhbmQgaW5jbHVkZSBzdXBw
b3J0IGZvciBsZWZ0L3JpZ2h0IGFsaWdubWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvY2FudmFzLXBhdGgtaXNQb2ludEluUGF0aC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1pc1BvaW50SW5QYXRoLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDQxZDc5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtaXNQb2ludEluUGF0aC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNCBAQAorU2VyaWVzIG9mIHRlc3RzIHRvIGVuc3VyZSBj
b3JyZWN0IHJlc3VsdHMgb2YgaXNQb2ludEluUGF0aCB3aXRoIFBhdGgyRCBhcmd1bWVudC4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY3R4LmlzUG9pbnRJblBhdGgocGF0
aCwgNTAsIDUwKSBpcyB0cnVlCitQQVNTIGN0eC5pc1BvaW50SW5QYXRoKHBhdGgsIE5hTiwgNTAp
IGlzIGZhbHNlCitQQVNTIGN0eC5pc1BvaW50SW5QYXRoKHBhdGgsIDUwLCBOYU4pIGlzIGZhbHNl
CitQQVNTIGN0eC5pc1BvaW50SW5QYXRoKHBhdGgsIDUwLCA1MCwgJ25vbnplcm8nKSBpcyB0cnVl
CitQQVNTIGN0eC5pc1BvaW50SW5QYXRoKHBhdGgsIDUwLCA1MCwgJ2V2ZW5vZGQnKSBpcyBmYWxz
ZQorUEFTUyBjdHguaXNQb2ludEluUGF0aChwYXRoLCA1MCwgNTAsICdub256ZXJvJykgaXMgZmFs
c2UKK1BBU1MgY3R4LmlzUG9pbnRJblBhdGgobnVsbCwgNTAsIDUwKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAzICgnd2luZGluZycpIHRvIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5pc1BvaW50SW5QYXRoIG11c3QgYmUgb25lIG9mOiAibm9uemVybyIsICJldmVub2RkIi4K
K1BBU1MgY3R4LmlzUG9pbnRJblBhdGgobnVsbCwgNTAsIDUwLCAnbm9uemVybycpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGN0eC5pc1BvaW50SW5QYXRoKG51
bGwsIDUwLCA1MCwgJ2V2ZW5vZGQnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVy
cm9yLgorUEFTUyBjdHguaXNQb2ludEluUGF0aChbXSwgNTAsIDUwKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAzICgnd2luZGluZycpIHRvIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5pc1BvaW50SW5QYXRoIG11c3QgYmUgb25lIG9mOiAibm9uemVybyIsICJldmVub2RkIi4K
K1BBU1MgY3R4LmlzUG9pbnRJblBhdGgoW10sIDUwLCA1MCwgJ25vbnplcm8nKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjdHguaXNQb2ludEluUGF0aChbXSwg
NTAsIDUwLCAnZXZlbm9kZCcpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3Iu
CitQQVNTIGN0eC5pc1BvaW50SW5QYXRoKHt9LCA1MCwgNTApIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IEFyZ3VtZW50IDMgKCd3aW5kaW5nJykgdG8gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmlzUG9pbnRJblBhdGggbXVzdCBiZSBvbmUgb2Y6ICJub256ZXJvIiwgImV2ZW5vZGQiLgorUEFT
UyBjdHguaXNQb2ludEluUGF0aCh7fSwgNTAsIDUwLCAnbm9uemVybycpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGN0eC5pc1BvaW50SW5QYXRoKHt9LCA1MCwg
NTAsICdldmVub2RkJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtaXNQb2ludEluUGF0aC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtaXNQb2ludEluUGF0aC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNzQxZDgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1pc1BvaW50SW5Q
YXRoLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFz
IGlkPSJjYW52YXMiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48L2NhbnZhcz4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvY2FudmFzLXBhdGgtaXNQb2ludEluUGF0aC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9j
YW52YXMtcGF0aC1pc1BvaW50SW5TdHJva2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvY2FudmFzLXBhdGgtaXNQb2ludEluU3Ryb2tlLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTIyZDc2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtaXNQb2ludEluU3Ryb2tlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDU2IEBACitTZXJpZXMgb2YgdGVzdHMgdG8gZW5zdXJlIGNvcnJl
Y3QgcmVzdWx0cyBvZiBpc1BvaW50SW5TdHJva2Ugd2l0aCBQYXRoMkQgYXJndW1lbnQuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0
aCwyMCwyMCkgaXMgdHJ1ZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTIwLDIwKSBp
cyB0cnVlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwyMCwxMjApIGlzIHRydWUKK1BB
U1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDEyMCwxMjApIGlzIHRydWUKK1BBU1MgY3R4Lmlz
UG9pbnRJblN0cm9rZShwYXRoLDcwLDIwKSBpcyB0cnVlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJv
a2UocGF0aCwyMCw3MCkgaXMgdHJ1ZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTIw
LDcwKSBpcyB0cnVlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCw3MCwxMjApIGlzIHRy
dWUKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDIyLDIyKSBpcyBmYWxzZQorUEFTUyBj
dHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTE4LDIyKSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2lu
dEluU3Ryb2tlKHBhdGgsMjIsMTE4KSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tl
KHBhdGgsMTE4LDExOCkgaXMgZmFsc2UKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDcw
LDE4KSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTIyLDcwKSBpcyBm
YWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsNzAsMTIyKSBpcyBmYWxzZQorUEFT
UyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTgsNzApIGlzIGZhbHNlCitQQVNTIGN0eC5pc1Bv
aW50SW5TdHJva2UocGF0aCxOYU4sMTIyKSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ry
b2tlKHBhdGgsMTgsTmFOKSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKG51bGws
NzAsMjApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGN0eC5p
c1BvaW50SW5TdHJva2UoW10sMjAsNzApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IuCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2Uoe30sMTIwLDcwKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgs
MjIsMjIpIGlzIHRydWUKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDExOCwyMikgaXMg
dHJ1ZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMjIsMTE4KSBpcyB0cnVlCitQQVNT
IGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMTgsMTE4KSBpcyB0cnVlCitQQVNTIGN0eC5pc1Bv
aW50SW5TdHJva2UocGF0aCw3MCwxOCkgaXMgdHJ1ZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tl
KHBhdGgsMTIyLDcwKSBpcyB0cnVlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCw3MCwx
MjIpIGlzIHRydWUKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDE4LDcwKSBpcyB0cnVl
CitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwyNiw3MCkgaXMgZmFsc2UKK1BBU1MgY3R4
LmlzUG9pbnRJblN0cm9rZShwYXRoLDcwLDI2KSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludElu
U3Ryb2tlKHBhdGgsNzAsMTE0KSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBh
dGgsMTE0LDcwKSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTEzLDIw
KSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTEzLDIwKSBpcyB0cnVl
CitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMTMsMjApIGlzIGZhbHNlCitQQVNTIGN0
eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMTIsMTApIGlzIGZhbHNlCitQQVNTIGN0eC5pc1BvaW50
SW5TdHJva2UocGF0aCwxMTIsMTApIGlzIHRydWUKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShw
YXRoLDExNywxMCkgaXMgZmFsc2UKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDExMiwx
MCkgaXMgdHJ1ZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTE3LDEwKSBpcyBmYWxz
ZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTUsMTApIGlzIHRydWUKK1BBU1MgY3R4
LmlzUG9pbnRJblN0cm9rZShwYXRoLDI1LDEwKSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludElu
U3Ryb2tlKHBhdGgsMzUsMTApIGlzIHRydWUKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRo
LDE1LDEwKSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMjUsMTApIGlz
IHRydWUKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDM1LDEwKSBpcyBmYWxzZQorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1pc1BvaW50SW5TdHJva2Uu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1wYXRoLWlzUG9pbnRJblN0cm9r
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3M2VjYzIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1pc1BvaW50
SW5TdHJva2UuaHRtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxj
YW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjwvY2FudmFzPgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jYW52YXMtcGF0aC1pc1BvaW50SW5TdHJva2UuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLWlzUG9pbnRJblBhdGguanMgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXBhdGgtaXNQb2ludEluUGF0aC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzZhNTg1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRo
LWlzUG9pbnRJblBhdGguanMKQEAgLTAsMCArMSwzNCBAQAorZGVzY3JpcHRpb24oIlNlcmllcyBv
ZiB0ZXN0cyB0byBlbnN1cmUgY29ycmVjdCByZXN1bHRzIG9mIGlzUG9pbnRJblBhdGggd2l0aCBQ
YXRoMkQgYXJndW1lbnQuIik7CisKK3ZhciBjdHggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdj
YW52YXMnKS5nZXRDb250ZXh0KCcyZCcpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjdHgu
Y2FudmFzKTsKKwordmFyIHBhdGggPSBuZXcgUGF0aDJEKCk7CitwYXRoLnJlY3QoMCwgMCwgMTAw
LCAxMDApOworcGF0aC5yZWN0KDI1LCAyNSwgNTAsIDUwKTsKK3Nob3VsZEJlVHJ1ZSgiY3R4Lmlz
UG9pbnRJblBhdGgocGF0aCwgNTAsIDUwKSIpOworc2hvdWxkQmVGYWxzZSgiY3R4LmlzUG9pbnRJ
blBhdGgocGF0aCwgTmFOLCA1MCkiKTsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5QYXRo
KHBhdGgsIDUwLCBOYU4pIik7CisKK3BhdGggPSBuZXcgUGF0aDJEKCk7CitwYXRoLnJlY3QoMCwg
MCwgMTAwLCAxMDApOworcGF0aC5yZWN0KDI1LCAyNSwgNTAsIDUwKTsKK3Nob3VsZEJlVHJ1ZSgi
Y3R4LmlzUG9pbnRJblBhdGgocGF0aCwgNTAsIDUwLCAnbm9uemVybycpIik7CisKK3BhdGggPSBu
ZXcgUGF0aDJEKCk7CitwYXRoLnJlY3QoMCwgMCwgMTAwLCAxMDApOworcGF0aC5yZWN0KDI1LCAy
NSwgNTAsIDUwKTsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5QYXRoKHBhdGgsIDUwLCA1
MCwgJ2V2ZW5vZGQnKSIpOworCitjdHgudHJhbnNsYXRlKDEwMCwxMDApOworc2hvdWxkQmVGYWxz
ZSgiY3R4LmlzUG9pbnRJblBhdGgocGF0aCwgNTAsIDUwLCAnbm9uemVybycpIik7CisKK3Nob3Vs
ZFRocm93KCJjdHguaXNQb2ludEluUGF0aChudWxsLCA1MCwgNTApIik7CitzaG91bGRUaHJvdygi
Y3R4LmlzUG9pbnRJblBhdGgobnVsbCwgNTAsIDUwLCAnbm9uemVybycpIik7CitzaG91bGRUaHJv
dygiY3R4LmlzUG9pbnRJblBhdGgobnVsbCwgNTAsIDUwLCAnZXZlbm9kZCcpIik7CitzaG91bGRU
aHJvdygiY3R4LmlzUG9pbnRJblBhdGgoW10sIDUwLCA1MCkiKTsKK3Nob3VsZFRocm93KCJjdHgu
aXNQb2ludEluUGF0aChbXSwgNTAsIDUwLCAnbm9uemVybycpIik7CitzaG91bGRUaHJvdygiY3R4
LmlzUG9pbnRJblBhdGgoW10sIDUwLCA1MCwgJ2V2ZW5vZGQnKSIpOworc2hvdWxkVGhyb3coImN0
eC5pc1BvaW50SW5QYXRoKHt9LCA1MCwgNTApIik7CitzaG91bGRUaHJvdygiY3R4LmlzUG9pbnRJ
blBhdGgoe30sIDUwLCA1MCwgJ25vbnplcm8nKSIpOworc2hvdWxkVGhyb3coImN0eC5pc1BvaW50
SW5QYXRoKHt9LCA1MCwgNTAsICdldmVub2RkJykiKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2Fu
dmFzLXBhdGgtaXNQb2ludEluU3Ryb2tlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2Ny
aXB0LXRlc3RzL2NhbnZhcy1wYXRoLWlzUG9pbnRJblN0cm9rZS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5mOTUxNjhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLWlzUG9pbnRJblN0cm9rZS5q
cwpAQCAtMCwwICsxLDg1IEBACitkZXNjcmlwdGlvbigiU2VyaWVzIG9mIHRlc3RzIHRvIGVuc3Vy
ZSBjb3JyZWN0IHJlc3VsdHMgb2YgaXNQb2ludEluU3Ryb2tlIHdpdGggUGF0aDJEIGFyZ3VtZW50
LiIpOworCit2YXIgY3R4ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJykuZ2V0Q29u
dGV4dCgnMmQnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY3R4LmNhbnZhcyk7CisKK2N0
eC5zdHJva2VTdHlsZSA9ICcjMGZmJzsKKwordmFyIHBhdGggPSBuZXcgUGF0aDJEKCk7CitwYXRo
LnJlY3QoMjAsMjAsMTAwLDEwMCk7CisKK3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9r
ZShwYXRoLDIwLDIwKSIpOworc2hvdWxkQmVUcnVlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgs
MTIwLDIwKSIpOworc2hvdWxkQmVUcnVlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMjAsMTIw
KSIpOworc2hvdWxkQmVUcnVlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTIwLDEyMCkiKTsK
K3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDcwLDIwKSIpOworc2hvdWxk
QmVUcnVlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMjAsNzApIik7CitzaG91bGRCZVRydWUo
ImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMjAsNzApIik7CitzaG91bGRCZVRydWUoImN0eC5p
c1BvaW50SW5TdHJva2UocGF0aCw3MCwxMjApIik7CitzaG91bGRCZUZhbHNlKCJjdHguaXNQb2lu
dEluU3Ryb2tlKHBhdGgsMjIsMjIpIik7CitzaG91bGRCZUZhbHNlKCJjdHguaXNQb2ludEluU3Ry
b2tlKHBhdGgsMTE4LDIyKSIpOworc2hvdWxkQmVGYWxzZSgiY3R4LmlzUG9pbnRJblN0cm9rZShw
YXRoLDIyLDExOCkiKTsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwx
MTgsMTE4KSIpOworc2hvdWxkQmVGYWxzZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDcwLDE4
KSIpOworc2hvdWxkQmVGYWxzZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDEyMiw3MCkiKTsK
K3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCw3MCwxMjIpIik7CitzaG91
bGRCZUZhbHNlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTgsNzApIik7CitzaG91bGRCZUZh
bHNlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsTmFOLDEyMikiKTsKK3Nob3VsZEJlRmFsc2Uo
ImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxOCxOYU4pIik7CisKK3Nob3VsZFRocm93KCJjdHgu
aXNQb2ludEluU3Ryb2tlKG51bGwsNzAsMjApIik7CitzaG91bGRUaHJvdygiY3R4LmlzUG9pbnRJ
blN0cm9rZShbXSwyMCw3MCkiKTsKK3Nob3VsZFRocm93KCJjdHguaXNQb2ludEluU3Ryb2tlKHt9
LDEyMCw3MCkiKTsKKworY3R4LmxpbmVXaWR0aCA9IDEwOworc2hvdWxkQmVUcnVlKCJjdHguaXNQ
b2ludEluU3Ryb2tlKHBhdGgsMjIsMjIpIik7CitzaG91bGRCZVRydWUoImN0eC5pc1BvaW50SW5T
dHJva2UocGF0aCwxMTgsMjIpIik7CitzaG91bGRCZVRydWUoImN0eC5pc1BvaW50SW5TdHJva2Uo
cGF0aCwyMiwxMTgpIik7CitzaG91bGRCZVRydWUoImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwx
MTgsMTE4KSIpOworc2hvdWxkQmVUcnVlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsNzAsMTgp
Iik7CitzaG91bGRCZVRydWUoImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMjIsNzApIik7Citz
aG91bGRCZVRydWUoImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCw3MCwxMjIpIik7CitzaG91bGRC
ZVRydWUoImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxOCw3MCkiKTsKK3Nob3VsZEJlRmFsc2Uo
ImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwyNiw3MCkiKTsKK3Nob3VsZEJlRmFsc2UoImN0eC5p
c1BvaW50SW5TdHJva2UocGF0aCw3MCwyNikiKTsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50
SW5TdHJva2UocGF0aCw3MCwxMTQpIik7CitzaG91bGRCZUZhbHNlKCJjdHguaXNQb2ludEluU3Ry
b2tlKHBhdGgsMTE0LDcwKSIpOworCitwYXRoID0gbmV3IFBhdGgyRCgpOworcGF0aC5tb3ZlVG8o
MTAsMTApOworcGF0aC5saW5lVG8oMTEwLDIwKTsKK3BhdGgubGluZVRvKDEwLDMwKTsKK2N0eC5s
aW5lSm9pbiA9ICJiZXZlbCI7CitzaG91bGRCZUZhbHNlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBh
dGgsMTEzLDIwKSIpOworCitjdHgubWl0ZXJMaW1pdCA9IDQwLjA7CitjdHgubGluZUpvaW4gPSAi
bWl0ZXIiOworc2hvdWxkQmVUcnVlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTEzLDIwKSIp
OworCitjdHgubWl0ZXJMaW1pdCA9IDIuMDsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5T
dHJva2UocGF0aCwxMTMsMjApIik7CisKK3BhdGggPSBuZXcgUGF0aDJEKCk7CitwYXRoLm1vdmVU
bygxMCwxMCk7CitwYXRoLmxpbmVUbygxMTAsMTApOworY3R4LmxpbmVDYXAgPSAiYnV0dCI7Citz
aG91bGRCZUZhbHNlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTEyLDEwKSIpOworCitjdHgu
bGluZUNhcCA9ICJyb3VuZCI7CitzaG91bGRCZVRydWUoImN0eC5pc1BvaW50SW5TdHJva2UocGF0
aCwxMTIsMTApIik7CitzaG91bGRCZUZhbHNlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTE3
LDEwKSIpOworCitjdHgubGluZUNhcCA9ICJzcXVhcmUiOworc2hvdWxkQmVUcnVlKCJjdHguaXNQ
b2ludEluU3Ryb2tlKHBhdGgsMTEyLDEwKSIpOworc2hvdWxkQmVGYWxzZSgiY3R4LmlzUG9pbnRJ
blN0cm9rZShwYXRoLDExNywxMCkiKTsKKworY3R4LmxpbmVDYXAgPSAiYnV0dCI7CitjdHguc2V0
TGluZURhc2goWzEwLDEwXSk7CitzaG91bGRCZVRydWUoImN0eC5pc1BvaW50SW5TdHJva2UocGF0
aCwxNSwxMCkiKTsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwyNSwx
MCkiKTsKK3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDM1LDEwKSIpOwor
CitjdHgubGluZURhc2hPZmZzZXQgPSAxMDsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5T
dHJva2UocGF0aCwxNSwxMCkiKTsKK3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9rZShw
YXRoLDI1LDEwKSIpOworc2hvdWxkQmVGYWxzZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDM1
LDEwKSIpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3ZDA0M2E0
Li5kZWJhNzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTQtMDMtMTkgIERpcmsg
U2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgaXNQb2ludElu
UGF0aCBhbmQgaXNQb2ludEluU3Ryb2tlIHdpdGggUGF0aDJEIGFyZ3VtZW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA0NzMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgaXNQb2ludElu
UGF0aCBhbmQgaXNQb2ludEluU3Ryb2tlIGZvciAyRCBDYW52YXMgY29udHh0cworICAgICAgICB3
aXRoIFBhdGgyRCBhcmd1bWVudC4KKworCisgICAgICAgIFRlc3RzOiBmYXN0L2NhbnZhcy9jYW52
YXMtcGF0aC1pc1BvaW50SW5QYXRoLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvY2FudmFzL2Nh
bnZhcy1wYXRoLWlzUG9pbnRJblN0cm9rZS5odG1sCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjppc1BvaW50SW5QYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRDo6aXNQb2ludEluU3Ryb2tlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6aXNQb2ludEluUGF0aEludGVybmFsKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6aXNQb2ludEluU3Ryb2tlSW50
ZXJuYWwpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5o
OgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGw6CisK
IDIwMTQtMDMtMTkgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgRml4IGN1ZSByZW5kZXJpbmcgdGVzdCBhbmQgaW5jbHVkZSBzdXBwb3J0IGZvciBsZWZ0L3Jp
Z2h0IGFsaWdubWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKaW5kZXggNDdiODczMC4uNjNmNmVhMyAxMDA3NTUK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQuY3BwCkBAIC05OTYsNiArOTk2LDI4IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEOjpjbGlwSW50ZXJuYWwoY29uc3QgUGF0aCYgcGF0aCwgY29uc3QgU3RyaW5nJiB3aW5kCiAK
IGJvb2wgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjppc1BvaW50SW5QYXRoKGNvbnN0IGZsb2F0
IHgsIGNvbnN0IGZsb2F0IHksIGNvbnN0IFN0cmluZyYgd2luZGluZ1J1bGVTdHJpbmcpCiB7Cisg
ICAgcmV0dXJuIGlzUG9pbnRJblBhdGhJbnRlcm5hbChtX3BhdGgsIHgsIHksIHdpbmRpbmdSdWxl
U3RyaW5nKTsKK30KKworYm9vbCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmlzUG9pbnRJblN0
cm9rZShjb25zdCBmbG9hdCB4LCBjb25zdCBmbG9hdCB5KQoreworICAgIHJldHVybiBpc1BvaW50
SW5TdHJva2VJbnRlcm5hbChtX3BhdGgsIHgsIHkpOworfQorCisjaWYgRU5BQkxFKENBTlZBU19Q
QVRIKQorYm9vbCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmlzUG9pbnRJblBhdGgoRE9NUGF0
aCogcGF0aCwgY29uc3QgZmxvYXQgeCwgY29uc3QgZmxvYXQgeSwgY29uc3QgU3RyaW5nJiB3aW5k
aW5nUnVsZVN0cmluZykKK3sKKyAgICByZXR1cm4gaXNQb2ludEluUGF0aEludGVybmFsKHBhdGgt
PnBhdGgoKSwgeCwgeSwgd2luZGluZ1J1bGVTdHJpbmcpOworfQorCitib29sIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRDo6aXNQb2ludEluU3Ryb2tlKERPTVBhdGgqIHBhdGgsIGNvbnN0IGZsb2F0
IHgsIGNvbnN0IGZsb2F0IHkpCit7CisgICAgcmV0dXJuIGlzUG9pbnRJblN0cm9rZUludGVybmFs
KHBhdGgtPnBhdGgoKSwgeCwgeSk7Cit9CisjZW5kaWYKKworYm9vbCBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OmlzUG9pbnRJblBhdGhJbnRlcm5hbChjb25zdCBQYXRoJiBwYXRoLCBmbG9hdCB4
LCBmbG9hdCB5LCBjb25zdCBTdHJpbmcmIHdpbmRpbmdSdWxlU3RyaW5nKQorewogICAgIEdyYXBo
aWNzQ29udGV4dCogYyA9IGRyYXdpbmdDb250ZXh0KCk7CiAgICAgaWYgKCFjKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CkBAIC0xMDEyLDExICsxMDM0LDEwIEBAIGJvb2wgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjppc1BvaW50SW5QYXRoKGNvbnN0IGZsb2F0IHgsIGNvbnN0IGZsb2F0IHksIGNv
bnN0CiAgICAgaWYgKCFwYXJzZVdpbmRpbmcod2luZGluZ1J1bGVTdHJpbmcsIHdpbmRSdWxlKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAotICAgIHJldHVybiBtX3BhdGguY29udGFpbnMo
dHJhbnNmb3JtZWRQb2ludCwgd2luZFJ1bGUpOworICAgIHJldHVybiBwYXRoLmNvbnRhaW5zKHRy
YW5zZm9ybWVkUG9pbnQsIHdpbmRSdWxlKTsKIH0KIAotCi1ib29sIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRDo6aXNQb2ludEluU3Ryb2tlKGNvbnN0IGZsb2F0IHgsIGNvbnN0IGZsb2F0IHkpCiti
b29sIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6aXNQb2ludEluU3Ryb2tlSW50ZXJuYWwoY29u
c3QgUGF0aCYgcGF0aCwgZmxvYXQgeCwgZmxvYXQgeSkKIHsKICAgICBHcmFwaGljc0NvbnRleHQq
IGMgPSBkcmF3aW5nQ29udGV4dCgpOwogICAgIGlmICghYykKQEAgLTEwMzEsNyArMTA1Miw3IEBA
IGJvb2wgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjppc1BvaW50SW5TdHJva2UoY29uc3QgZmxv
YXQgeCwgY29uc3QgZmxvYXQgeSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgQ2FudmFz
U3Ryb2tlU3R5bGVBcHBsaWVyIGFwcGxpZXIodGhpcyk7Ci0gICAgcmV0dXJuIG1fcGF0aC5zdHJv
a2VDb250YWlucygmYXBwbGllciwgdHJhbnNmb3JtZWRQb2ludCk7CisgICAgcmV0dXJuIHBhdGgu
c3Ryb2tlQ29udGFpbnMoJmFwcGxpZXIsIHRyYW5zZm9ybWVkUG9pbnQpOwogfQogCiB2b2lkIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xlYXJSZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0
IHdpZHRoLCBmbG9hdCBoZWlnaHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oCmluZGV4IDNmYTQyOTkuLjQ3ZmNkZmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRC5oCkBAIC0xNDQsNiArMTQ0LDExIEBAIHB1YmxpYzoKICAgICBib29sIGlzUG9pbnRJ
blBhdGgoY29uc3QgZmxvYXQgeCwgY29uc3QgZmxvYXQgeSwgY29uc3QgU3RyaW5nJiB3aW5kaW5n
ID0gIm5vbnplcm8iKTsKICAgICBib29sIGlzUG9pbnRJblN0cm9rZShjb25zdCBmbG9hdCB4LCBj
b25zdCBmbG9hdCB5KTsKIAorI2lmIEVOQUJMRShDQU5WQVNfUEFUSCkKKyAgICBib29sIGlzUG9p
bnRJblBhdGgoRE9NUGF0aCosIGNvbnN0IGZsb2F0IHgsIGNvbnN0IGZsb2F0IHksIGNvbnN0IFN0
cmluZyYgd2luZGluZyA9ICJub256ZXJvIik7CisgICAgYm9vbCBpc1BvaW50SW5TdHJva2UoRE9N
UGF0aCosIGNvbnN0IGZsb2F0IHgsIGNvbnN0IGZsb2F0IHkpOworI2VuZGlmCisKICAgICB2b2lk
IGNsZWFyUmVjdChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KTsK
ICAgICB2b2lkIGZpbGxSZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBo
ZWlnaHQpOwogICAgIHZvaWQgc3Ryb2tlUmVjdChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0
aCwgZmxvYXQgaGVpZ2h0KTsKQEAgLTMwMyw2ICszMDgsOSBAQCBwcml2YXRlOgogICAgIHZvaWQg
c3Ryb2tlSW50ZXJuYWwoY29uc3QgUGF0aCYpOwogICAgIHZvaWQgY2xpcEludGVybmFsKGNvbnN0
IFBhdGgmLCBjb25zdCBTdHJpbmcmIHdpbmRpbmcpOwogCisgICAgYm9vbCBpc1BvaW50SW5QYXRo
SW50ZXJuYWwoY29uc3QgUGF0aCYsIGZsb2F0IHgsIGZsb2F0IHksIGNvbnN0IFN0cmluZyYgd2lu
ZGluZyk7CisgICAgYm9vbCBpc1BvaW50SW5TdHJva2VJbnRlcm5hbChjb25zdCBQYXRoJiwgZmxv
YXQgeCwgZmxvYXQgeSk7CisKICAgICB2b2lkIGNsZWFyQ2FudmFzKCk7CiAgICAgUGF0aCB0cmFu
c2Zvcm1BcmVhVG9EZXZpY2UoY29uc3QgUGF0aCYpIGNvbnN0OwogICAgIFBhdGggdHJhbnNmb3Jt
QXJlYVRvRGV2aWNlKGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwKaW5kZXgg
ZjIyNGIzNS4uZjEzNzkwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCkBAIC04NCw2ICs4NCwxMSBAQCBpbnRl
cmZhY2UgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7
CiAgICAgdm9pZCBzdHJva2UoKTsKICAgICB2b2lkIGNsaXAob3B0aW9uYWwgQ2FudmFzV2luZGlu
Z1J1bGUgd2luZGluZyk7CiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJiYgRU5B
QkxFX0NBTlZBU19QQVRICisgICAgYm9vbGVhbiBpc1BvaW50SW5QYXRoKERPTVBhdGggcGF0aCwg
ZmxvYXQgeCwgZmxvYXQgeSwgb3B0aW9uYWwgQ2FudmFzV2luZGluZ1J1bGUgd2luZGluZyk7Cisg
ICAgYm9vbGVhbiBpc1BvaW50SW5TdHJva2UoRE9NUGF0aCBwYXRoLCBmbG9hdCB4LCBmbG9hdCB5
KTsKKyNlbmlmCisKICAgICBib29sZWFuIGlzUG9pbnRJblBhdGgoZmxvYXQgeCwgZmxvYXQgeSwg
b3B0aW9uYWwgQ2FudmFzV2luZGluZ1J1bGUgd2luZGluZyk7CiAgICAgYm9vbGVhbiBpc1BvaW50
SW5TdHJva2UoZmxvYXQgeCwgZmxvYXQgeSk7CiAK
</data>
<flag name="review"
          id="251453"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227222</attachid>
            <date>2014-03-19 15:00:50 -0700</date>
            <delta_ts>2014-03-19 15:40:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>isPointIn.patch</filename>
            <type>text/plain</type>
            <size>19750</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4OTQ5NTMxLi45MWZjZjNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTQtMDMt
MTkgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBJbXBsZW1lbnQg
aXNQb2ludEluUGF0aCBhbmQgaXNQb2ludEluU3Ryb2tlIHdpdGggUGF0aDJEIGFyZ3VtZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA0NzMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAgVGVzdCBpc1BvaW50
SW5QYXRoIGFuZCBpc1BvaW50SW5TdHJva2Ugd2l0aCBQYXRoMkQgYXJndW1lbnQuCisKKyAgICAg
ICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1pc1BvaW50SW5QYXRoLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtaXNQb2ludEluUGF0aC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1pc1BvaW50SW5T
dHJva2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMt
cGF0aC1pc1BvaW50SW5TdHJva2UuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMv
c2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLWlzUG9pbnRJblBhdGguanM6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtcGF0aC1pc1BvaW50SW5TdHJva2Uu
anM6IEFkZGVkLgorCiAyMDE0LTAzLTE5ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpeCBjdWUgcmVuZGVyaW5nIHRlc3QgYW5kIGluY2x1ZGUgc3VwcG9y
dCBmb3IgbGVmdC9yaWdodCBhbGlnbm1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL2NhbnZhcy1wYXRoLWlzUG9pbnRJblBhdGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtaXNQb2ludEluUGF0aC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRkNjA5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1wYXRoLWlzUG9pbnRJblBhdGgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzAgQEAKK1NlcmllcyBvZiB0ZXN0cyB0byBlbnN1cmUgY29y
cmVjdCByZXN1bHRzIG9mIGlzUG9pbnRJblBhdGggd2l0aCBQYXRoMkQgYXJndW1lbnQuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGN0eC5pc1BvaW50SW5QYXRoKHBhdGgs
IDUwLCA1MCkgaXMgdHJ1ZQorUEFTUyBjdHguaXNQb2ludEluUGF0aChwYXRoLCBOYU4sIDUwKSBp
cyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluUGF0aChwYXRoLCA1MCwgTmFOKSBpcyBmYWxzZQor
UEFTUyBjdHguaXNQb2ludEluUGF0aChwYXRoLCA1MCwgNTAsICdub256ZXJvJykgaXMgdHJ1ZQor
UEFTUyBjdHguaXNQb2ludEluUGF0aChwYXRoLCA1MCwgNTAsICdldmVub2RkJykgaXMgZmFsc2UK
K1BBU1MgY3R4LmlzUG9pbnRJblBhdGgocGF0aCwgNTAsIDUwLCAnbm9uemVybycpIGlzIGZhbHNl
CitQQVNTIGN0eC5pc1BvaW50SW5QYXRoKG51bGwsIDUwLCA1MCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogQXJndW1lbnQgMyAoJ3dpbmRpbmcnKSB0byBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuaXNQb2ludEluUGF0aCBtdXN0IGJlIG9uZSBvZjogIm5vbnplcm8iLCAiZXZlbm9kZCIuCitQ
QVNTIGN0eC5pc1BvaW50SW5QYXRoKG51bGwsIDUwLCA1MCwgJ25vbnplcm8nKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjdHguaXNQb2ludEluUGF0aChudWxs
LCA1MCwgNTAsICdldmVub2RkJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJv
ci4KK1BBU1MgY3R4LmlzUG9pbnRJblBhdGgoW10sIDUwLCA1MCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogQXJndW1lbnQgMyAoJ3dpbmRpbmcnKSB0byBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuaXNQb2ludEluUGF0aCBtdXN0IGJlIG9uZSBvZjogIm5vbnplcm8iLCAiZXZlbm9kZCIuCitQ
QVNTIGN0eC5pc1BvaW50SW5QYXRoKFtdLCA1MCwgNTAsICdub256ZXJvJykgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgY3R4LmlzUG9pbnRJblBhdGgoW10sIDUw
LCA1MCwgJ2V2ZW5vZGQnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgor
UEFTUyBjdHguaXNQb2ludEluUGF0aCh7fSwgNTAsIDUwKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBBcmd1bWVudCAzICgnd2luZGluZycpIHRvIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5p
c1BvaW50SW5QYXRoIG11c3QgYmUgb25lIG9mOiAibm9uemVybyIsICJldmVub2RkIi4KK1BBU1Mg
Y3R4LmlzUG9pbnRJblBhdGgoe30sIDUwLCA1MCwgJ25vbnplcm8nKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjdHguaXNQb2ludEluUGF0aCh7fSwgNTAsIDUw
LCAnZXZlbm9kZCcpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNT
IGN0eC5pc1BvaW50SW5QYXRoKCdwYXRoMmQnLCA1MCwgNTAsICdldmVub2RkJykgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgY3R4LmlzUG9pbnRJblBhdGgodW5k
ZWZpbmVkLCA1MCwgNTAsICdldmVub2RkJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlw
ZSBlcnJvci4KK1BBU1MgY3R4LmlzUG9pbnRJblBhdGgoTnVtYmVyLk1BWF9WQUxVRSwgNTAsIDUw
LCAnZXZlbm9kZCcpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNT
IGN0eC5pc1BvaW50SW5QYXRoKGZ1bmN0aW9uKCkge30sIDUwLCA1MCwgJ2V2ZW5vZGQnKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjdHguaXNQb2ludEluUGF0
aChmYWxzZSwgNTAsIDUwLCAnZXZlbm9kZCcpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IuCitQQVNTIGN0eC5pc1BvaW50SW5QYXRoKG5ldyBEYXRlKCksIDUwLCA1MCwgJ2V2
ZW5vZGQnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1pc1BvaW50SW5QYXRoLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1pc1BvaW50SW5QYXRoLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Q3NDFkOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1wYXRoLWlzUG9pbnRJblBhdGguaHRt
bApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImNh
bnZhcyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjwvY2FudmFzPgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9jYW52YXMtcGF0aC1pc1BvaW50SW5QYXRoLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1w
YXRoLWlzUG9pbnRJblN0cm9rZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy9jYW52YXMtcGF0aC1pc1BvaW50SW5TdHJva2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkZmJhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1pc1BvaW50SW5TdHJva2UtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNjIgQEAKK1NlcmllcyBvZiB0ZXN0cyB0byBlbnN1cmUgY29ycmVjdCByZXN1
bHRzIG9mIGlzUG9pbnRJblN0cm9rZSB3aXRoIFBhdGgyRCBhcmd1bWVudC4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDIwLDIw
KSBpcyB0cnVlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMjAsMjApIGlzIHRydWUK
K1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDIwLDEyMCkgaXMgdHJ1ZQorUEFTUyBjdHgu
aXNQb2ludEluU3Ryb2tlKHBhdGgsMTIwLDEyMCkgaXMgdHJ1ZQorUEFTUyBjdHguaXNQb2ludElu
U3Ryb2tlKHBhdGgsNzAsMjApIGlzIHRydWUKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRo
LDIwLDcwKSBpcyB0cnVlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMjAsNzApIGlz
IHRydWUKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDcwLDEyMCkgaXMgdHJ1ZQorUEFT
UyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMjIsMjIpIGlzIGZhbHNlCitQQVNTIGN0eC5pc1Bv
aW50SW5TdHJva2UocGF0aCwxMTgsMjIpIGlzIGZhbHNlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJv
a2UocGF0aCwyMiwxMTgpIGlzIGZhbHNlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwx
MTgsMTE4KSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsNzAsMTgpIGlz
IGZhbHNlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMjIsNzApIGlzIGZhbHNlCitQ
QVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCw3MCwxMjIpIGlzIGZhbHNlCitQQVNTIGN0eC5p
c1BvaW50SW5TdHJva2UocGF0aCwxOCw3MCkgaXMgZmFsc2UKK1BBU1MgY3R4LmlzUG9pbnRJblN0
cm9rZShwYXRoLE5hTiwxMjIpIGlzIGZhbHNlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0
aCwxOCxOYU4pIGlzIGZhbHNlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UobnVsbCw3MCwyMCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgY3R4LmlzUG9pbnRJ
blN0cm9rZShbXSwyMCw3MCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
K1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZSh7fSwxMjAsNzApIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGN0eC5pc1BvaW50SW5QYXRoKCdwYXRoMmQnLCA1MCwg
NTApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDMgKCd3aW5kaW5nJykgdG8g
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlzUG9pbnRJblBhdGggbXVzdCBiZSBvbmUgb2Y6ICJu
b256ZXJvIiwgImV2ZW5vZGQiLgorUEFTUyBjdHguaXNQb2ludEluUGF0aCh1bmRlZmluZWQsIDUw
LCA1MCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMyAoJ3dpbmRpbmcnKSB0
byBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaXNQb2ludEluUGF0aCBtdXN0IGJlIG9uZSBvZjog
Im5vbnplcm8iLCAiZXZlbm9kZCIuCitQQVNTIGN0eC5pc1BvaW50SW5QYXRoKE51bWJlci5NQVhf
VkFMVUUsIDUwLCA1MCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMyAoJ3dp
bmRpbmcnKSB0byBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaXNQb2ludEluUGF0aCBtdXN0IGJl
IG9uZSBvZjogIm5vbnplcm8iLCAiZXZlbm9kZCIuCitQQVNTIGN0eC5pc1BvaW50SW5QYXRoKGZ1
bmN0aW9uKCkge30sIDUwLCA1MCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQg
MyAoJ3dpbmRpbmcnKSB0byBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaXNQb2ludEluUGF0aCBt
dXN0IGJlIG9uZSBvZjogIm5vbnplcm8iLCAiZXZlbm9kZCIuCitQQVNTIGN0eC5pc1BvaW50SW5Q
YXRoKGZhbHNlLCA1MCwgNTApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDMg
KCd3aW5kaW5nJykgdG8gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlzUG9pbnRJblBhdGggbXVz
dCBiZSBvbmUgb2Y6ICJub256ZXJvIiwgImV2ZW5vZGQiLgorUEFTUyBjdHguaXNQb2ludEluUGF0
aChuZXcgRGF0ZSgpLCA1MCwgNTApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50
IDMgKCd3aW5kaW5nJykgdG8gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlzUG9pbnRJblBhdGgg
bXVzdCBiZSBvbmUgb2Y6ICJub256ZXJvIiwgImV2ZW5vZGQiLgorUEFTUyBjdHguaXNQb2ludElu
U3Ryb2tlKHBhdGgsMjIsMjIpIGlzIHRydWUKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRo
LDExOCwyMikgaXMgdHJ1ZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMjIsMTE4KSBp
cyB0cnVlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMTgsMTE4KSBpcyB0cnVlCitQ
QVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCw3MCwxOCkgaXMgdHJ1ZQorUEFTUyBjdHguaXNQ
b2ludEluU3Ryb2tlKHBhdGgsMTIyLDcwKSBpcyB0cnVlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJv
a2UocGF0aCw3MCwxMjIpIGlzIHRydWUKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDE4
LDcwKSBpcyB0cnVlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwyNiw3MCkgaXMgZmFs
c2UKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDcwLDI2KSBpcyBmYWxzZQorUEFTUyBj
dHguaXNQb2ludEluU3Ryb2tlKHBhdGgsNzAsMTE0KSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2lu
dEluU3Ryb2tlKHBhdGgsMTE0LDcwKSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tl
KHBhdGgsMTEzLDIwKSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTEz
LDIwKSBpcyB0cnVlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMTMsMjApIGlzIGZh
bHNlCitQQVNTIGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMTIsMTApIGlzIGZhbHNlCitQQVNT
IGN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMTIsMTApIGlzIHRydWUKK1BBU1MgY3R4LmlzUG9p
bnRJblN0cm9rZShwYXRoLDExNywxMCkgaXMgZmFsc2UKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9r
ZShwYXRoLDExMiwxMCkgaXMgdHJ1ZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTE3
LDEwKSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTUsMTApIGlzIHRy
dWUKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDI1LDEwKSBpcyBmYWxzZQorUEFTUyBj
dHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMzUsMTApIGlzIHRydWUKK1BBU1MgY3R4LmlzUG9pbnRJ
blN0cm9rZShwYXRoLDE1LDEwKSBpcyBmYWxzZQorUEFTUyBjdHguaXNQb2ludEluU3Ryb2tlKHBh
dGgsMjUsMTApIGlzIHRydWUKK1BBU1MgY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDM1LDEwKSBp
cyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1pc1Bv
aW50SW5TdHJva2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1wYXRoLWlz
UG9pbnRJblN0cm9rZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3
M2VjYzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMt
cGF0aC1pc1BvaW50SW5TdHJva2UuaHRtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjwv
Y2FudmFzPgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jYW52YXMtcGF0aC1pc1BvaW50SW5T
dHJva2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLWlzUG9pbnRJblBhdGgu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXBhdGgtaXNQ
b2ludEluUGF0aC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYmRlYjc4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3Rz
L2NhbnZhcy1wYXRoLWlzUG9pbnRJblBhdGguanMKQEAgLTAsMCArMSw0MCBAQAorZGVzY3JpcHRp
b24oIlNlcmllcyBvZiB0ZXN0cyB0byBlbnN1cmUgY29ycmVjdCByZXN1bHRzIG9mIGlzUG9pbnRJ
blBhdGggd2l0aCBQYXRoMkQgYXJndW1lbnQuIik7CisKK3ZhciBjdHggPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdjYW52YXMnKS5nZXRDb250ZXh0KCcyZCcpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChjdHguY2FudmFzKTsKKwordmFyIHBhdGggPSBuZXcgUGF0aDJEKCk7CitwYXRoLnJl
Y3QoMCwgMCwgMTAwLCAxMDApOworcGF0aC5yZWN0KDI1LCAyNSwgNTAsIDUwKTsKK3Nob3VsZEJl
VHJ1ZSgiY3R4LmlzUG9pbnRJblBhdGgocGF0aCwgNTAsIDUwKSIpOworc2hvdWxkQmVGYWxzZSgi
Y3R4LmlzUG9pbnRJblBhdGgocGF0aCwgTmFOLCA1MCkiKTsKK3Nob3VsZEJlRmFsc2UoImN0eC5p
c1BvaW50SW5QYXRoKHBhdGgsIDUwLCBOYU4pIik7CisKK3BhdGggPSBuZXcgUGF0aDJEKCk7Citw
YXRoLnJlY3QoMCwgMCwgMTAwLCAxMDApOworcGF0aC5yZWN0KDI1LCAyNSwgNTAsIDUwKTsKK3No
b3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblBhdGgocGF0aCwgNTAsIDUwLCAnbm9uemVybycpIik7
CisKK3BhdGggPSBuZXcgUGF0aDJEKCk7CitwYXRoLnJlY3QoMCwgMCwgMTAwLCAxMDApOworcGF0
aC5yZWN0KDI1LCAyNSwgNTAsIDUwKTsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5QYXRo
KHBhdGgsIDUwLCA1MCwgJ2V2ZW5vZGQnKSIpOworCitjdHgudHJhbnNsYXRlKDEwMCwxMDApOwor
c2hvdWxkQmVGYWxzZSgiY3R4LmlzUG9pbnRJblBhdGgocGF0aCwgNTAsIDUwLCAnbm9uemVybycp
Iik7CisKK3Nob3VsZFRocm93KCJjdHguaXNQb2ludEluUGF0aChudWxsLCA1MCwgNTApIik7Citz
aG91bGRUaHJvdygiY3R4LmlzUG9pbnRJblBhdGgobnVsbCwgNTAsIDUwLCAnbm9uemVybycpIik7
CitzaG91bGRUaHJvdygiY3R4LmlzUG9pbnRJblBhdGgobnVsbCwgNTAsIDUwLCAnZXZlbm9kZCcp
Iik7CitzaG91bGRUaHJvdygiY3R4LmlzUG9pbnRJblBhdGgoW10sIDUwLCA1MCkiKTsKK3Nob3Vs
ZFRocm93KCJjdHguaXNQb2ludEluUGF0aChbXSwgNTAsIDUwLCAnbm9uemVybycpIik7CitzaG91
bGRUaHJvdygiY3R4LmlzUG9pbnRJblBhdGgoW10sIDUwLCA1MCwgJ2V2ZW5vZGQnKSIpOworc2hv
dWxkVGhyb3coImN0eC5pc1BvaW50SW5QYXRoKHt9LCA1MCwgNTApIik7CitzaG91bGRUaHJvdygi
Y3R4LmlzUG9pbnRJblBhdGgoe30sIDUwLCA1MCwgJ25vbnplcm8nKSIpOworc2hvdWxkVGhyb3co
ImN0eC5pc1BvaW50SW5QYXRoKHt9LCA1MCwgNTAsICdldmVub2RkJykiKTsKK3Nob3VsZFRocm93
KCJjdHguaXNQb2ludEluUGF0aCgncGF0aDJkJywgNTAsIDUwLCAnZXZlbm9kZCcpIik7CitzaG91
bGRUaHJvdygiY3R4LmlzUG9pbnRJblBhdGgodW5kZWZpbmVkLCA1MCwgNTAsICdldmVub2RkJyki
KTsKK3Nob3VsZFRocm93KCJjdHguaXNQb2ludEluUGF0aChOdW1iZXIuTUFYX1ZBTFVFLCA1MCwg
NTAsICdldmVub2RkJykiKTsKK3Nob3VsZFRocm93KCJjdHguaXNQb2ludEluUGF0aChmdW5jdGlv
bigpIHt9LCA1MCwgNTAsICdldmVub2RkJykiKTsKK3Nob3VsZFRocm93KCJjdHguaXNQb2ludElu
UGF0aChmYWxzZSwgNTAsIDUwLCAnZXZlbm9kZCcpIik7CitzaG91bGRUaHJvdygiY3R4LmlzUG9p
bnRJblBhdGgobmV3IERhdGUoKSwgNTAsIDUwLCAnZXZlbm9kZCcpIik7ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0
LXRlc3RzL2NhbnZhcy1wYXRoLWlzUG9pbnRJblN0cm9rZS5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtcGF0aC1pc1BvaW50SW5TdHJva2UuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJiNzc1ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtcGF0aC1pc1BvaW50
SW5TdHJva2UuanMKQEAgLTAsMCArMSw5MSBAQAorZGVzY3JpcHRpb24oIlNlcmllcyBvZiB0ZXN0
cyB0byBlbnN1cmUgY29ycmVjdCByZXN1bHRzIG9mIGlzUG9pbnRJblN0cm9rZSB3aXRoIFBhdGgy
RCBhcmd1bWVudC4iKTsKKwordmFyIGN0eCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZh
cycpLmdldENvbnRleHQoJzJkJyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGN0eC5jYW52
YXMpOworCitjdHguc3Ryb2tlU3R5bGUgPSAnIzBmZic7CisKK3ZhciBwYXRoID0gbmV3IFBhdGgy
RCgpOworcGF0aC5yZWN0KDIwLDIwLDEwMCwxMDApOworCitzaG91bGRCZVRydWUoImN0eC5pc1Bv
aW50SW5TdHJva2UocGF0aCwyMCwyMCkiKTsKK3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0
cm9rZShwYXRoLDEyMCwyMCkiKTsKK3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9rZShw
YXRoLDIwLDEyMCkiKTsKK3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDEy
MCwxMjApIik7CitzaG91bGRCZVRydWUoImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCw3MCwyMCki
KTsKK3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDIwLDcwKSIpOworc2hv
dWxkQmVUcnVlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTIwLDcwKSIpOworc2hvdWxkQmVU
cnVlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsNzAsMTIwKSIpOworc2hvdWxkQmVGYWxzZSgi
Y3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDIyLDIyKSIpOworc2hvdWxkQmVGYWxzZSgiY3R4Lmlz
UG9pbnRJblN0cm9rZShwYXRoLDExOCwyMikiKTsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50
SW5TdHJva2UocGF0aCwyMiwxMTgpIik7CitzaG91bGRCZUZhbHNlKCJjdHguaXNQb2ludEluU3Ry
b2tlKHBhdGgsMTE4LDExOCkiKTsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5TdHJva2Uo
cGF0aCw3MCwxOCkiKTsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwx
MjIsNzApIik7CitzaG91bGRCZUZhbHNlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsNzAsMTIy
KSIpOworc2hvdWxkQmVGYWxzZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDE4LDcwKSIpOwor
c2hvdWxkQmVGYWxzZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLE5hTiwxMjIpIik7CitzaG91
bGRCZUZhbHNlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMTgsTmFOKSIpOworCitzaG91bGRU
aHJvdygiY3R4LmlzUG9pbnRJblN0cm9rZShudWxsLDcwLDIwKSIpOworc2hvdWxkVGhyb3coImN0
eC5pc1BvaW50SW5TdHJva2UoW10sMjAsNzApIik7CitzaG91bGRUaHJvdygiY3R4LmlzUG9pbnRJ
blN0cm9rZSh7fSwxMjAsNzApIik7CitzaG91bGRUaHJvdygiY3R4LmlzUG9pbnRJblBhdGgoJ3Bh
dGgyZCcsIDUwLCA1MCkiKTsKK3Nob3VsZFRocm93KCJjdHguaXNQb2ludEluUGF0aCh1bmRlZmlu
ZWQsIDUwLCA1MCkiKTsKK3Nob3VsZFRocm93KCJjdHguaXNQb2ludEluUGF0aChOdW1iZXIuTUFY
X1ZBTFVFLCA1MCwgNTApIik7CitzaG91bGRUaHJvdygiY3R4LmlzUG9pbnRJblBhdGgoZnVuY3Rp
b24oKSB7fSwgNTAsIDUwKSIpOworc2hvdWxkVGhyb3coImN0eC5pc1BvaW50SW5QYXRoKGZhbHNl
LCA1MCwgNTApIik7CitzaG91bGRUaHJvdygiY3R4LmlzUG9pbnRJblBhdGgobmV3IERhdGUoKSwg
NTAsIDUwKSIpOworCitjdHgubGluZVdpZHRoID0gMTA7CitzaG91bGRCZVRydWUoImN0eC5pc1Bv
aW50SW5TdHJva2UocGF0aCwyMiwyMikiKTsKK3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0
cm9rZShwYXRoLDExOCwyMikiKTsKK3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9rZShw
YXRoLDIyLDExOCkiKTsKK3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDEx
OCwxMTgpIik7CitzaG91bGRCZVRydWUoImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCw3MCwxOCki
KTsKK3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDEyMiw3MCkiKTsKK3No
b3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDcwLDEyMikiKTsKK3Nob3VsZEJl
VHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDE4LDcwKSIpOworc2hvdWxkQmVGYWxzZSgi
Y3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDI2LDcwKSIpOworc2hvdWxkQmVGYWxzZSgiY3R4Lmlz
UG9pbnRJblN0cm9rZShwYXRoLDcwLDI2KSIpOworc2hvdWxkQmVGYWxzZSgiY3R4LmlzUG9pbnRJ
blN0cm9rZShwYXRoLDcwLDExNCkiKTsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5TdHJv
a2UocGF0aCwxMTQsNzApIik7CisKK3BhdGggPSBuZXcgUGF0aDJEKCk7CitwYXRoLm1vdmVUbygx
MCwxMCk7CitwYXRoLmxpbmVUbygxMTAsMjApOworcGF0aC5saW5lVG8oMTAsMzApOworY3R4Lmxp
bmVKb2luID0gImJldmVsIjsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5TdHJva2UocGF0
aCwxMTMsMjApIik7CisKK2N0eC5taXRlckxpbWl0ID0gNDAuMDsKK2N0eC5saW5lSm9pbiA9ICJt
aXRlciI7CitzaG91bGRCZVRydWUoImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMTMsMjApIik7
CisKK2N0eC5taXRlckxpbWl0ID0gMi4wOworc2hvdWxkQmVGYWxzZSgiY3R4LmlzUG9pbnRJblN0
cm9rZShwYXRoLDExMywyMCkiKTsKKworcGF0aCA9IG5ldyBQYXRoMkQoKTsKK3BhdGgubW92ZVRv
KDEwLDEwKTsKK3BhdGgubGluZVRvKDExMCwxMCk7CitjdHgubGluZUNhcCA9ICJidXR0IjsKK3No
b3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMTIsMTApIik7CisKK2N0eC5s
aW5lQ2FwID0gInJvdW5kIjsKK3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRo
LDExMiwxMCkiKTsKK3Nob3VsZEJlRmFsc2UoImN0eC5pc1BvaW50SW5TdHJva2UocGF0aCwxMTcs
MTApIik7CisKK2N0eC5saW5lQ2FwID0gInNxdWFyZSI7CitzaG91bGRCZVRydWUoImN0eC5pc1Bv
aW50SW5TdHJva2UocGF0aCwxMTIsMTApIik7CitzaG91bGRCZUZhbHNlKCJjdHguaXNQb2ludElu
U3Ryb2tlKHBhdGgsMTE3LDEwKSIpOworCitjdHgubGluZUNhcCA9ICJidXR0IjsKK2N0eC5zZXRM
aW5lRGFzaChbMTAsMTBdKTsKK3Nob3VsZEJlVHJ1ZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRo
LDE1LDEwKSIpOworc2hvdWxkQmVGYWxzZSgiY3R4LmlzUG9pbnRJblN0cm9rZShwYXRoLDI1LDEw
KSIpOworc2hvdWxkQmVUcnVlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMzUsMTApIik7CisK
K2N0eC5saW5lRGFzaE9mZnNldCA9IDEwOworc2hvdWxkQmVGYWxzZSgiY3R4LmlzUG9pbnRJblN0
cm9rZShwYXRoLDE1LDEwKSIpOworc2hvdWxkQmVUcnVlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBh
dGgsMjUsMTApIik7CitzaG91bGRCZUZhbHNlKCJjdHguaXNQb2ludEluU3Ryb2tlKHBhdGgsMzUs
MTApIik7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdkMDQzYTQu
LjE3MTg0YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxNC0wMy0xOSAgRGlyayBT
Y2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBpc1BvaW50SW5Q
YXRoIGFuZCBpc1BvaW50SW5TdHJva2Ugd2l0aCBQYXRoMkQgYXJndW1lbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDQ3MworCisgICAgICAgIFJl
dmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBJbXBsZW1lbnQgaXNQb2ludEluUGF0
aCBhbmQgaXNQb2ludEluU3Ryb2tlIGZvciAyRCBDYW52YXMgY29udHh0cworICAgICAgICB3aXRo
IFBhdGgyRCBhcmd1bWVudC4KKworCisgICAgICAgIFRlc3RzOiBmYXN0L2NhbnZhcy9jYW52YXMt
cGF0aC1pc1BvaW50SW5QYXRoLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvY2FudmFzL2NhbnZh
cy1wYXRoLWlzUG9pbnRJblN0cm9rZS5odG1sCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjppc1BvaW50SW5QYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRDo6aXNQb2ludEluU3Ryb2tlKToKKyAgICAgICAgKFdlYkNvcmU6OkNh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6aXNQb2ludEluUGF0aEludGVybmFsKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6aXNQb2ludEluU3Ryb2tlSW50ZXJu
YWwpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGw6CisKIDIw
MTQtMDMtMTkgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAg
Rml4IGN1ZSByZW5kZXJpbmcgdGVzdCBhbmQgaW5jbHVkZSBzdXBwb3J0IGZvciBsZWZ0L3JpZ2h0
IGFsaWdubWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKaW5kZXggNDdiODczMC4uNjNmNmVhMyAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuY3BwCkBAIC05OTYsNiArOTk2LDI4IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpjbGlwSW50ZXJuYWwoY29uc3QgUGF0aCYgcGF0aCwgY29uc3QgU3RyaW5nJiB3aW5kCiAKIGJv
b2wgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjppc1BvaW50SW5QYXRoKGNvbnN0IGZsb2F0IHgs
IGNvbnN0IGZsb2F0IHksIGNvbnN0IFN0cmluZyYgd2luZGluZ1J1bGVTdHJpbmcpCiB7CisgICAg
cmV0dXJuIGlzUG9pbnRJblBhdGhJbnRlcm5hbChtX3BhdGgsIHgsIHksIHdpbmRpbmdSdWxlU3Ry
aW5nKTsKK30KKworYm9vbCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmlzUG9pbnRJblN0cm9r
ZShjb25zdCBmbG9hdCB4LCBjb25zdCBmbG9hdCB5KQoreworICAgIHJldHVybiBpc1BvaW50SW5T
dHJva2VJbnRlcm5hbChtX3BhdGgsIHgsIHkpOworfQorCisjaWYgRU5BQkxFKENBTlZBU19QQVRI
KQorYm9vbCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmlzUG9pbnRJblBhdGgoRE9NUGF0aCog
cGF0aCwgY29uc3QgZmxvYXQgeCwgY29uc3QgZmxvYXQgeSwgY29uc3QgU3RyaW5nJiB3aW5kaW5n
UnVsZVN0cmluZykKK3sKKyAgICByZXR1cm4gaXNQb2ludEluUGF0aEludGVybmFsKHBhdGgtPnBh
dGgoKSwgeCwgeSwgd2luZGluZ1J1bGVTdHJpbmcpOworfQorCitib29sIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRDo6aXNQb2ludEluU3Ryb2tlKERPTVBhdGgqIHBhdGgsIGNvbnN0IGZsb2F0IHgs
IGNvbnN0IGZsb2F0IHkpCit7CisgICAgcmV0dXJuIGlzUG9pbnRJblN0cm9rZUludGVybmFsKHBh
dGgtPnBhdGgoKSwgeCwgeSk7Cit9CisjZW5kaWYKKworYm9vbCBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ6OmlzUG9pbnRJblBhdGhJbnRlcm5hbChjb25zdCBQYXRoJiBwYXRoLCBmbG9hdCB4LCBm
bG9hdCB5LCBjb25zdCBTdHJpbmcmIHdpbmRpbmdSdWxlU3RyaW5nKQorewogICAgIEdyYXBoaWNz
Q29udGV4dCogYyA9IGRyYXdpbmdDb250ZXh0KCk7CiAgICAgaWYgKCFjKQogICAgICAgICByZXR1
cm4gZmFsc2U7CkBAIC0xMDEyLDExICsxMDM0LDEwIEBAIGJvb2wgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjppc1BvaW50SW5QYXRoKGNvbnN0IGZsb2F0IHgsIGNvbnN0IGZsb2F0IHksIGNvbnN0
CiAgICAgaWYgKCFwYXJzZVdpbmRpbmcod2luZGluZ1J1bGVTdHJpbmcsIHdpbmRSdWxlKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAotICAgIHJldHVybiBtX3BhdGguY29udGFpbnModHJh
bnNmb3JtZWRQb2ludCwgd2luZFJ1bGUpOworICAgIHJldHVybiBwYXRoLmNvbnRhaW5zKHRyYW5z
Zm9ybWVkUG9pbnQsIHdpbmRSdWxlKTsKIH0KIAotCi1ib29sIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRDo6aXNQb2ludEluU3Ryb2tlKGNvbnN0IGZsb2F0IHgsIGNvbnN0IGZsb2F0IHkpCitib29s
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6aXNQb2ludEluU3Ryb2tlSW50ZXJuYWwoY29uc3Qg
UGF0aCYgcGF0aCwgZmxvYXQgeCwgZmxvYXQgeSkKIHsKICAgICBHcmFwaGljc0NvbnRleHQqIGMg
PSBkcmF3aW5nQ29udGV4dCgpOwogICAgIGlmICghYykKQEAgLTEwMzEsNyArMTA1Miw3IEBAIGJv
b2wgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjppc1BvaW50SW5TdHJva2UoY29uc3QgZmxvYXQg
eCwgY29uc3QgZmxvYXQgeSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgQ2FudmFzU3Ry
b2tlU3R5bGVBcHBsaWVyIGFwcGxpZXIodGhpcyk7Ci0gICAgcmV0dXJuIG1fcGF0aC5zdHJva2VD
b250YWlucygmYXBwbGllciwgdHJhbnNmb3JtZWRQb2ludCk7CisgICAgcmV0dXJuIHBhdGguc3Ry
b2tlQ29udGFpbnMoJmFwcGxpZXIsIHRyYW5zZm9ybWVkUG9pbnQpOwogfQogCiB2b2lkIENhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xlYXJSZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdp
ZHRoLCBmbG9hdCBoZWlnaHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oCmluZGV4IDNmYTQyOTkuLjQ3ZmNkZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5oCkBAIC0xNDQsNiArMTQ0LDExIEBAIHB1YmxpYzoKICAgICBib29sIGlzUG9pbnRJblBh
dGgoY29uc3QgZmxvYXQgeCwgY29uc3QgZmxvYXQgeSwgY29uc3QgU3RyaW5nJiB3aW5kaW5nID0g
Im5vbnplcm8iKTsKICAgICBib29sIGlzUG9pbnRJblN0cm9rZShjb25zdCBmbG9hdCB4LCBjb25z
dCBmbG9hdCB5KTsKIAorI2lmIEVOQUJMRShDQU5WQVNfUEFUSCkKKyAgICBib29sIGlzUG9pbnRJ
blBhdGgoRE9NUGF0aCosIGNvbnN0IGZsb2F0IHgsIGNvbnN0IGZsb2F0IHksIGNvbnN0IFN0cmlu
ZyYgd2luZGluZyA9ICJub256ZXJvIik7CisgICAgYm9vbCBpc1BvaW50SW5TdHJva2UoRE9NUGF0
aCosIGNvbnN0IGZsb2F0IHgsIGNvbnN0IGZsb2F0IHkpOworI2VuZGlmCisKICAgICB2b2lkIGNs
ZWFyUmVjdChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KTsKICAg
ICB2b2lkIGZpbGxSZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWln
aHQpOwogICAgIHZvaWQgc3Ryb2tlUmVjdChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwg
ZmxvYXQgaGVpZ2h0KTsKQEAgLTMwMyw2ICszMDgsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgc3Ry
b2tlSW50ZXJuYWwoY29uc3QgUGF0aCYpOwogICAgIHZvaWQgY2xpcEludGVybmFsKGNvbnN0IFBh
dGgmLCBjb25zdCBTdHJpbmcmIHdpbmRpbmcpOwogCisgICAgYm9vbCBpc1BvaW50SW5QYXRoSW50
ZXJuYWwoY29uc3QgUGF0aCYsIGZsb2F0IHgsIGZsb2F0IHksIGNvbnN0IFN0cmluZyYgd2luZGlu
Zyk7CisgICAgYm9vbCBpc1BvaW50SW5TdHJva2VJbnRlcm5hbChjb25zdCBQYXRoJiwgZmxvYXQg
eCwgZmxvYXQgeSk7CisKICAgICB2b2lkIGNsZWFyQ2FudmFzKCk7CiAgICAgUGF0aCB0cmFuc2Zv
cm1BcmVhVG9EZXZpY2UoY29uc3QgUGF0aCYpIGNvbnN0OwogICAgIFBhdGggdHJhbnNmb3JtQXJl
YVRvRGV2aWNlKGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwKaW5kZXggZjIy
NGIzNS4uNDg2MjIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCkBAIC04NCw2ICs4NCwxMSBAQCBpbnRlcmZh
Y2UgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CiAg
ICAgdm9pZCBzdHJva2UoKTsKICAgICB2b2lkIGNsaXAob3B0aW9uYWwgQ2FudmFzV2luZGluZ1J1
bGUgd2luZGluZyk7CiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJiYgRU5BQkxF
X0NBTlZBU19QQVRICisgICAgYm9vbGVhbiBpc1BvaW50SW5QYXRoKERPTVBhdGggcGF0aCwgZmxv
YXQgeCwgZmxvYXQgeSwgb3B0aW9uYWwgQ2FudmFzV2luZGluZ1J1bGUgd2luZGluZyk7CisgICAg
Ym9vbGVhbiBpc1BvaW50SW5TdHJva2UoRE9NUGF0aCBwYXRoLCBmbG9hdCB4LCBmbG9hdCB5KTsK
KyNlbmRpZgorCiAgICAgYm9vbGVhbiBpc1BvaW50SW5QYXRoKGZsb2F0IHgsIGZsb2F0IHksIG9w
dGlvbmFsIENhbnZhc1dpbmRpbmdSdWxlIHdpbmRpbmcpOwogICAgIGJvb2xlYW4gaXNQb2ludElu
U3Ryb2tlKGZsb2F0IHgsIGZsb2F0IHkpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>