<?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>33324</bug_id>
          
          <creation_ts>2010-01-07 09:10:55 -0800</creation_ts>
          <short_desc>Add touch point bounding rectangle sizes to touch event</short_desc>
          <delta_ts>2011-03-30 04:35:01 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</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>32485</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Petri Latvala">petri.latvala</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>benm</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>mjs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zecke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>178203</commentid>
    <comment_count>0</comment_count>
    <who name="Petri Latvala">petri.latvala</who>
    <bug_when>2010-01-07 09:10:55 -0800</bug_when>
    <thetext>Expose touch point bounding rectangle size to the javascript DOM event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178205</commentid>
    <comment_count>1</comment_count>
      <attachid>46057</attachid>
    <who name="Petri Latvala">petri.latvala</who>
    <bug_when>2010-01-07 09:16:16 -0800</bug_when>
    <thetext>Created attachment 46057
Add bounding box rectangle sizes to touch point DOM objects</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178210</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-07 09:20:03 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 46057 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178481</commentid>
    <comment_count>3</comment_count>
      <attachid>46105</attachid>
    <who name="Petri Latvala">petri.latvala</who>
    <bug_when>2010-01-07 18:31:55 -0800</bug_when>
    <thetext>Created attachment 46105
Touch point bounding box, updated

Badly timed preparation for that earlier patch. This one is against the current HEAD.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178484</commentid>
    <comment_count>4</comment_count>
      <attachid>46106</attachid>
    <who name="Petri Latvala">petri.latvala</who>
    <bug_when>2010-01-07 18:38:32 -0800</bug_when>
    <thetext>Created attachment 46106
Touch point bounding box, try 3

...and that one got diffed incorrectly, and changelog whitespaces were munged. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178485</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-07 18:41:21 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 46106 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181491</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-01-16 00:39:14 -0800</bug_when>
    <thetext>David, Ben: Any thoughts on adding these properties to the JS API?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182195</commentid>
    <comment_count>7</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-01-19 03:18:15 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; David, Ben: Any thoughts on adding these properties to the JS API?

I don&apos;t see any harm in adding these properties. However Android does not support touch point bounding boxes so on Android they will always be empty (I see from the QTouchEvent::TouchPoint API that for the rect() function there is a note &quot;This function returns an empty rect if the device does not report touch point sizes.&quot;)

Looking at the patch, I see that the basic touch test has been augmented with the bounding box information. Would it be possible to move it into it&apos;s own test so that we can skip it on Android?

Cheers, Ben</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182197</commentid>
    <comment_count>8</comment_count>
    <who name="Petri Latvala">petri.latvala</who>
    <bug_when>2010-01-19 03:27:44 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Looking at the patch, I see that the basic touch test has been augmented with
&gt; the bounding box information. Would it be possible to move it into it&apos;s own
&gt; test so that we can skip it on Android?

Certainly, I&apos;ll prepare a new patch that does that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182223</commentid>
    <comment_count>9</comment_count>
      <attachid>46905</attachid>
    <who name="Petri Latvala">petri.latvala</who>
    <bug_when>2010-01-19 07:08:53 -0800</bug_when>
    <thetext>Created attachment 46905
Touch point bounding box, try 4

Touch point bounding rectangle with a new test for it, along with some additional minor changes in the implementation compared to the previous patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186821</commentid>
    <comment_count>10</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2010-02-01 23:23:27 -0800</bug_when>
    <thetext>Just to be pedantic here. A point does not have a bounding rect...  When creating JS API you want to support for years to come you should consider this...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197134</commentid>
    <comment_count>11</comment_count>
      <attachid>46905</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2010-03-08 05:51:11 -0800</bug_when>
    <thetext>Comment on attachment 46905
Touch point bounding box, try 4

I don&apos;t think we want to add the feature at this point to the mainline WebKit

- The touch event API is completely new and not yet standardized. I think it is better to have a compact API covering the most important use cases first and gain some experience before piling in new features.
- Use cases for the feature are not clear so it is hard to evaluate the proposed API. If the main use of the feature is obtaining the strength of the press, would it be better to express that directly as a single number? If the touch shape is really important isn&apos;t an axis-aligned bounding rect too coarse grained way of describing it?
- Platform support is limited (per comments above Android can&apos;t do it for example)
- As zecke pointed out, the concept of point bounds is nonsensical.

r- on these grounds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376189</commentid>
    <comment_count>12</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-03-30 04:35:01 -0700</bug_when>
    <thetext>I close the bug. This is still being discussed in standardization.
We can open a bug later when the draft is in a better shape.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46057</attachid>
            <date>2010-01-07 09:16:16 -0800</date>
            <delta_ts>2010-01-07 18:31:55 -0800</delta_ts>
            <desc>Add bounding box rectangle sizes to touch point DOM objects</desc>
            <filename>bounding.diff</filename>
            <type>text/plain</type>
            <size>17610</size>
            <attacher name="Petri Latvala">petri.latvala</attacher>
            
              <data encoding="base64">dW5jaGFuZ2VkOgotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9iYXNpYy10b3VjaC1ldmVu
dHMtZXhwZWN0ZWQudHh0CVR1ZSBEZWMgMjIgMTQ6NDI6NDAgMjAwOSArMDIwMAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9iYXNpYy10b3VjaC1ldmVudHMtZXhwZWN0ZWQudHh0CVR1ZSBK
YW4gMDUgMTc6NDk6MTAgMjAxMCArMDIwMApAQCAtMTAsNiArMTAsOCBAQAogUEFTUyBsYXN0RXZl
bnQudG91Y2hlc1swXS5wYWdlWSBpcyAxMAogUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5jbGll
bnRYIGlzIDEwCiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLmNsaWVudFkgaXMgMTAKK1BBU1Mg
bGFzdEV2ZW50LnRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDEKK1BBU1MgbGFzdEV2ZW50LnRvdWNo
ZXNbMF0ucmVjdEhlaWdodCBpcyAxCiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLmlkZW50aWZp
ZXIgaXMgMAogUEFTUyBsYXN0RXZlbnQudHlwZSBpcyAidG91Y2htb3ZlIgogUEFTUyBsYXN0RXZl
bnQudG91Y2hlcy5sZW5ndGggaXMgMQpAQCAtMTksNiArMjEsOCBAQAogUEFTUyBsYXN0RXZlbnQu
dG91Y2hlc1swXS5wYWdlWSBpcyAxNQogUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5jbGllbnRY
IGlzIDIwCiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLmNsaWVudFkgaXMgMTUKK1BBU1MgbGFz
dEV2ZW50LnRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDEwCitQQVNTIGxhc3RFdmVudC50b3VjaGVz
WzBdLnJlY3RIZWlnaHQgaXMgMTAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0uaWRlbnRpZmll
ciBpcyAwCiBQQVNTIGxhc3RFdmVudC5zaGlmdEtleSBpcyB0cnVlCiBQQVNTIGxhc3RFdmVudC5h
bHRLZXkgaXMgdHJ1ZQpAQCAtMzIsNiArMzYsOCBAQAogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRv
dWNoZXNbMF0ucGFnZVkgaXMgMTUKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNs
aWVudFggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFkgaXMg
MTUKK1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnJlY3RXaWR0aCBpcyAxMAorUEFT
UyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyAxMAogUEFTUyBsYXN0
RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uaWRlbnRpZmllciBpcyAwCiBQQVNTIGxhc3RFdmVudC5z
aGlmdEtleSBpcyBmYWxzZQogUEFTUyBsYXN0RXZlbnQuYWx0S2V5IGlzIGZhbHNlCkBAIC00NSw2
ICs1MSw4IEBACiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VZIGlzIDEwCiBQQVNTIGxh
c3RFdmVudC50b3VjaGVzWzBdLmNsaWVudFggaXMgMTAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNb
MF0uY2xpZW50WSBpcyAxMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0V2lkdGggaXMg
MQorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0SGVpZ2h0IGlzIDEKIFBBU1MgbGFzdEV2
ZW50LnRvdWNoZXNbMF0uaWRlbnRpZmllciBpcyAwCiBQQVNTIGxhc3RFdmVudC50eXBlIGlzICJ0
b3VjaG1vdmUiCiBQQVNTIGxhc3RFdmVudC50b3VjaGVzLmxlbmd0aCBpcyAyCkBAIC01NCwxNiAr
NjIsMjIgQEAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucGFnZVkgaXMgMTAKIFBBU1MgbGFz
dEV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WCBpcyAxMAogUEFTUyBsYXN0RXZlbnQudG91Y2hlc1sw
XS5jbGllbnRZIGlzIDEwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnJlY3RXaWR0aCBpcyAx
CitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnJlY3RIZWlnaHQgaXMgMQogUEFTUyBsYXN0RXZl
bnQudG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMV0u
cGFnZVggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMV0ucGFnZVkgaXMgMzAKIFBBU1Mg
bGFzdEV2ZW50LnRvdWNoZXNbMV0uY2xpZW50WCBpcyAyMAogUEFTUyBsYXN0RXZlbnQudG91Y2hl
c1sxXS5jbGllbnRZIGlzIDMwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLnJlY3RXaWR0aCBp
cyAxMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1sxXS5yZWN0SGVpZ2h0IGlzIDEwCiBQQVNTIGxh
c3RFdmVudC50b3VjaGVzWzFdLmlkZW50aWZpZXIgaXMgMQogUEFTUyBsYXN0RXZlbnQuY2hhbmdl
ZFRvdWNoZXNbMF0ucGFnZVggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBd
LnBhZ2VZIGlzIDMwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRYIGlz
IDIwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZIGlzIDMwCitQQVNT
IGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5yZWN0V2lkdGggaXMgMTAKK1BBU1MgbGFzdEV2
ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnJlY3RIZWlnaHQgaXMgMTAKIFBBU1MgbGFzdEV2ZW50LmNo
YW5nZWRUb3VjaGVzWzBdLmlkZW50aWZpZXIgaXMgMQogUEFTUyBsYXN0RXZlbnQudHlwZSBpcyAi
dG91Y2htb3ZlIgogUEFTUyBsYXN0RXZlbnQudG91Y2hlcy5sZW5ndGggaXMgMgpAQCAtNzMsMTYg
Kzg3LDIyIEBACiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VZIGlzIDE1CiBQQVNTIGxh
c3RFdmVudC50b3VjaGVzWzBdLmNsaWVudFggaXMgMTUKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNb
MF0uY2xpZW50WSBpcyAxNQorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0V2lkdGggaXMg
MQorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0SGVpZ2h0IGlzIDEKIFBBU1MgbGFzdEV2
ZW50LnRvdWNoZXNbMF0uaWRlbnRpZmllciBpcyAwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91
Y2hlc1swXS5wYWdlWCBpcyAxNQogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucGFn
ZVkgaXMgMTUKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFggaXMgMTUK
IFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFkgaXMgMTUKK1BBU1MgbGFz
dEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnJlY3RXaWR0aCBpcyAxCitQQVNTIGxhc3RFdmVudC5j
aGFuZ2VkVG91Y2hlc1swXS5yZWN0SGVpZ2h0IGlzIDEKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRU
b3VjaGVzWzBdLmlkZW50aWZpZXIgaXMgMAogUEFTUyBsYXN0RXZlbnQudG91Y2hlc1sxXS5wYWdl
WCBpcyAyMAogUEFTUyBsYXN0RXZlbnQudG91Y2hlc1sxXS5wYWdlWSBpcyAzMAogUEFTUyBsYXN0
RXZlbnQudG91Y2hlc1sxXS5jbGllbnRYIGlzIDIwCiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFd
LmNsaWVudFkgaXMgMzAKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMV0ucmVjdFdpZHRoIGlzIDEw
CitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLnJlY3RIZWlnaHQgaXMgMTAKIFBBU1MgbGFzdEV2
ZW50LnRvdWNoZXNbMV0uaWRlbnRpZmllciBpcyAxCiBQQVNTIGxhc3RFdmVudC50eXBlIGlzICJ0
b3VjaG1vdmUiCiBQQVNTIGxhc3RFdmVudC50b3VjaGVzLmxlbmd0aCBpcyAxCkBAIC05MiwxMSAr
MTEyLDE1IEBACiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VZIGlzIDMwCiBQQVNTIGxh
c3RFdmVudC50b3VjaGVzWzBdLmNsaWVudFggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNb
MF0uY2xpZW50WSBpcyAzMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0V2lkdGggaXMg
MTAKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyAxMAogUEFTUyBsYXN0
RXZlbnQudG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDEKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRU
b3VjaGVzWzBdLnBhZ2VYIGlzIDE1CiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5w
YWdlWSBpcyAxNQogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WCBpcyAx
NQogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WSBpcyAxNQorUEFTUyBs
YXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDEKK1BBU1MgbGFzdEV2ZW50
LmNoYW5nZWRUb3VjaGVzWzBdLnJlY3RIZWlnaHQgaXMgMQogUEFTUyBsYXN0RXZlbnQuY2hhbmdl
ZFRvdWNoZXNbMF0uaWRlbnRpZmllciBpcyAwCiBQQVNTIGxhc3RFdmVudC50eXBlIGlzICJ0b3Vj
aGVuZCIKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXMubGVuZ3RoIGlzIDAKQEAgLTEwNiw2ICsxMzAs
OCBAQAogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVkgaXMgMzAKIFBBU1Mg
bGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFggaXMgMjAKIFBBU1MgbGFzdEV2ZW50
LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFkgaXMgMzAKK1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRU
b3VjaGVzWzBdLnJlY3RXaWR0aCBpcyAxMAorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNb
MF0ucmVjdEhlaWdodCBpcyAxMAogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uaWRl
bnRpZmllciBpcyAxCiB2ZXJpZnkgdG91Y2ggdGFyZ2V0cwogUEFTUyBsYXN0RXZlbnQudHlwZSBp
cyAidG91Y2hzdGFydCIKdW5jaGFuZ2VkOgotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9z
Y3JpcHQtdGVzdHMvYmFzaWMtdG91Y2gtZXZlbnRzLmpzCVR1ZSBEZWMgMjIgMTQ6NDI6NDAgMjAw
OSArMDIwMAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY3JpcHQtdGVzdHMvYmFzaWMt
dG91Y2gtZXZlbnRzLmpzCVR1ZSBKYW4gMDUgMTc6NDk6MTAgMjAxMCArMDIwMApAQCAtMjksMTIg
KzI5LDE0IEBACiAgICAgc2hvdWxkQmUoImxhc3RFdmVudC50YXJnZXRUb3VjaGVzLmxlbmd0aCIs
IHRhcmdldFRvdWNoQ291bnQudG9TdHJpbmcoKSk7CiB9CiAKLWZ1bmN0aW9uIHZlcmlmeVRvdWNo
UG9pbnQobGlzdCwgcG9pbnQsIHgsIHksIGlkKQorZnVuY3Rpb24gdmVyaWZ5VG91Y2hQb2ludChs
aXN0LCBwb2ludCwgeCwgeSwgcmVjdHdpZHRoLCByZWN0aGVpZ2h0LCBpZCkKIHsKICAgICBzaG91
bGRCZSgibGFzdEV2ZW50LiIgKyBsaXN0ICsgIlsiICsgcG9pbnQgKyAiXS5wYWdlWCIsIHgudG9T
dHJpbmcoKSk7CiAgICAgc2hvdWxkQmUoImxhc3RFdmVudC4iICsgbGlzdCArICJbIiArIHBvaW50
ICsgIl0ucGFnZVkiLCB5LnRvU3RyaW5nKCkpOwogICAgIHNob3VsZEJlKCJsYXN0RXZlbnQuIiAr
IGxpc3QgKyAiWyIgKyBwb2ludCArICJdLmNsaWVudFgiLCB4LnRvU3RyaW5nKCkpOwogICAgIHNo
b3VsZEJlKCJsYXN0RXZlbnQuIiArIGxpc3QgKyAiWyIgKyBwb2ludCArICJdLmNsaWVudFkiLCB5
LnRvU3RyaW5nKCkpOworICAgIHNob3VsZEJlKCJsYXN0RXZlbnQuIiArIGxpc3QgKyAiWyIgKyBw
b2ludCArICJdLnJlY3RXaWR0aCIsIHJlY3R3aWR0aC50b1N0cmluZygpKTsKKyAgICBzaG91bGRC
ZSgibGFzdEV2ZW50LiIgKyBsaXN0ICsgIlsiICsgcG9pbnQgKyAiXS5yZWN0SGVpZ2h0IiwgcmVj
dGhlaWdodC50b1N0cmluZygpKTsKICAgICBzaG91bGRCZSgibGFzdEV2ZW50LiIgKyBsaXN0ICsg
IlsiICsgcG9pbnQgKyAiXS5pZGVudGlmaWVyIiwgaWQudG9TdHJpbmcoKSk7CiB9CiAKQEAgLTQy
LDIxICs0NCwyMSBAQAogewogICAgIGRlYnVnKCJzaW5nbGUgdG91Y2ggc2VxdWVuY2UiKTsKIAot
ICAgIGV2ZW50U2VuZGVyLmFkZFRvdWNoUG9pbnQoMTAsIDEwKTsKKyAgICBldmVudFNlbmRlci5h
ZGRUb3VjaFBvaW50KDEwLCAxMCwgMSwgMSk7CiAgICAgZXZlbnRTZW5kZXIudG91Y2hTdGFydCgp
OwogCiAgICAgdmVyaWZ5VG91Y2hFdmVudCgidG91Y2hzdGFydCIsIDEsIDEsIDEpOwogICAgIHNo
b3VsZEJlKCJsYXN0RXZlbnQuc2hpZnRLZXkiLCAiZmFsc2UiKTsKICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImxhc3RFdmVudC50b3VjaGVzWzBdLnRhcmdldC5pZCIsICJ0b3VjaHRhcmdldCIp
OwotICAgIHZlcmlmeVRvdWNoUG9pbnQoInRvdWNoZXMiLCAwLCAxMCwgMTAsIDApOworICAgIHZl
cmlmeVRvdWNoUG9pbnQoInRvdWNoZXMiLCAwLCAxMCwgMTAsIDEsIDEsIDApOwogCi0gICAgZXZl
bnRTZW5kZXIudXBkYXRlVG91Y2hQb2ludCgwLCAyMCwgMTUpOworICAgIGV2ZW50U2VuZGVyLnVw
ZGF0ZVRvdWNoUG9pbnQoMCwgMjAsIDE1LCAxMCwgMTApOwogICAgIGV2ZW50U2VuZGVyLnNldFRv
dWNoTW9kaWZpZXIoInNoaWZ0IiwgdHJ1ZSk7CiAgICAgZXZlbnRTZW5kZXIuc2V0VG91Y2hNb2Rp
ZmllcigiYWx0IiwgdHJ1ZSk7CiAgICAgZXZlbnRTZW5kZXIudG91Y2hNb3ZlKCk7CiAKICAgICB2
ZXJpZnlUb3VjaEV2ZW50KCJ0b3VjaG1vdmUiLCAxLCAxLCAxKTsKLSAgICB2ZXJpZnlUb3VjaFBv
aW50KCJ0b3VjaGVzIiwgMCwgMjAsIDE1LCAwKTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0b3Vj
aGVzIiwgMCwgMjAsIDE1LCAxMCwgMTAsIDApOwogICAgIHNob3VsZEJlKCJsYXN0RXZlbnQuc2hp
ZnRLZXkiLCAidHJ1ZSIpOwogICAgIHNob3VsZEJlKCJsYXN0RXZlbnQuYWx0S2V5IiwgInRydWUi
KTsKICAgICBzaG91bGRCZSgibGFzdEV2ZW50LmN0cmxLZXkiLCAiZmFsc2UiKTsKQEAgLTY4LDcg
KzcwLDcgQEAKICAgICBldmVudFNlbmRlci50b3VjaEVuZCgpOwogCiAgICAgdmVyaWZ5VG91Y2hF
dmVudCgidG91Y2hlbmQiLCAwLCAxLCAwKTsKLSAgICB2ZXJpZnlUb3VjaFBvaW50KCJjaGFuZ2Vk
VG91Y2hlcyIsIDAsIDIwLCAxNSwgMCk7CisgICAgdmVyaWZ5VG91Y2hQb2ludCgiY2hhbmdlZFRv
dWNoZXMiLCAwLCAyMCwgMTUsIDEwLCAxMCwgMCk7CiAgICAgc2hvdWxkQmUoImxhc3RFdmVudC5z
aGlmdEtleSIsICJmYWxzZSIpOwogICAgIHNob3VsZEJlKCJsYXN0RXZlbnQuYWx0S2V5IiwgImZh
bHNlIik7CiB9CkBAIC03Nyw1MyArNzksNTMgQEAKIHsKICAgICBkZWJ1ZygibXVsdGkgdG91Y2gg
c2VxdWVuY2UiKTsKIAotICAgIGV2ZW50U2VuZGVyLmFkZFRvdWNoUG9pbnQoMTAsIDEwKTsKKyAg
ICBldmVudFNlbmRlci5hZGRUb3VjaFBvaW50KDEwLCAxMCwgMSwgMSk7CiAgICAgZXZlbnRTZW5k
ZXIudG91Y2hTdGFydCgpOwogCiAgICAgdmVyaWZ5VG91Y2hFdmVudCgidG91Y2hzdGFydCIsIDEs
IDEsIDEpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibGFzdEV2ZW50LnRvdWNoZXNbMF0u
dGFyZ2V0LmlkIiwgInRvdWNodGFyZ2V0Iik7Ci0gICAgdmVyaWZ5VG91Y2hQb2ludCgidG91Y2hl
cyIsIDAsIDEwLCAxMCwgMCk7CisgICAgdmVyaWZ5VG91Y2hQb2ludCgidG91Y2hlcyIsIDAsIDEw
LCAxMCwgMSwgMSwgMCk7CiAKLSAgICBldmVudFNlbmRlci5hZGRUb3VjaFBvaW50KDIwLCAzMCk7
CisgICAgZXZlbnRTZW5kZXIuYWRkVG91Y2hQb2ludCgyMCwgMzAsIDEwLCAxMCk7CiAgICAgZXZl
bnRTZW5kZXIudG91Y2hNb3ZlKCk7CiAKICAgICB2ZXJpZnlUb3VjaEV2ZW50KCJ0b3VjaG1vdmUi
LCAyLCAxLCAyKTsKLSAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0b3VjaGVzIiwgMCwgMTAsIDEwLCAw
KTsKLSAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0b3VjaGVzIiwgMSwgMjAsIDMwLCAxKTsKLSAgICB2
ZXJpZnlUb3VjaFBvaW50KCJjaGFuZ2VkVG91Y2hlcyIsIDAsIDIwLCAzMCwgMSk7CisgICAgdmVy
aWZ5VG91Y2hQb2ludCgidG91Y2hlcyIsIDAsIDEwLCAxMCwgMSwgMSwgMCk7CisgICAgdmVyaWZ5
VG91Y2hQb2ludCgidG91Y2hlcyIsIDEsIDIwLCAzMCwgMTAsIDEwLCAxKTsKKyAgICB2ZXJpZnlU
b3VjaFBvaW50KCJjaGFuZ2VkVG91Y2hlcyIsIDAsIDIwLCAzMCwgMTAsIDEwLCAxKTsKIAotICAg
IGV2ZW50U2VuZGVyLnVwZGF0ZVRvdWNoUG9pbnQoMCwgMTUsIDE1KTsKKyAgICBldmVudFNlbmRl
ci51cGRhdGVUb3VjaFBvaW50KDAsIDE1LCAxNSwgMSwgMSk7CiAgICAgZXZlbnRTZW5kZXIudG91
Y2hNb3ZlKCk7CiAKICAgICB2ZXJpZnlUb3VjaEV2ZW50KCJ0b3VjaG1vdmUiLCAyLCAxLCAyKTsK
LSAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0b3VjaGVzIiwgMCwgMTUsIDE1LCAwKTsKLSAgICB2ZXJp
ZnlUb3VjaFBvaW50KCJjaGFuZ2VkVG91Y2hlcyIsIDAsIDE1LCAxNSwgMCk7Ci0gICAgdmVyaWZ5
VG91Y2hQb2ludCgidG91Y2hlcyIsIDEsIDIwLCAzMCwgMSk7CisgICAgdmVyaWZ5VG91Y2hQb2lu
dCgidG91Y2hlcyIsIDAsIDE1LCAxNSwgMSwgMSwgMCk7CisgICAgdmVyaWZ5VG91Y2hQb2ludCgi
Y2hhbmdlZFRvdWNoZXMiLCAwLCAxNSwgMTUsIDEsIDEsIDApOworICAgIHZlcmlmeVRvdWNoUG9p
bnQoInRvdWNoZXMiLCAxLCAyMCwgMzAsIDEwLCAxMCwgMSk7CiAKICAgICBldmVudFNlbmRlci5y
ZWxlYXNlVG91Y2hQb2ludCgwKTsKICAgICBldmVudFNlbmRlci50b3VjaE1vdmUoKTsKIAogICAg
IHZlcmlmeVRvdWNoRXZlbnQoInRvdWNobW92ZSIsIDEsIDEsIDEpOwotICAgIHZlcmlmeVRvdWNo
UG9pbnQoInRvdWNoZXMiLCAwLCAyMCwgMzAsIDEpOwotICAgIHZlcmlmeVRvdWNoUG9pbnQoImNo
YW5nZWRUb3VjaGVzIiwgMCwgMTUsIDE1LCAwKTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0b3Vj
aGVzIiwgMCwgMjAsIDMwLCAxMCwgMTAsIDEpOworICAgIHZlcmlmeVRvdWNoUG9pbnQoImNoYW5n
ZWRUb3VjaGVzIiwgMCwgMTUsIDE1LCAxLCAxLCAwKTsKIAogICAgIGV2ZW50U2VuZGVyLnRvdWNo
RW5kKCk7CiAKICAgICB2ZXJpZnlUb3VjaEV2ZW50KCJ0b3VjaGVuZCIsIDAsIDEsIDApOwotICAg
IHZlcmlmeVRvdWNoUG9pbnQoImNoYW5nZWRUb3VjaGVzIiwgMCwgMjAsIDMwLCAxKTsKKyAgICB2
ZXJpZnlUb3VjaFBvaW50KCJjaGFuZ2VkVG91Y2hlcyIsIDAsIDIwLCAzMCwgMTAsIDEwLCAxKTsK
IH0KIAogZnVuY3Rpb24gdG91Y2hUYXJnZXRzKCkKIHsKICAgICBkZWJ1ZygidmVyaWZ5IHRvdWNo
IHRhcmdldHMiKTsKIAotICAgIGV2ZW50U2VuZGVyLmFkZFRvdWNoUG9pbnQoMTAsIDEwKTsKKyAg
ICBldmVudFNlbmRlci5hZGRUb3VjaFBvaW50KDEwLCAxMCwgMSwgMSk7CiAgICAgZXZlbnRTZW5k
ZXIudG91Y2hTdGFydCgpOwogCiAgICAgdmVyaWZ5VG91Y2hFdmVudCgidG91Y2hzdGFydCIsIDEs
IDEsIDEpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibGFzdEV2ZW50LnRhcmdldFRvdWNo
ZXNbMF0udGFyZ2V0LnRhZ05hbWUiLCAiRElWIik7CiAKLSAgICBldmVudFNlbmRlci51cGRhdGVU
b3VjaFBvaW50KDAsIDEwMDAsIDEwMDApOworICAgIGV2ZW50U2VuZGVyLnVwZGF0ZVRvdWNoUG9p
bnQoMCwgMTAwMCwgMTAwMCwgMSwgMSk7CiAgICAgZXZlbnRTZW5kZXIudG91Y2hNb3ZlKCk7CiAK
ICAgICB2ZXJpZnlUb3VjaEV2ZW50KCJ0b3VjaG1vdmUiLCAxLCAxLCAwKTsKdW5jaGFuZ2VkOgot
LS0gYS9XZWJDb3JlL2RvbS9Ub3VjaC5jcHAJVHVlIERlYyAyMiAxNDo0Mjo0MCAyMDA5ICswMjAw
CisrKyBiL1dlYkNvcmUvZG9tL1RvdWNoLmNwcAlUdWUgSmFuIDA1IDE3OjQ5OjEwIDIwMTAgKzAy
MDAKQEAgLTU0LDcgKzU0LDggQEAKIH0KIAogVG91Y2g6OlRvdWNoKEZyYW1lKiBmcmFtZSwgRXZl
bnRUYXJnZXQqIHRhcmdldCwgdW5zaWduZWQgaWRlbnRpZmllciwgCi0gICAgICAgIGludCBzY3Jl
ZW5YLCBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFnZVkpCisgICAgICAgIGludCBzY3Jl
ZW5YLCBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFnZVksCisgICAgICAgIGludCByZWN0
V2lkdGgsIGludCByZWN0SGVpZ2h0KQogICAgIDogbV9mcmFtZShmcmFtZSkKICAgICAsIG1fdGFy
Z2V0KHRhcmdldCkKICAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQpAQCAtNjQsNiArNjUs
OCBAQAogICAgICwgbV9zY3JlZW5ZKHNjcmVlblkpCiAgICAgLCBtX3BhZ2VYKHBhZ2VYKQogICAg
ICwgbV9wYWdlWShwYWdlWSkKKyAgICAsIG1fcmVjdFdpZHRoKHJlY3RXaWR0aCkKKyAgICAsIG1f
cmVjdEhlaWdodChyZWN0SGVpZ2h0KQogewogfQogCnVuY2hhbmdlZDoKLS0tIGEvV2ViQ29yZS9k
b20vVG91Y2guaAlUdWUgRGVjIDIyIDE0OjQyOjQwIDIwMDkgKzAyMDAKKysrIGIvV2ViQ29yZS9k
b20vVG91Y2guaAlUdWUgSmFuIDA1IDE3OjQ5OjEwIDIwMTAgKzAyMDAKQEAgLTM5LDEwICszOSwx
MSBAQAogY2xhc3MgVG91Y2ggOiBwdWJsaWMgUmVmQ291bnRlZDxUb3VjaD4gewogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRvdWNoPiBjcmVhdGUoRnJhbWUqIGZyYW1lLCBFdmVudFRh
cmdldCogdGFyZ2V0LAotICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmllciwgaW50IHNjcmVl
blgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSkKKyAgICAgICAgICAgIHVuc2ln
bmVkIGlkZW50aWZpZXIsIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQg
cGFnZVksCisgICAgICAgICAgICBpbnQgcmVjdFdpZHRoLCBpbnQgcmVjdEhlaWdodCkKICAgICB7
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVG91Y2goZnJhbWUsIHRhcmdldCwgaWRlbnRp
Zmllciwgc2NyZWVuWCwgCi0gICAgICAgICAgICAgICAgc2NyZWVuWSwgcGFnZVgsIHBhZ2VZKSk7
CisgICAgICAgICAgICAgICAgc2NyZWVuWSwgcGFnZVgsIHBhZ2VZLCByZWN0V2lkdGgsIHJlY3RI
ZWlnaHQpKTsKICAgICB9CiAKICAgICB2b2lkIHVwZGF0ZUxvY2F0aW9uKGludCBzY3JlZW5YLCBp
bnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFnZVkpOwpAQCAtNTYsMTAgKzU3LDEzIEBACiAg
ICAgaW50IHNjcmVlblkoKSBjb25zdCB7IHJldHVybiBtX3NjcmVlblk7IH0KICAgICBpbnQgcGFn
ZVgoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VYOyB9CiAgICAgaW50IHBhZ2VZKCkgY29uc3QgeyBy
ZXR1cm4gbV9wYWdlWTsgfQorICAgIGludCByZWN0V2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3Jl
Y3RXaWR0aDsgfQorICAgIGludCByZWN0SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0SGVp
Z2h0OyB9CiAKIHByaXZhdGU6CiAgICAgVG91Y2goRnJhbWUqIGZyYW1lLCBFdmVudFRhcmdldCog
dGFyZ2V0LCB1bnNpZ25lZCBpZGVudGlmaWVyLAotICAgICAgICAgICAgaW50IHNjcmVlblgsIGlu
dCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSk7CisgICAgICAgICAgICBpbnQgc2NyZWVu
WCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZLAorICAgICAgICAgICAgaW50IHJl
Y3RXaWR0aCwgaW50IHJlY3RIZWlnaHQpOwogCiAgICAgUmVmUHRyPEZyYW1lPiBtX2ZyYW1lOwog
ICAgIFJlZlB0cjxFdmVudFRhcmdldD4gbV90YXJnZXQ7CkBAIC03MCw2ICs3NCw4IEBACiAgICAg
aW50IG1fc2NyZWVuWTsKICAgICBpbnQgbV9wYWdlWDsKICAgICBpbnQgbV9wYWdlWTsKKyAgICBp
bnQgbV9yZWN0V2lkdGg7CisgICAgaW50IG1fcmVjdEhlaWdodDsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKdW5jaGFuZ2VkOgotLS0gYS9XZWJDb3JlL2RvbS9Ub3VjaC5pZGwJVHVlIERl
YyAyMiAxNDo0Mjo0MCAyMDA5ICswMjAwCisrKyBiL1dlYkNvcmUvZG9tL1RvdWNoLmlkbAlUdWUg
SmFuIDA1IDE3OjQ5OjEwIDIwMTAgKzAyMDAKQEAgLTM3LDUgKzM3LDcgQEAKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICAgcGFnZVk7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBFdmVudFRhcmdldCAgICAgIHRhcmdldDsKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgICAgaWRlbnRpZmllcjsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGxvbmcgICAgICAgICAgICAgcmVjdFdpZHRoOworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgbG9uZyAgICAgICAgICAgICByZWN0SGVpZ2h0OwogICAgIH07CiB9CnVuY2hhbmdlZDoK
LS0tIGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJVHVlIERlYyAyMiAxNDo0Mjo0MCAy
MDA5ICswMjAwCisrKyBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCVR1ZSBKYW4gMDUg
MTc6NDk6MTAgMjAxMCArMDIwMApAQCAtMjU2Miw3ICsyNTYyLDggQEAKIAogICAgICAgICBSZWZQ
dHI8VG91Y2g+IHRvdWNoID0gVG91Y2g6OmNyZWF0ZShtX2ZyYW1lLCB0YXJnZXQsIHBvaW50Lmlk
KCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50LnNj
cmVlblBvcygpLngoKSwgcG9pbnQuc2NyZWVuUG9zKCkueSgpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZVBvaW50LngoKSwgZnJhbWVQb2ludC55KCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZVBvaW50
LngoKSwgZnJhbWVQb2ludC55KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBvaW50LnJlY3QoKS53aWR0aCgpLCBwb2ludC5yZWN0KCkuaGVpZ2h0KCkpOwog
CiAgICAgICAgIGlmIChldmVudC50eXBlKCkgPT0gVG91Y2hTdGFydCAmJiAhaSkgewogICAgICAg
ICAgICAgbV90b3VjaEV2ZW50VGFyZ2V0ID0gdGFyZ2V0Owp1bmNoYW5nZWQ6Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmgJVHVlIERlYyAyMiAxNDo0Mjo0MCAyMDA5
ICswMjAwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmgJVHVlIEph
biAwNSAxNzo0OToxMCAyMDEwICswMjAwCkBAIC0yMSw2ICsyMSw3IEBACiAjZGVmaW5lIFBsYXRm
b3JtVG91Y2hQb2ludF9oCiAKICNpbmNsdWRlICJJbnRQb2ludC5oIgorI2luY2x1ZGUgIkludFJl
Y3QuaCIKICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTUxLDEyICs1MiwxNCBAQAogICAgIFN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4g
bV9zdGF0ZTsgfQogICAgIEludFBvaW50IHNjcmVlblBvcygpIGNvbnN0IHsgcmV0dXJuIG1fc2Ny
ZWVuUG9zOyB9CiAgICAgSW50UG9pbnQgcG9zKCkgY29uc3QgeyByZXR1cm4gbV9wb3M7IH0KKyAg
ICBJbnRSZWN0IHJlY3QoKSBjb25zdCB7IHJldHVybiBtX3JlY3Q7IH0KICAgICAKIHByaXZhdGU6
CiAgICAgaW50IG1faWQ7CiAgICAgU3RhdGUgbV9zdGF0ZTsKICAgICBJbnRQb2ludCBtX3NjcmVl
blBvczsKICAgICBJbnRQb2ludCBtX3BvczsKKyAgICBJbnRSZWN0IG1fcmVjdDsKIH07CiAKIH0K
dW5jaGFuZ2VkOgotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtVG91Y2hQb2ludFF0
LmNwcAlUdWUgRGVjIDIyIDE0OjQyOjQwIDIwMDkgKzAyMDAKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9xdC9QbGF0Zm9ybVRvdWNoUG9pbnRRdC5jcHAJVHVlIEphbiAwNSAxNzo0OToxMCAyMDEwICsw
MjAwCkBAIC0zOCw2ICszOCw3IEBACiAgICAgfQogICAgIG1fc2NyZWVuUG9zID0gcG9pbnQuc2Ny
ZWVuUG9zKCkudG9Qb2ludCgpOwogICAgIG1fcG9zID0gcG9pbnQucG9zKCkudG9Qb2ludCgpOwor
ICAgIG1fcmVjdCA9IEludFJlY3QocG9pbnQucmVjdCgpLngoKSwgcG9pbnQucmVjdCgpLnkoKSwg
cG9pbnQucmVjdCgpLndpZHRoKCksIHBvaW50LnJlY3QoKS5oZWlnaHQoKSk7CiB9CiAKIH0KdW5j
aGFuZ2VkOgotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0
LmNwcAlUdWUgRGVjIDIyIDE0OjQyOjQwIDIwMDkgKzAyMDAKKysrIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvRXZlbnRTZW5kZXJRdC5jcHAJVHVlIEphbiAwNSAxNzo0OToxMCAyMDEw
ICswMjAwCkBAIC0yNTUsMjQgKzI1NSwyNSBAQAogICAgIFFBcHBsaWNhdGlvbjo6cG9zdEV2ZW50
KG1fcGFnZSwgZXZlbnQyKTsKIH0KIAotdm9pZCBFdmVudFNlbmRlcjo6YWRkVG91Y2hQb2ludChp
bnQgeCwgaW50IHkpCit2b2lkIEV2ZW50U2VuZGVyOjphZGRUb3VjaFBvaW50KGludCB4LCBpbnQg
eSwgaW50IHJlY3RXaWR0aCwgaW50IHJlY3RIZWlnaHQpCiB7CiAjaWYgUVRfVkVSU0lPTiA+PSBR
VF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgaW50IGlkID0gbV90b3VjaFBvaW50cy5jb3Vu
dCgpOwogICAgIFFUb3VjaEV2ZW50OjpUb3VjaFBvaW50IHBvaW50KGlkKTsKICAgICBtX3RvdWNo
UG9pbnRzLmFwcGVuZChwb2ludCk7Ci0gICAgdXBkYXRlVG91Y2hQb2ludChpZCwgeCwgeSk7Cisg
ICAgdXBkYXRlVG91Y2hQb2ludChpZCwgeCwgeSwgcmVjdFdpZHRoLCByZWN0SGVpZ2h0KTsKICAg
ICBtX3RvdWNoUG9pbnRzW2lkXS5zZXRTdGF0ZShRdDo6VG91Y2hQb2ludFByZXNzZWQpOwogI2Vu
ZGlmCiB9CiAKLXZvaWQgRXZlbnRTZW5kZXI6OnVwZGF0ZVRvdWNoUG9pbnQoaW50IGluZGV4LCBp
bnQgeCwgaW50IHkpCit2b2lkIEV2ZW50U2VuZGVyOjp1cGRhdGVUb3VjaFBvaW50KGludCBpbmRl
eCwgaW50IHgsIGludCB5LCBpbnQgcmVjdFdpZHRoLCBpbnQgcmVjdEhlaWdodCkKIHsKICNpZiBR
VF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKICAgICBpZiAoaW5kZXggPCAw
IHx8IGluZGV4ID49IG1fdG91Y2hQb2ludHMuY291bnQoKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgUVRvdWNoRXZlbnQ6OlRvdWNoUG9pbnQgJnAgPSBtX3RvdWNoUG9pbnRzW2luZGV4XTsKKyAg
ICBwLnNldFJlY3QoUVJlY3RGKFFQb2ludEYoMCwgMCksIFFTaXplRihyZWN0V2lkdGgsIHJlY3RI
ZWlnaHQpKSk7CiAgICAgcC5zZXRQb3MoUVBvaW50Rih4LCB5KSk7CiAgICAgcC5zZXRTdGF0ZShR
dDo6VG91Y2hQb2ludE1vdmVkKTsKICNlbmRpZgp1bmNoYW5nZWQ6Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuaAlUdWUgRGVjIDIyIDE0OjQyOjQwIDIw
MDkgKzAyMDAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRXZlbnRTZW5kZXJR
dC5oCVR1ZSBKYW4gMDUgMTc6NDk6MTAgMjAxMCArMDIwMApAQCAtNTgsOCArNTgsOCBAQAogICAg
IHZvaWQgY2xlYXJLaWxsUmluZygpIHt9CiAgICAgdm9pZCBjb250ZXh0Q2xpY2soKTsKICAgICB2
b2lkIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2soKTsKLSAgICB2b2lkIGFkZFRvdWNoUG9pbnQo
aW50IHgsIGludCB5KTsKLSAgICB2b2lkIHVwZGF0ZVRvdWNoUG9pbnQoaW50IGluZGV4LCBpbnQg
eCwgaW50IHkpOworICAgIHZvaWQgYWRkVG91Y2hQb2ludChpbnQgeCwgaW50IHksIGludCByZWN0
V2lkdGgsIGludCByZWN0SGVpZ2h0KTsKKyAgICB2b2lkIHVwZGF0ZVRvdWNoUG9pbnQoaW50IGlu
ZGV4LCBpbnQgeCwgaW50IHksIGludCByZWN0V2lkdGgsIGludCByZWN0SGVpZ2h0KTsKICAgICB2
b2lkIHNldFRvdWNoTW9kaWZpZXIoY29uc3QgUVN0cmluZyAmbW9kaWZpZXIsIGJvb2wgZW5hYmxl
KTsKICAgICB2b2lkIHRvdWNoU3RhcnQoKTsKICAgICB2b2lkIHRvdWNoTW92ZSgpOwpvbmx5IGlu
IHBhdGNoMjoKdW5jaGFuZ2VkOgotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDEtMDUgIFBldHJpIExh
dHZhbGEgIDxwZXRyaS5sYXR2YWxhQG5vbW92b2suY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJvdW5kaW5nIGJveCBmb3IgdG91Y2ggcG9pbnRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzMyNAor
CisgICAgICAgIEFkZCB0b3VjaCBwb2ludCBib3VuZGluZyByZWN0YW5nbGUgc2l6ZSB0ZXN0aW5n
LgorCisgICAgICAgICogZmFzdC9ldmVudHMvYmFzaWMtdG91Y2gtZXZlbnRzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zY3JpcHQtdGVzdHMvYmFzaWMtdG91Y2gtZXZlbnRz
LmpzOgorICAgICAgICAodmVyaWZ5VG91Y2hQb2ludCk6CisgICAgICAgIChzaW5nbGVUb3VjaFNl
cXVlbmNlKToKKyAgICAgICAgKG11bHRpVG91Y2hTZXF1ZW5jZSk6CisgICAgICAgICh0b3VjaFRh
cmdldHMpOgorCiAyMDEwLTAxLTA0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCm9ubHkgaW4gcGF0Y2gyOgp1
bmNoYW5nZWQ6Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjcgQEAKKzIwMTAtMDEtMDUgIFBldHJpIExhdHZhbGEgIDxwZXRyaS5sYXR2
YWxhQG5vbW92b2suY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEJvdW5kaW5nIGJveCBmb3IgdG91Y2ggcG9pbnRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzMyNAorCisgICAgICAgIEFkZCBib3Vu
ZGluZyBib3ggcmVjdGFuZ2xlIHRvIFBsYXRmb3JtVG91Y2hFdmVudAorICAgICAgICBhbmQgdG8g
dGhlIFRvdWNoIERPTSBvYmplY3QuCisKKyAgICAgICAgKiBkb20vVG91Y2guY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VG91Y2g6OlRvdWNoKToKKyAgICAgICAgKiBkb20vVG91Y2guaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRvdWNoOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VG91Y2g6OnJl
Y3RXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpUb3VjaDo6cmVjdEhlaWdodCk6CisgICAgICAg
ICogZG9tL1RvdWNoLmlkbDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoRXZlbnQpOgorICAgICAgICAq
IHBsYXRmb3JtL1BsYXRmb3JtVG91Y2hQb2ludC5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1Ub3VjaFBvaW50OjpyZWN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9QbGF0Zm9ybVRvdWNo
UG9pbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoUG9pbnQ6OlBsYXRm
b3JtVG91Y2hQb2ludCk6CisKIDIwMTAtMDEtMDUgIFlvbmcgTGkgIDx5b25nLmxpQHRvcmNobW9i
aWxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4Kb25seSBpbiBwYXRj
aDI6CnVuY2hhbmdlZDoKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTAxLTA1ICBQZXRyaSBMYXR2YWxh
ICA8cGV0cmkubGF0dmFsYUBub21vdm9rLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBCb3VuZGluZyBib3ggZm9yIHRvdWNoIHBvaW50cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMzMjQKKworICAg
ICAgICBBZGQgYm91bmRpbmcgcmVjdGFuZ2xlIHNpemUgc3VwcG9ydC4KKworICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwOgorICAgICAgICAoRXZlbnRTZW5kZXI6
OmFkZFRvdWNoUG9pbnQpOiBBbHNvIHBhc3MgdGhlIHJlY3Qgc2l6ZXMuCisgICAgICAgIChFdmVu
dFNlbmRlcjo6dXBkYXRlVG91Y2hQb2ludCk6IERpdHRvLgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL3F0L0V2ZW50U2VuZGVyUXQuaDoKKwogMjAxMC0wMS0wNCAgTWFjaWVqIFN0YWNob3dpYWsg
IDxtanNAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46105</attachid>
            <date>2010-01-07 18:31:55 -0800</date>
            <delta_ts>2010-01-07 18:38:32 -0800</delta_ts>
            <desc>Touch point bounding box, updated</desc>
            <filename>bounding.diff</filename>
            <type>text/plain</type>
            <size>22042</size>
            <attacher name="Petri Latvala">petri.latvala</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkOWI5OTI4Li5mNzVjOWRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDEt
MDcgIFBldHJpIExhdHZhbGEgIDxwZXRyaS5sYXR2YWxhQG5vbW92b2suY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisJQm91bmRpbmcgYm94IGZvciB0b3VjaCBw
b2ludHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMz
MzI0CisKKwlBZGQgdG91Y2ggcG9pbnQgYm91bmRpbmcgcmVjdGFuZ2xlIHNpemUgdGVzdGluZy4K
KworICAgICAgICAqIGZhc3QvZXZlbnRzL2Jhc2ljLXRvdWNoLWV2ZW50cy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9ldmVudHMvc2NyaXB0LXRlc3RzL2Jhc2ljLXRvdWNoLWV2ZW50cy5q
czoKKyAgICAgICAgKHZlcmlmeVRvdWNoUG9pbnQpOgorICAgICAgICAoc2luZ2xlVG91Y2hTZXF1
ZW5jZSk6CisgICAgICAgIChtdWx0aVRvdWNoU2VxdWVuY2UpOgorICAgICAgICAodG91Y2hUYXJn
ZXRzKToKKwogMjAxMC0wMS0wNyAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5Acmlt
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaXJrIFNjaHVsemUuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9iYXNpYy10b3VjaC1ldmVudHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmFzaWMtdG91Y2gtZXZlbnRzLWV4cGVjdGVkLnR4dApp
bmRleCA3YWU0NTI3Li43MWU3Y2Q4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9iYXNpYy10b3VjaC1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2Jhc2ljLXRvdWNoLWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTEwLDE2ICsxMCwyMiBA
QCBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VYIGlzIDEwCiBQQVNTIGxhc3RFdmVudC50
b3VjaGVzWzBdLnBhZ2VZIGlzIDEwCiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLmNsaWVudFgg
aXMgMTAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WSBpcyAxMAorUEFTUyBsYXN0
RXZlbnQudG91Y2hlc1swXS5yZWN0V2lkdGggaXMgMQorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1sw
XS5yZWN0SGVpZ2h0IGlzIDEKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0uaWRlbnRpZmllciBp
cyAwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWCBpcyAxMAogUEFTUyBs
YXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVkgaXMgMTAKIFBBU1MgbGFzdEV2ZW50LmNo
YW5nZWRUb3VjaGVzWzBdLmNsaWVudFggaXMgMTAKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3Vj
aGVzWzBdLmNsaWVudFkgaXMgMTAKK1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnJl
Y3RXaWR0aCBpcyAxCitQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5yZWN0SGVpZ2h0
IGlzIDEKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmlkZW50aWZpZXIgaXMgMAog
UEFTUyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1swXS5wYWdlWCBpcyAxMAogUEFTUyBsYXN0RXZl
bnQudGFyZ2V0VG91Y2hlc1swXS5wYWdlWSBpcyAxMAogUEFTUyBsYXN0RXZlbnQudGFyZ2V0VG91
Y2hlc1swXS5jbGllbnRYIGlzIDEwCiBQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzBdLmNs
aWVudFkgaXMgMTAKK1BBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0ucmVjdFdpZHRoIGlz
IDEKK1BBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyAxCiBQQVNT
IGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzBdLmlkZW50aWZpZXIgaXMgMAogUEFTUyBsYXN0RXZl
bnQudHlwZSBpcyAidG91Y2htb3ZlIgogUEFTUyBsYXN0RXZlbnQudG91Y2hlcy5sZW5ndGggaXMg
MQpAQCAtMjksNiArMzUsOCBAQCBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VYIGlzIDIw
CiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VZIGlzIDE1CiBQQVNTIGxhc3RFdmVudC50
b3VjaGVzWzBdLmNsaWVudFggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0uY2xpZW50
WSBpcyAxNQorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0V2lkdGggaXMgMTAKK1BBU1Mg
bGFzdEV2ZW50LnRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyAxMAogUEFTUyBsYXN0RXZlbnQudG91
Y2hlc1swXS5pZGVudGlmaWVyIGlzIDAKIFBBU1MgbGFzdEV2ZW50LnNoaWZ0S2V5IGlzIHRydWUK
IFBBU1MgbGFzdEV2ZW50LmFsdEtleSBpcyB0cnVlCkBAIC00Miw2ICs1MCw4IEBAIFBBU1MgbGFz
dEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VYIGlzIDIwCiBQQVNTIGxhc3RFdmVudC5jaGFu
Z2VkVG91Y2hlc1swXS5wYWdlWSBpcyAxNQogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNb
MF0uY2xpZW50WCBpcyAyMAogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50
WSBpcyAxNQorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDEw
CitQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5yZWN0SGVpZ2h0IGlzIDEwCiBQQVNT
IGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDAKIFBBU1MgbGFzdEV2
ZW50LnNoaWZ0S2V5IGlzIGZhbHNlCiBQQVNTIGxhc3RFdmVudC5hbHRLZXkgaXMgZmFsc2UKQEAg
LTU1LDMxICs2NSw0MyBAQCBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VYIGlzIDEwCiBQ
QVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VZIGlzIDEwCiBQQVNTIGxhc3RFdmVudC50b3Vj
aGVzWzBdLmNsaWVudFggaXMgMTAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WSBp
cyAxMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0V2lkdGggaXMgMQorUEFTUyBsYXN0
RXZlbnQudG91Y2hlc1swXS5yZWN0SGVpZ2h0IGlzIDEKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNb
MF0uaWRlbnRpZmllciBpcyAwCiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLnBhZ2VYIGlzIDIw
CiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLnBhZ2VZIGlzIDMwCiBQQVNTIGxhc3RFdmVudC50
b3VjaGVzWzFdLmNsaWVudFggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMV0uY2xpZW50
WSBpcyAzMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1sxXS5yZWN0V2lkdGggaXMgMTAKK1BBU1Mg
bGFzdEV2ZW50LnRvdWNoZXNbMV0ucmVjdEhlaWdodCBpcyAxMAogUEFTUyBsYXN0RXZlbnQudG91
Y2hlc1sxXS5pZGVudGlmaWVyIGlzIDEKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBd
LnBhZ2VYIGlzIDEwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWSBpcyAx
MAogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WCBpcyAxMAogUEFTUyBs
YXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WSBpcyAxMAorUEFTUyBsYXN0RXZlbnQu
Y2hhbmdlZFRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDEKK1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRU
b3VjaGVzWzBdLnJlY3RIZWlnaHQgaXMgMQogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNb
MF0uaWRlbnRpZmllciBpcyAwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1sxXS5wYWdl
WCBpcyAyMAogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMV0ucGFnZVkgaXMgMzAKIFBB
U1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzFdLmNsaWVudFggaXMgMjAKIFBBU1MgbGFzdEV2
ZW50LmNoYW5nZWRUb3VjaGVzWzFdLmNsaWVudFkgaXMgMzAKK1BBU1MgbGFzdEV2ZW50LmNoYW5n
ZWRUb3VjaGVzWzFdLnJlY3RXaWR0aCBpcyAxMAorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNo
ZXNbMV0ucmVjdEhlaWdodCBpcyAxMAogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMV0u
aWRlbnRpZmllciBpcyAxCiBQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYIGlz
IDEwCiBQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzBdLnBhZ2VZIGlzIDEwCiBQQVNTIGxh
c3RFdmVudC50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFggaXMgMTAKIFBBU1MgbGFzdEV2ZW50LnRh
cmdldFRvdWNoZXNbMF0uY2xpZW50WSBpcyAxMAorUEFTUyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hl
c1swXS5yZWN0V2lkdGggaXMgMQorUEFTUyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1swXS5yZWN0
SGVpZ2h0IGlzIDEKIFBBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0uaWRlbnRpZmllciBp
cyAwCiBQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzFdLnBhZ2VYIGlzIDIwCiBQQVNTIGxh
c3RFdmVudC50YXJnZXRUb3VjaGVzWzFdLnBhZ2VZIGlzIDMwCiBQQVNTIGxhc3RFdmVudC50YXJn
ZXRUb3VjaGVzWzFdLmNsaWVudFggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNb
MV0uY2xpZW50WSBpcyAzMAorUEFTUyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1sxXS5yZWN0V2lk
dGggaXMgMTAKK1BBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMV0ucmVjdEhlaWdodCBpcyAx
MAogUEFTUyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1sxXS5pZGVudGlmaWVyIGlzIDEKIEZpcnN0
IHRvdWNocG9pbnQgbW92ZWQKIFBBU1MgbGFzdEV2ZW50LnR5cGUgaXMgInRvdWNobW92ZSIKQEAg
LTkwLDE2ICsxMTIsMjIgQEAgUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5wYWdlWCBpcyAxNQog
UEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5wYWdlWSBpcyAxNQogUEFTUyBsYXN0RXZlbnQudG91
Y2hlc1swXS5jbGllbnRYIGlzIDE1CiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLmNsaWVudFkg
aXMgMTUKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDIwCitQQVNTIGxh
c3RFdmVudC50b3VjaGVzWzBdLnJlY3RIZWlnaHQgaXMgMjAKIFBBU1MgbGFzdEV2ZW50LnRvdWNo
ZXNbMF0uaWRlbnRpZmllciBpcyAwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5w
YWdlWCBpcyAxNQogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVkgaXMgMTUK
IFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFggaXMgMTUKIFBBU1MgbGFz
dEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFkgaXMgMTUKK1BBU1MgbGFzdEV2ZW50LmNo
YW5nZWRUb3VjaGVzWzBdLnJlY3RXaWR0aCBpcyAyMAorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRv
dWNoZXNbMF0ucmVjdEhlaWdodCBpcyAyMAogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNb
MF0uaWRlbnRpZmllciBpcyAwCiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLnBhZ2VYIGlzIDIw
CiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLnBhZ2VZIGlzIDMwCiBQQVNTIGxhc3RFdmVudC50
b3VjaGVzWzFdLmNsaWVudFggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMV0uY2xpZW50
WSBpcyAzMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1sxXS5yZWN0V2lkdGggaXMgMTAKK1BBU1Mg
bGFzdEV2ZW50LnRvdWNoZXNbMV0ucmVjdEhlaWdodCBpcyAxMAogUEFTUyBsYXN0RXZlbnQudG91
Y2hlc1sxXS5pZGVudGlmaWVyIGlzIDEKIEZpcnN0IHRvdWNocG9pbnQgaXMgcmVsZWFzZWQKIFBB
U1MgbGFzdEV2ZW50LnR5cGUgaXMgInRvdWNoZW5kIgpAQCAtMTEwLDE2ICsxMzgsMjIgQEAgUEFT
UyBsYXN0RXZlbnQudG91Y2hlc1swXS5wYWdlWCBpcyAyMAogUEFTUyBsYXN0RXZlbnQudG91Y2hl
c1swXS5wYWdlWSBpcyAzMAogUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5jbGllbnRYIGlzIDIw
CiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLmNsaWVudFkgaXMgMzAKK1BBU1MgbGFzdEV2ZW50
LnRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDEwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnJl
Y3RIZWlnaHQgaXMgMTAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0uaWRlbnRpZmllciBpcyAx
CiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWCBpcyAxNQogUEFTUyBsYXN0
RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVkgaXMgMTUKIFBBU1MgbGFzdEV2ZW50LmNoYW5n
ZWRUb3VjaGVzWzBdLmNsaWVudFggaXMgMTUKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVz
WzBdLmNsaWVudFkgaXMgMTUKK1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnJlY3RX
aWR0aCBpcyAyMAorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucmVjdEhlaWdodCBp
cyAyMAogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uaWRlbnRpZmllciBpcyAwCiBQ
QVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYIGlzIDIwCiBQQVNTIGxhc3RFdmVu
dC50YXJnZXRUb3VjaGVzWzBdLnBhZ2VZIGlzIDMwCiBQQVNTIGxhc3RFdmVudC50YXJnZXRUb3Vj
aGVzWzBdLmNsaWVudFggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0uY2xp
ZW50WSBpcyAzMAorUEFTUyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1swXS5yZWN0V2lkdGggaXMg
MTAKK1BBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyAxMAogUEFT
UyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDEKIExhc3QgcmVtYWlu
aW5nIHRvdWNocG9pbnQgaXMgcmVsZWFzZWQKIFBBU1MgbGFzdEV2ZW50LnR5cGUgaXMgInRvdWNo
ZW5kIgpAQCAtMTMwLDYgKzE2NCw4IEBAIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBd
LnBhZ2VYIGlzIDIwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWSBpcyAz
MAogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WCBpcyAyMAogUEFTUyBs
YXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WSBpcyAzMAorUEFTUyBsYXN0RXZlbnQu
Y2hhbmdlZFRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDEwCitQQVNTIGxhc3RFdmVudC5jaGFuZ2Vk
VG91Y2hlc1swXS5yZWN0SGVpZ2h0IGlzIDEwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hl
c1swXS5pZGVudGlmaWVyIGlzIDEKIHZlcmlmeSB0b3VjaCB0YXJnZXRzCiBQQVNTIGxhc3RFdmVu
dC50eXBlIGlzICJ0b3VjaHN0YXJ0IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvc2NyaXB0LXRlc3RzL2Jhc2ljLXRvdWNoLWV2ZW50cy5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3NjcmlwdC10ZXN0cy9iYXNpYy10b3VjaC1ldmVudHMuanMKaW5kZXggNjc2NmFiYy4u
YjE4MDAzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NyaXB0LXRlc3Rz
L2Jhc2ljLXRvdWNoLWV2ZW50cy5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY3Jp
cHQtdGVzdHMvYmFzaWMtdG91Y2gtZXZlbnRzLmpzCkBAIC0yOSwxMiArMjksMTQgQEAgZnVuY3Rp
b24gdmVyaWZ5VG91Y2hFdmVudCh0eXBlLCB0b3RhbFRvdWNoQ291bnQsIGNoYW5nZWRUb3VjaENv
dW50LCB0YXJnZXRUb3VjaEMKICAgICBzaG91bGRCZSgibGFzdEV2ZW50LnRhcmdldFRvdWNoZXMu
bGVuZ3RoIiwgdGFyZ2V0VG91Y2hDb3VudC50b1N0cmluZygpKTsKIH0KIAotZnVuY3Rpb24gdmVy
aWZ5VG91Y2hQb2ludChsaXN0LCBwb2ludCwgeCwgeSwgaWQpCitmdW5jdGlvbiB2ZXJpZnlUb3Vj
aFBvaW50KGxpc3QsIHBvaW50LCB4LCB5LCByZWN0d2lkdGgsIHJlY3RoZWlnaHQsIGlkKQogewog
ICAgIHNob3VsZEJlKCJsYXN0RXZlbnQuIiArIGxpc3QgKyAiWyIgKyBwb2ludCArICJdLnBhZ2VY
IiwgeC50b1N0cmluZygpKTsKICAgICBzaG91bGRCZSgibGFzdEV2ZW50LiIgKyBsaXN0ICsgIlsi
ICsgcG9pbnQgKyAiXS5wYWdlWSIsIHkudG9TdHJpbmcoKSk7CiAgICAgc2hvdWxkQmUoImxhc3RF
dmVudC4iICsgbGlzdCArICJbIiArIHBvaW50ICsgIl0uY2xpZW50WCIsIHgudG9TdHJpbmcoKSk7
CiAgICAgc2hvdWxkQmUoImxhc3RFdmVudC4iICsgbGlzdCArICJbIiArIHBvaW50ICsgIl0uY2xp
ZW50WSIsIHkudG9TdHJpbmcoKSk7CisgICAgc2hvdWxkQmUoImxhc3RFdmVudC4iICsgbGlzdCAr
ICJbIiArIHBvaW50ICsgIl0ucmVjdFdpZHRoIiwgcmVjdHdpZHRoLnRvU3RyaW5nKCkpOworICAg
IHNob3VsZEJlKCJsYXN0RXZlbnQuIiArIGxpc3QgKyAiWyIgKyBwb2ludCArICJdLnJlY3RIZWln
aHQiLCByZWN0aGVpZ2h0LnRvU3RyaW5nKCkpOwogICAgIHNob3VsZEJlKCJsYXN0RXZlbnQuIiAr
IGxpc3QgKyAiWyIgKyBwb2ludCArICJdLmlkZW50aWZpZXIiLCBpZC50b1N0cmluZygpKTsKIH0K
IApAQCAtNDIsMjMgKzQ0LDIzIEBAIGZ1bmN0aW9uIHNpbmdsZVRvdWNoU2VxdWVuY2UoKQogewog
ICAgIGRlYnVnKCJzaW5nbGUgdG91Y2ggc2VxdWVuY2UiKTsKIAotICAgIGV2ZW50U2VuZGVyLmFk
ZFRvdWNoUG9pbnQoMTAsIDEwKTsKKyAgICBldmVudFNlbmRlci5hZGRUb3VjaFBvaW50KDEwLCAx
MCwgMSwgMSk7CiAgICAgZXZlbnRTZW5kZXIudG91Y2hTdGFydCgpOwogCiAgICAgdmVyaWZ5VG91
Y2hFdmVudCgidG91Y2hzdGFydCIsIDEsIDEsIDEpOwogICAgIHNob3VsZEJlKCJsYXN0RXZlbnQu
c2hpZnRLZXkiLCAiZmFsc2UiKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImxhc3RFdmVu
dC50b3VjaGVzWzBdLnRhcmdldC5pZCIsICJ0b3VjaHRhcmdldCIpOwotICAgIHZlcmlmeVRvdWNo
UG9pbnQoInRvdWNoZXMiLCAwLCAxMCwgMTAsIDApOwotICAgIHZlcmlmeVRvdWNoUG9pbnQoImNo
YW5nZWRUb3VjaGVzIiwgMCwgMTAsIDEwLCAwKTsKLSAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0YXJn
ZXRUb3VjaGVzIiwgMCwgMTAsIDEwLCAwKTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0b3VjaGVz
IiwgMCwgMTAsIDEwLCAxLCAxLCAwKTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJjaGFuZ2VkVG91
Y2hlcyIsIDAsIDEwLCAxMCwgMSwgMSwgMCk7CisgICAgdmVyaWZ5VG91Y2hQb2ludCgidGFyZ2V0
VG91Y2hlcyIsIDAsIDEwLCAxMCwgMSwgMSwgMCk7CiAKLSAgICBldmVudFNlbmRlci51cGRhdGVU
b3VjaFBvaW50KDAsIDIwLCAxNSk7CisgICAgZXZlbnRTZW5kZXIudXBkYXRlVG91Y2hQb2ludCgw
LCAyMCwgMTUsIDEwLCAxMCk7CiAgICAgZXZlbnRTZW5kZXIuc2V0VG91Y2hNb2RpZmllcigic2hp
ZnQiLCB0cnVlKTsKICAgICBldmVudFNlbmRlci5zZXRUb3VjaE1vZGlmaWVyKCJhbHQiLCB0cnVl
KTsKICAgICBldmVudFNlbmRlci50b3VjaE1vdmUoKTsKIAogICAgIHZlcmlmeVRvdWNoRXZlbnQo
InRvdWNobW92ZSIsIDEsIDEsIDEpOwotICAgIHZlcmlmeVRvdWNoUG9pbnQoInRvdWNoZXMiLCAw
LCAyMCwgMTUsIDApOworICAgIHZlcmlmeVRvdWNoUG9pbnQoInRvdWNoZXMiLCAwLCAyMCwgMTUs
IDEwLCAxMCwgMCk7CiAgICAgc2hvdWxkQmUoImxhc3RFdmVudC5zaGlmdEtleSIsICJ0cnVlIik7
CiAgICAgc2hvdWxkQmUoImxhc3RFdmVudC5hbHRLZXkiLCAidHJ1ZSIpOwogICAgIHNob3VsZEJl
KCJsYXN0RXZlbnQuY3RybEtleSIsICJmYWxzZSIpOwpAQCAtNzEsNyArNzMsNyBAQCBmdW5jdGlv
biBzaW5nbGVUb3VjaFNlcXVlbmNlKCkKICAgICBldmVudFNlbmRlci50b3VjaEVuZCgpOwogCiAg
ICAgdmVyaWZ5VG91Y2hFdmVudCgidG91Y2hlbmQiLCAwLCAxLCAwKTsKLSAgICB2ZXJpZnlUb3Vj
aFBvaW50KCJjaGFuZ2VkVG91Y2hlcyIsIDAsIDIwLCAxNSwgMCk7CisgICAgdmVyaWZ5VG91Y2hQ
b2ludCgiY2hhbmdlZFRvdWNoZXMiLCAwLCAyMCwgMTUsIDEwLCAxMCwgMCk7CiAgICAgc2hvdWxk
QmUoImxhc3RFdmVudC5zaGlmdEtleSIsICJmYWxzZSIpOwogICAgIHNob3VsZEJlKCJsYXN0RXZl
bnQuYWx0S2V5IiwgImZhbHNlIik7CiB9CkBAIC04MSw1MSArODMsNTEgQEAgZnVuY3Rpb24gbXVs
dGlUb3VjaFNlcXVlbmNlKCkKICAgICBkZWJ1ZygibXVsdGkgdG91Y2ggc2VxdWVuY2UiKTsKIAog
ICAgIGRlYnVnKCJUd28gdG91Y2hwb2ludHMgcHJlc3NlZCIpOwotICAgIGV2ZW50U2VuZGVyLmFk
ZFRvdWNoUG9pbnQoMTAsIDEwKTsKLSAgICBldmVudFNlbmRlci5hZGRUb3VjaFBvaW50KDIwLCAz
MCk7CisgICAgZXZlbnRTZW5kZXIuYWRkVG91Y2hQb2ludCgxMCwgMTAsIDEsIDEpOworICAgIGV2
ZW50U2VuZGVyLmFkZFRvdWNoUG9pbnQoMjAsIDMwLCAxMCwgMTApOwogICAgIGV2ZW50U2VuZGVy
LnRvdWNoU3RhcnQoKTsKICAgICB2ZXJpZnlUb3VjaEV2ZW50KCJ0b3VjaHN0YXJ0IiwgMiwgMiwg
Mik7Ci0gICAgdmVyaWZ5VG91Y2hQb2ludCgidG91Y2hlcyIsIDAsIDEwLCAxMCwgMCk7Ci0gICAg
dmVyaWZ5VG91Y2hQb2ludCgidG91Y2hlcyIsIDEsIDIwLCAzMCwgMSk7Ci0gICAgdmVyaWZ5VG91
Y2hQb2ludCgiY2hhbmdlZFRvdWNoZXMiLCAwLCAxMCwgMTAsIDApOwotICAgIHZlcmlmeVRvdWNo
UG9pbnQoImNoYW5nZWRUb3VjaGVzIiwgMSwgMjAsIDMwLCAxKTsKLSAgICB2ZXJpZnlUb3VjaFBv
aW50KCJ0YXJnZXRUb3VjaGVzIiwgMCwgMTAsIDEwLCAwKTsKLSAgICB2ZXJpZnlUb3VjaFBvaW50
KCJ0YXJnZXRUb3VjaGVzIiwgMSwgMjAsIDMwLCAxKTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0
b3VjaGVzIiwgMCwgMTAsIDEwLCAxLCAxLCAwKTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0b3Vj
aGVzIiwgMSwgMjAsIDMwLCAxMCwgMTAsIDEpOworICAgIHZlcmlmeVRvdWNoUG9pbnQoImNoYW5n
ZWRUb3VjaGVzIiwgMCwgMTAsIDEwLCAxLCAxLCAwKTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJj
aGFuZ2VkVG91Y2hlcyIsIDEsIDIwLCAzMCwgMTAsIDEwLCAxKTsKKyAgICB2ZXJpZnlUb3VjaFBv
aW50KCJ0YXJnZXRUb3VjaGVzIiwgMCwgMTAsIDEwLCAxLCAxLCAwKTsKKyAgICB2ZXJpZnlUb3Vj
aFBvaW50KCJ0YXJnZXRUb3VjaGVzIiwgMSwgMjAsIDMwLCAxMCwgMTAsIDEpOwogCiAgICAgZGVi
dWcoIkZpcnN0IHRvdWNocG9pbnQgbW92ZWQiKTsKLSAgICBldmVudFNlbmRlci51cGRhdGVUb3Vj
aFBvaW50KDAsIDE1LCAxNSk7CisgICAgZXZlbnRTZW5kZXIudXBkYXRlVG91Y2hQb2ludCgwLCAx
NSwgMTUsIDIwLCAyMCk7CiAgICAgZXZlbnRTZW5kZXIudG91Y2hNb3ZlKCk7CiAgICAgdmVyaWZ5
VG91Y2hFdmVudCgidG91Y2htb3ZlIiwgMiwgMSwgMik7Ci0gICAgdmVyaWZ5VG91Y2hQb2ludCgi
dG91Y2hlcyIsIDAsIDE1LCAxNSwgMCk7Ci0gICAgdmVyaWZ5VG91Y2hQb2ludCgiY2hhbmdlZFRv
dWNoZXMiLCAwLCAxNSwgMTUsIDApOwotICAgIHZlcmlmeVRvdWNoUG9pbnQoInRvdWNoZXMiLCAx
LCAyMCwgMzAsIDEpOworICAgIHZlcmlmeVRvdWNoUG9pbnQoInRvdWNoZXMiLCAwLCAxNSwgMTUs
IDIwLCAyMCwgMCk7CisgICAgdmVyaWZ5VG91Y2hQb2ludCgiY2hhbmdlZFRvdWNoZXMiLCAwLCAx
NSwgMTUsIDIwLCAyMCwgMCk7CisgICAgdmVyaWZ5VG91Y2hQb2ludCgidG91Y2hlcyIsIDEsIDIw
LCAzMCwgMTAsIDEwLCAxKTsKIAogICAgIGRlYnVnKCJGaXJzdCB0b3VjaHBvaW50IGlzIHJlbGVh
c2VkIik7CiAgICAgZXZlbnRTZW5kZXIucmVsZWFzZVRvdWNoUG9pbnQoMCk7CiAgICAgZXZlbnRT
ZW5kZXIudG91Y2hFbmQoKTsKICAgICB2ZXJpZnlUb3VjaEV2ZW50KCJ0b3VjaGVuZCIsIDEsIDEs
IDEpOwotICAgIHZlcmlmeVRvdWNoUG9pbnQoInRvdWNoZXMiLCAwLCAyMCwgMzAsIDEpOwotICAg
IHZlcmlmeVRvdWNoUG9pbnQoImNoYW5nZWRUb3VjaGVzIiwgMCwgMTUsIDE1LCAwKTsKLSAgICB2
ZXJpZnlUb3VjaFBvaW50KCJ0YXJnZXRUb3VjaGVzIiwgMCwgMjAsIDMwLCAxKTsKKyAgICB2ZXJp
ZnlUb3VjaFBvaW50KCJ0b3VjaGVzIiwgMCwgMjAsIDMwLCAxMCwgMTAsIDEpOworICAgIHZlcmlm
eVRvdWNoUG9pbnQoImNoYW5nZWRUb3VjaGVzIiwgMCwgMTUsIDE1LCAyMCwgMjAsIDApOworICAg
IHZlcmlmeVRvdWNoUG9pbnQoInRhcmdldFRvdWNoZXMiLCAwLCAyMCwgMzAsIDEwLCAxMCwgMSk7
CiAKICAgICBkZWJ1ZygiTGFzdCByZW1haW5pbmcgdG91Y2hwb2ludCBpcyByZWxlYXNlZCIpOwog
ICAgIGV2ZW50U2VuZGVyLnJlbGVhc2VUb3VjaFBvaW50KDApOwogICAgIGV2ZW50U2VuZGVyLnRv
dWNoRW5kKCk7CiAgICAgdmVyaWZ5VG91Y2hFdmVudCgidG91Y2hlbmQiLCAwLCAxLCAwKTsKLSAg
ICB2ZXJpZnlUb3VjaFBvaW50KCJjaGFuZ2VkVG91Y2hlcyIsIDAsIDIwLCAzMCwgMSk7CisgICAg
dmVyaWZ5VG91Y2hQb2ludCgiY2hhbmdlZFRvdWNoZXMiLCAwLCAyMCwgMzAsIDEwLCAxMCwgMSk7
CiB9CiAKIGZ1bmN0aW9uIHRvdWNoVGFyZ2V0cygpCiB7CiAgICAgZGVidWcoInZlcmlmeSB0b3Vj
aCB0YXJnZXRzIik7CiAKLSAgICBldmVudFNlbmRlci5hZGRUb3VjaFBvaW50KDEwLCAxMCk7Cisg
ICAgZXZlbnRTZW5kZXIuYWRkVG91Y2hQb2ludCgxMCwgMTAsIDEsIDEpOwogICAgIGV2ZW50U2Vu
ZGVyLnRvdWNoU3RhcnQoKTsKIAogICAgIHZlcmlmeVRvdWNoRXZlbnQoInRvdWNoc3RhcnQiLCAx
LCAxLCAxKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImxhc3RFdmVudC50YXJnZXRUb3Vj
aGVzWzBdLnRhcmdldC50YWdOYW1lIiwgIkRJViIpOwogCi0gICAgZXZlbnRTZW5kZXIudXBkYXRl
VG91Y2hQb2ludCgwLCAxMDAwLCAxMDAwKTsKKyAgICBldmVudFNlbmRlci51cGRhdGVUb3VjaFBv
aW50KDAsIDEwMDAsIDEwMDAsIDEwLCAxMCk7CiAgICAgZXZlbnRTZW5kZXIudG91Y2hNb3ZlKCk7
CiAKICAgICB2ZXJpZnlUb3VjaEV2ZW50KCJ0b3VjaG1vdmUiLCAxLCAxLCAwKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjc1OWNjYy4u
MDRlZjM4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMC0wMS0wNyAgUGV0cmkgTGF0dmFsYSAgPHBldHJp
LmxhdHZhbGFAbm9tb3Zvay5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQm91bmRpbmcgYm94IGZvciB0b3VjaCBwb2ludHMKKwlodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMzMjQKKworCUFkZCBib3VuZGluZyBib3gg
cmVjdGFuZ2xlIHRvIFBsYXRmb3JtVG91Y2hFdmVudAorCWFuZCB0byB0aGUgVG91Y2ggRE9NIG9i
amVjdC4gCisKKyAgICAgICAgKiBkb20vVG91Y2guY3BwOgorICAgICAgICAoV2ViQ29yZTo6VG91
Y2g6OlRvdWNoKToKKyAgICAgICAgKiBkb20vVG91Y2guaDoKKyAgICAgICAgKFdlYkNvcmU6OlRv
dWNoOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VG91Y2g6OnJlY3RXaWR0aCk6CisgICAg
ICAgIChXZWJDb3JlOjpUb3VjaDo6cmVjdEhlaWdodCk6CisgICAgICAgICogZG9tL1RvdWNoLmlk
bDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRm
b3JtVG91Y2hQb2ludC5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaFBvaW50Ojpy
ZWN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9QbGF0Zm9ybVRvdWNoUG9pbnRRdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoUG9pbnQ6OlBsYXRmb3JtVG91Y2hQb2ludCk6
CisKIDIwMTAtMDEtMDcgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVG91
Y2guY3BwIGIvV2ViQ29yZS9kb20vVG91Y2guY3BwCmluZGV4IDZkZDJiOGUuLjQ1NDM5YWMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1RvdWNoLmNwcAorKysgYi9XZWJDb3JlL2RvbS9Ub3VjaC5j
cHAKQEAgLTU0LDcgKzU0LDggQEAgc3RhdGljIGludCBjb250ZW50c1koRnJhbWUqIGZyYW1lKQog
fQogCiBUb3VjaDo6VG91Y2goRnJhbWUqIGZyYW1lLCBFdmVudFRhcmdldCogdGFyZ2V0LCB1bnNp
Z25lZCBpZGVudGlmaWVyLCAKLSAgICAgICAgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQg
cGFnZVgsIGludCBwYWdlWSkKKyAgICAgICAgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQg
cGFnZVgsIGludCBwYWdlWSwKKyAgICAgICAgaW50IHJlY3RXaWR0aCwgaW50IHJlY3RIZWlnaHQp
CiAgICAgOiBtX2ZyYW1lKGZyYW1lKQogICAgICwgbV90YXJnZXQodGFyZ2V0KQogICAgICwgbV9p
ZGVudGlmaWVyKGlkZW50aWZpZXIpCkBAIC02NCw2ICs2NSw4IEBAIFRvdWNoOjpUb3VjaChGcmFt
ZSogZnJhbWUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQsIHVuc2lnbmVkIGlkZW50aWZpZXIsCiAgICAg
LCBtX3NjcmVlblkoc2NyZWVuWSkKICAgICAsIG1fcGFnZVgocGFnZVgpCiAgICAgLCBtX3BhZ2VZ
KHBhZ2VZKQorICAgICwgbV9yZWN0V2lkdGgocmVjdFdpZHRoKQorICAgICwgbV9yZWN0SGVpZ2h0
KHJlY3RIZWlnaHQpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1RvdWNoLmggYi9X
ZWJDb3JlL2RvbS9Ub3VjaC5oCmluZGV4IGNmMzlmYWYuLjA5NDA0NWYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL1RvdWNoLmgKKysrIGIvV2ViQ29yZS9kb20vVG91Y2guaApAQCAtMzksMTAgKzM5
LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFRvdWNoIDogcHVibGljIFJlZkNvdW50
ZWQ8VG91Y2g+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUb3VjaD4gY3JlYXRl
KEZyYW1lKiBmcmFtZSwgRXZlbnRUYXJnZXQqIHRhcmdldCwKLSAgICAgICAgICAgIHVuc2lnbmVk
IGlkZW50aWZpZXIsIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFn
ZVkpCisgICAgICAgICAgICB1bnNpZ25lZCBpZGVudGlmaWVyLCBpbnQgc2NyZWVuWCwgaW50IHNj
cmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZLAorICAgICAgICAgICAgaW50IHJlY3RXaWR0aCwg
aW50IHJlY3RIZWlnaHQpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRvdWNo
KGZyYW1lLCB0YXJnZXQsIGlkZW50aWZpZXIsIHNjcmVlblgsIAotICAgICAgICAgICAgICAgIHNj
cmVlblksIHBhZ2VYLCBwYWdlWSkpOworICAgICAgICAgICAgICAgIHNjcmVlblksIHBhZ2VYLCBw
YWdlWSwgcmVjdFdpZHRoLCByZWN0SGVpZ2h0KSk7CiAgICAgfQogCiAgICAgdm9pZCB1cGRhdGVM
b2NhdGlvbihpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZKTsK
QEAgLTU2LDEwICs1NywxMyBAQCBwdWJsaWM6CiAgICAgaW50IHNjcmVlblkoKSBjb25zdCB7IHJl
dHVybiBtX3NjcmVlblk7IH0KICAgICBpbnQgcGFnZVgoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VY
OyB9CiAgICAgaW50IHBhZ2VZKCkgY29uc3QgeyByZXR1cm4gbV9wYWdlWTsgfQorICAgIGludCBy
ZWN0V2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3JlY3RXaWR0aDsgfQorICAgIGludCByZWN0SGVp
Z2h0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0SGVpZ2h0OyB9CiAKIHByaXZhdGU6CiAgICAgVG91
Y2goRnJhbWUqIGZyYW1lLCBFdmVudFRhcmdldCogdGFyZ2V0LCB1bnNpZ25lZCBpZGVudGlmaWVy
LAotICAgICAgICAgICAgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBw
YWdlWSk7CisgICAgICAgICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwg
aW50IHBhZ2VZLAorICAgICAgICAgICAgaW50IHJlY3RXaWR0aCwgaW50IHJlY3RIZWlnaHQpOwog
CiAgICAgUmVmUHRyPEZyYW1lPiBtX2ZyYW1lOwogICAgIFJlZlB0cjxFdmVudFRhcmdldD4gbV90
YXJnZXQ7CkBAIC03MCw2ICs3NCw4IEBAIHByaXZhdGU6CiAgICAgaW50IG1fc2NyZWVuWTsKICAg
ICBpbnQgbV9wYWdlWDsKICAgICBpbnQgbV9wYWdlWTsKKyAgICBpbnQgbV9yZWN0V2lkdGg7Cisg
ICAgaW50IG1fcmVjdEhlaWdodDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL1RvdWNoLmlkbCBiL1dlYkNvcmUvZG9tL1RvdWNoLmlkbAppbmRl
eCAxYWZjNjNhLi4wMWQ3NzdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Ub3VjaC5pZGwKKysr
IGIvV2ViQ29yZS9kb20vVG91Y2guaWRsCkBAIC0zNiw1ICszNiw3IEBAIG1vZHVsZSBldmVudHMg
ewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAgICBwYWdlWTsKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEV2ZW50VGFyZ2V0ICAgICAgdGFyZ2V0OwogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyAgICBpZGVudGlmaWVyOworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAgICByZWN0V2lkdGg7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nICAgICAgICAgICAgIHJlY3RIZWlnaHQ7CiAgICAgfTsK
IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggZWQ2YmM0YS4uZGY3OTlhYyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAKQEAgLTI1NjUsNyArMjU2NSw4IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVU
b3VjaEV2ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hFdmVudCYgZXZlbnQpCiAKICAgICAgICAgUmVm
UHRyPFRvdWNoPiB0b3VjaCA9IFRvdWNoOjpjcmVhdGUobV9mcmFtZSwgdGFyZ2V0LCBwb2ludC5p
ZCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludC5z
Y3JlZW5Qb3MoKS54KCksIHBvaW50LnNjcmVlblBvcygpLnkoKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVQb2ludC54KCksIGZyYW1lUG9pbnQueSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVQb2lu
dC54KCksIGZyYW1lUG9pbnQueSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwb2ludC5yZWN0KCkud2lkdGgoKSwgcG9pbnQucmVjdCgpLmhlaWdodCgpKTsK
IAogICAgICAgICBpZiAoZXZlbnQudHlwZSgpID09IFRvdWNoU3RhcnQgJiYgIWkpIHsKICAgICAg
ICAgICAgIG1fdG91Y2hFdmVudFRhcmdldCA9IHRhcmdldDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3Jt
VG91Y2hQb2ludC5oCmluZGV4IDM1MDY1M2QuLjU1YjM5MjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0
Zm9ybVRvdWNoUG9pbnQuaApAQCAtMjEsNiArMjEsNyBAQAogI2RlZmluZSBQbGF0Zm9ybVRvdWNo
UG9pbnRfaAogCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKKyNpbmNsdWRlICJJbnRSZWN0LmgiCiAj
aW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC01
MSwxMiArNTIsMTQgQEAgcHVibGljOgogICAgIFN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4g
bV9zdGF0ZTsgfQogICAgIEludFBvaW50IHNjcmVlblBvcygpIGNvbnN0IHsgcmV0dXJuIG1fc2Ny
ZWVuUG9zOyB9CiAgICAgSW50UG9pbnQgcG9zKCkgY29uc3QgeyByZXR1cm4gbV9wb3M7IH0KKyAg
ICBJbnRSZWN0IHJlY3QoKSBjb25zdCB7IHJldHVybiBtX3JlY3Q7IH0KICAgICAKIHByaXZhdGU6
CiAgICAgaW50IG1faWQ7CiAgICAgU3RhdGUgbV9zdGF0ZTsKICAgICBJbnRQb2ludCBtX3NjcmVl
blBvczsKICAgICBJbnRQb2ludCBtX3BvczsKKyAgICBJbnRSZWN0IG1fcmVjdDsKIH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvUGxhdGZvcm1Ub3VjaFBvaW50UXQuY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybVRvdWNoUG9pbnRRdC5jcHAKaW5kZXggMTc4
OGNlZi4uMzkyNmJhOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybVRv
dWNoUG9pbnRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybVRvdWNoUG9p
bnRRdC5jcHAKQEAgLTM4LDYgKzM4LDcgQEAgUGxhdGZvcm1Ub3VjaFBvaW50OjpQbGF0Zm9ybVRv
dWNoUG9pbnQoY29uc3QgUVRvdWNoRXZlbnQ6OlRvdWNoUG9pbnQmIHBvaW50KQogICAgIH0KICAg
ICBtX3NjcmVlblBvcyA9IHBvaW50LnNjcmVlblBvcygpLnRvUG9pbnQoKTsKICAgICBtX3BvcyA9
IHBvaW50LnBvcygpLnRvUG9pbnQoKTsKKyAgICBtX3JlY3QgPSBJbnRSZWN0KHBvaW50LnJlY3Qo
KS54KCksIHBvaW50LnJlY3QoKS55KCksIHBvaW50LnJlY3QoKS53aWR0aCgpLCBwb2ludC5yZWN0
KCkuaGVpZ2h0KCkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDM5ZmFkZjcuLjYwY2FmYmYgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsOSBAQAorMjAxMC0wMS0wNyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4K
KworICAgICAgICBNb3JlIGJ1aWxkIGZpeC4KKworICAgICAgICAqIFdlYktpdFByZWZpeC5oOiBE
ZWZpbmUgSlNfRVhQT1JUQ0xBU1MgaGVyZSwgYXMgd2VsbCAoYXMgZW1wdHkpLgorCiAyMDEwLTAx
LTA3ICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgU2ltb24gRnJhc2VyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJLaXRQcmVmaXgu
aCBiL1dlYktpdC9tYWMvV2ViS2l0UHJlZml4LmgKaW5kZXggNTE4ZmMxYi4uMmE4OTRlNiAxMDA2
NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJLaXRQcmVmaXguaAorKysgYi9XZWJLaXQvbWFjL1dlYktp
dFByZWZpeC5oCkBAIC05MCw0ICs5MCw1IEBAIHR5cGVkZWYgZmxvYXQgQ0dGbG9hdDsKICN1bmRl
ZiBjYXRjaAogCiAjZGVmaW5lIEpTX0VYUE9SVERBVEEKKyNkZWZpbmUgSlNfRVhQT1JUQ0xBU1MK
ICNkZWZpbmUgV0VCS0lUX0VYUE9SVERBVEEKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5n
ZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA2Zjk3Y2Y3Li5jZWJjMjQ0IDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEtMDcgIFBldHJpIExhdHZhbGEgIDxwZXRyaS5sYXR2
YWxhQG5vbW92b2suY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisJQm91bmRpbmcgYm94IGZvciB0b3VjaCBwb2ludHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMzI0CisKKwlBZGQgYm91bmRpbmcgcmVjdGFuZ2xl
IHNpemUgc3VwcG9ydC4gCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRl
clF0LmNwcDoKKyAgICAgICAgKEV2ZW50U2VuZGVyOjphZGRUb3VjaFBvaW50KTogQWxzbyBwYXNz
IHRoZSByZWN0IHNpemVzLgorICAgICAgICAoRXZlbnRTZW5kZXI6OnVwZGF0ZVRvdWNoUG9pbnQp
OiBEaXR0by4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0Lmg6CisK
IDIwMTAtMDEtMDcgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBKb24gSG9uZXljdXR0LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvRXZlbnRTZW5kZXJRdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9x
dC9FdmVudFNlbmRlclF0LmNwcAppbmRleCA3M2E5OTM0Li42YjZhZDA0IDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0LmNwcAorKysgYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0LmNwcApAQCAtMjg0LDI0ICsy
ODQsMjUgQEAgdm9pZCBFdmVudFNlbmRlcjo6c2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpCiAg
ICAgUUFwcGxpY2F0aW9uOjpwb3N0RXZlbnQobV9wYWdlLCBldmVudDIpOwogfQogCi12b2lkIEV2
ZW50U2VuZGVyOjphZGRUb3VjaFBvaW50KGludCB4LCBpbnQgeSkKK3ZvaWQgRXZlbnRTZW5kZXI6
OmFkZFRvdWNoUG9pbnQoaW50IHgsIGludCB5LCBpbnQgcmVjdFdpZHRoLCBpbnQgcmVjdEhlaWdo
dCkKIHsKICNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKICAgICBp
bnQgaWQgPSBtX3RvdWNoUG9pbnRzLmNvdW50KCk7CiAgICAgUVRvdWNoRXZlbnQ6OlRvdWNoUG9p
bnQgcG9pbnQoaWQpOwogICAgIG1fdG91Y2hQb2ludHMuYXBwZW5kKHBvaW50KTsKLSAgICB1cGRh
dGVUb3VjaFBvaW50KGlkLCB4LCB5KTsKKyAgICB1cGRhdGVUb3VjaFBvaW50KGlkLCB4LCB5LCBy
ZWN0V2lkdGgsIHJlY3RIZWlnaHQpOwogICAgIG1fdG91Y2hQb2ludHNbaWRdLnNldFN0YXRlKFF0
OjpUb3VjaFBvaW50UHJlc3NlZCk7CiAjZW5kaWYKIH0KIAotdm9pZCBFdmVudFNlbmRlcjo6dXBk
YXRlVG91Y2hQb2ludChpbnQgaW5kZXgsIGludCB4LCBpbnQgeSkKK3ZvaWQgRXZlbnRTZW5kZXI6
OnVwZGF0ZVRvdWNoUG9pbnQoaW50IGluZGV4LCBpbnQgeCwgaW50IHksIGludCByZWN0V2lkdGgs
IGludCByZWN0SGVpZ2h0KQogewogI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0
LCA2LCAwKQogICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXggPj0gbV90b3VjaFBvaW50cy5jb3Vu
dCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBRVG91Y2hFdmVudDo6VG91Y2hQb2ludCAmcCA9
IG1fdG91Y2hQb2ludHNbaW5kZXhdOworICAgIHAuc2V0UmVjdChRUmVjdEYoUVBvaW50RigwLCAw
KSwgUVNpemVGKHJlY3RXaWR0aCwgcmVjdEhlaWdodCkpKTsKICAgICBwLnNldFBvcyhRUG9pbnRG
KHgsIHkpKTsKICAgICBwLnNldFN0YXRlKFF0OjpUb3VjaFBvaW50TW92ZWQpOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0Lmgg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0LmgKaW5kZXggZjZj
ZmM3Yy4uN2RkNDlmMyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RXZlbnRTZW5kZXJRdC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50
U2VuZGVyUXQuaApAQCAtNjAsOCArNjAsOCBAQCBwdWJsaWMgc2xvdHM6CiAgICAgdm9pZCBjbGVh
cktpbGxSaW5nKCkge30KICAgICB2b2lkIGNvbnRleHRDbGljaygpOwogICAgIHZvaWQgc2NoZWR1
bGVBc3luY2hyb25vdXNDbGljaygpOwotICAgIHZvaWQgYWRkVG91Y2hQb2ludChpbnQgeCwgaW50
IHkpOwotICAgIHZvaWQgdXBkYXRlVG91Y2hQb2ludChpbnQgaW5kZXgsIGludCB4LCBpbnQgeSk7
CisgICAgdm9pZCBhZGRUb3VjaFBvaW50KGludCB4LCBpbnQgeSwgaW50IHJlY3RXaWR0aCwgaW50
IHJlY3RIZWlnaHQpOworICAgIHZvaWQgdXBkYXRlVG91Y2hQb2ludChpbnQgaW5kZXgsIGludCB4
LCBpbnQgeSwgaW50IHJlY3RXaWR0aCwgaW50IHJlY3RIZWlnaHQpOwogICAgIHZvaWQgc2V0VG91
Y2hNb2RpZmllcihjb25zdCBRU3RyaW5nICZtb2RpZmllciwgYm9vbCBlbmFibGUpOwogICAgIHZv
aWQgdG91Y2hTdGFydCgpOwogICAgIHZvaWQgdG91Y2hNb3ZlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46106</attachid>
            <date>2010-01-07 18:38:32 -0800</date>
            <delta_ts>2010-01-19 07:08:53 -0800</delta_ts>
            <desc>Touch point bounding box, try 3</desc>
            <filename>bounding.diff</filename>
            <type>text/plain</type>
            <size>21402</size>
            <attacher name="Petri Latvala">petri.latvala</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkOWI5OTI4Li5mYmQyMjI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDEt
MDcgIFBldHJpIExhdHZhbGEgIDxwZXRyaS5sYXR2YWxhQG5vbW92b2suY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJvdW5kaW5nIGJveCBmb3Ig
dG91Y2ggcG9pbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zMzMyNAorCisgICAgICAgIEFkZCB0b3VjaCBwb2ludCBib3VuZGluZyByZWN0YW5nbGUg
c2l6ZSB0ZXN0aW5nLgorCisgICAgICAgICogZmFzdC9ldmVudHMvYmFzaWMtdG91Y2gtZXZlbnRz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zY3JpcHQtdGVzdHMvYmFzaWMt
dG91Y2gtZXZlbnRzLmpzOgorICAgICAgICAodmVyaWZ5VG91Y2hQb2ludCk6CisgICAgICAgIChz
aW5nbGVUb3VjaFNlcXVlbmNlKToKKyAgICAgICAgKG11bHRpVG91Y2hTZXF1ZW5jZSk6CisgICAg
ICAgICh0b3VjaFRhcmdldHMpOgorCiAyMDEwLTAxLTA3ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxu
emltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpcmsgU2NodWx6ZS4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2Jhc2ljLXRvdWNoLWV2ZW50cy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9iYXNpYy10b3VjaC1ldmVudHMt
ZXhwZWN0ZWQudHh0CmluZGV4IDdhZTQ1MjcuLjcxZTdjZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2Jhc2ljLXRvdWNoLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvYmFzaWMtdG91Y2gtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAt
MTAsMTYgKzEwLDIyIEBAIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucGFnZVggaXMgMTAKIFBB
U1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucGFnZVkgaXMgMTAKIFBBU1MgbGFzdEV2ZW50LnRvdWNo
ZXNbMF0uY2xpZW50WCBpcyAxMAogUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5jbGllbnRZIGlz
IDEwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnJlY3RXaWR0aCBpcyAxCitQQVNTIGxhc3RF
dmVudC50b3VjaGVzWzBdLnJlY3RIZWlnaHQgaXMgMQogUEFTUyBsYXN0RXZlbnQudG91Y2hlc1sw
XS5pZGVudGlmaWVyIGlzIDAKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VY
IGlzIDEwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWSBpcyAxMAogUEFT
UyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WCBpcyAxMAogUEFTUyBsYXN0RXZl
bnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WSBpcyAxMAorUEFTUyBsYXN0RXZlbnQuY2hhbmdl
ZFRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDEKK1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVz
WzBdLnJlY3RIZWlnaHQgaXMgMQogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uaWRl
bnRpZmllciBpcyAwCiBQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYIGlzIDEw
CiBQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzBdLnBhZ2VZIGlzIDEwCiBQQVNTIGxhc3RF
dmVudC50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFggaXMgMTAKIFBBU1MgbGFzdEV2ZW50LnRhcmdl
dFRvdWNoZXNbMF0uY2xpZW50WSBpcyAxMAorUEFTUyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1sw
XS5yZWN0V2lkdGggaXMgMQorUEFTUyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1swXS5yZWN0SGVp
Z2h0IGlzIDEKIFBBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0uaWRlbnRpZmllciBpcyAw
CiBQQVNTIGxhc3RFdmVudC50eXBlIGlzICJ0b3VjaG1vdmUiCiBQQVNTIGxhc3RFdmVudC50b3Vj
aGVzLmxlbmd0aCBpcyAxCkBAIC0yOSw2ICszNSw4IEBAIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNb
MF0ucGFnZVggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucGFnZVkgaXMgMTUKIFBB
U1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WCBpcyAyMAogUEFTUyBsYXN0RXZlbnQudG91
Y2hlc1swXS5jbGllbnRZIGlzIDE1CitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnJlY3RXaWR0
aCBpcyAxMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0SGVpZ2h0IGlzIDEwCiBQQVNT
IGxhc3RFdmVudC50b3VjaGVzWzBdLmlkZW50aWZpZXIgaXMgMAogUEFTUyBsYXN0RXZlbnQuc2hp
ZnRLZXkgaXMgdHJ1ZQogUEFTUyBsYXN0RXZlbnQuYWx0S2V5IGlzIHRydWUKQEAgLTQyLDYgKzUw
LDggQEAgUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVggaXMgMjAKIFBBU1Mg
bGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VZIGlzIDE1CiBQQVNTIGxhc3RFdmVudC5j
aGFuZ2VkVG91Y2hlc1swXS5jbGllbnRYIGlzIDIwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91
Y2hlc1swXS5jbGllbnRZIGlzIDE1CitQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5y
ZWN0V2lkdGggaXMgMTAKK1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnJlY3RIZWln
aHQgaXMgMTAKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmlkZW50aWZpZXIgaXMg
MAogUEFTUyBsYXN0RXZlbnQuc2hpZnRLZXkgaXMgZmFsc2UKIFBBU1MgbGFzdEV2ZW50LmFsdEtl
eSBpcyBmYWxzZQpAQCAtNTUsMzEgKzY1LDQzIEBAIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0u
cGFnZVggaXMgMTAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucGFnZVkgaXMgMTAKIFBBU1Mg
bGFzdEV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WCBpcyAxMAogUEFTUyBsYXN0RXZlbnQudG91Y2hl
c1swXS5jbGllbnRZIGlzIDEwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnJlY3RXaWR0aCBp
cyAxCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnJlY3RIZWlnaHQgaXMgMQogUEFTUyBsYXN0
RXZlbnQudG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNb
MV0ucGFnZVggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMV0ucGFnZVkgaXMgMzAKIFBB
U1MgbGFzdEV2ZW50LnRvdWNoZXNbMV0uY2xpZW50WCBpcyAyMAogUEFTUyBsYXN0RXZlbnQudG91
Y2hlc1sxXS5jbGllbnRZIGlzIDMwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLnJlY3RXaWR0
aCBpcyAxMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1sxXS5yZWN0SGVpZ2h0IGlzIDEwCiBQQVNT
IGxhc3RFdmVudC50b3VjaGVzWzFdLmlkZW50aWZpZXIgaXMgMQogUEFTUyBsYXN0RXZlbnQuY2hh
bmdlZFRvdWNoZXNbMF0ucGFnZVggaXMgMTAKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVz
WzBdLnBhZ2VZIGlzIDEwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRY
IGlzIDEwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZIGlzIDEwCitQ
QVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5yZWN0V2lkdGggaXMgMQorUEFTUyBsYXN0
RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyAxCiBQQVNTIGxhc3RFdmVudC5j
aGFuZ2VkVG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDAKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRU
b3VjaGVzWzFdLnBhZ2VYIGlzIDIwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1sxXS5w
YWdlWSBpcyAzMAogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMV0uY2xpZW50WCBpcyAy
MAogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMV0uY2xpZW50WSBpcyAzMAorUEFTUyBs
YXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMV0ucmVjdFdpZHRoIGlzIDEwCitQQVNTIGxhc3RFdmVu
dC5jaGFuZ2VkVG91Y2hlc1sxXS5yZWN0SGVpZ2h0IGlzIDEwCiBQQVNTIGxhc3RFdmVudC5jaGFu
Z2VkVG91Y2hlc1sxXS5pZGVudGlmaWVyIGlzIDEKIFBBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNo
ZXNbMF0ucGFnZVggaXMgMTAKIFBBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0ucGFnZVkg
aXMgMTAKIFBBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WCBpcyAxMAogUEFT
UyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZIGlzIDEwCitQQVNTIGxhc3RFdmVu
dC50YXJnZXRUb3VjaGVzWzBdLnJlY3RXaWR0aCBpcyAxCitQQVNTIGxhc3RFdmVudC50YXJnZXRU
b3VjaGVzWzBdLnJlY3RIZWlnaHQgaXMgMQogUEFTUyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1sw
XS5pZGVudGlmaWVyIGlzIDAKIFBBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMV0ucGFnZVgg
aXMgMjAKIFBBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMV0ucGFnZVkgaXMgMzAKIFBBU1Mg
bGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMV0uY2xpZW50WCBpcyAyMAogUEFTUyBsYXN0RXZlbnQu
dGFyZ2V0VG91Y2hlc1sxXS5jbGllbnRZIGlzIDMwCitQQVNTIGxhc3RFdmVudC50YXJnZXRUb3Vj
aGVzWzFdLnJlY3RXaWR0aCBpcyAxMAorUEFTUyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1sxXS5y
ZWN0SGVpZ2h0IGlzIDEwCiBQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzFdLmlkZW50aWZp
ZXIgaXMgMQogRmlyc3QgdG91Y2hwb2ludCBtb3ZlZAogUEFTUyBsYXN0RXZlbnQudHlwZSBpcyAi
dG91Y2htb3ZlIgpAQCAtOTAsMTYgKzExMiwyMiBAQCBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBd
LnBhZ2VYIGlzIDE1CiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VZIGlzIDE1CiBQQVNT
IGxhc3RFdmVudC50b3VjaGVzWzBdLmNsaWVudFggaXMgMTUKIFBBU1MgbGFzdEV2ZW50LnRvdWNo
ZXNbMF0uY2xpZW50WSBpcyAxNQorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0V2lkdGgg
aXMgMjAKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyAyMAogUEFTUyBs
YXN0RXZlbnQudG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDAKIFBBU1MgbGFzdEV2ZW50LmNoYW5n
ZWRUb3VjaGVzWzBdLnBhZ2VYIGlzIDE1CiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1sw
XS5wYWdlWSBpcyAxNQogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WCBp
cyAxNQogUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WSBpcyAxNQorUEFT
UyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDIwCitQQVNTIGxhc3RF
dmVudC5jaGFuZ2VkVG91Y2hlc1swXS5yZWN0SGVpZ2h0IGlzIDIwCiBQQVNTIGxhc3RFdmVudC5j
aGFuZ2VkVG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNb
MV0ucGFnZVggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMV0ucGFnZVkgaXMgMzAKIFBB
U1MgbGFzdEV2ZW50LnRvdWNoZXNbMV0uY2xpZW50WCBpcyAyMAogUEFTUyBsYXN0RXZlbnQudG91
Y2hlc1sxXS5jbGllbnRZIGlzIDMwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLnJlY3RXaWR0
aCBpcyAxMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1sxXS5yZWN0SGVpZ2h0IGlzIDEwCiBQQVNT
IGxhc3RFdmVudC50b3VjaGVzWzFdLmlkZW50aWZpZXIgaXMgMQogRmlyc3QgdG91Y2hwb2ludCBp
cyByZWxlYXNlZAogUEFTUyBsYXN0RXZlbnQudHlwZSBpcyAidG91Y2hlbmQiCkBAIC0xMTAsMTYg
KzEzOCwyMiBAQCBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VYIGlzIDIwCiBQQVNTIGxh
c3RFdmVudC50b3VjaGVzWzBdLnBhZ2VZIGlzIDMwCiBQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBd
LmNsaWVudFggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WSBpcyAzMAor
UEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0V2lkdGggaXMgMTAKK1BBU1MgbGFzdEV2ZW50
LnRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyAxMAogUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5p
ZGVudGlmaWVyIGlzIDEKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VYIGlz
IDE1CiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWSBpcyAxNQogUEFTUyBs
YXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WCBpcyAxNQogUEFTUyBsYXN0RXZlbnQu
Y2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WSBpcyAxNQorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRv
dWNoZXNbMF0ucmVjdFdpZHRoIGlzIDIwCitQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1sw
XS5yZWN0SGVpZ2h0IGlzIDIwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5pZGVu
dGlmaWVyIGlzIDAKIFBBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0ucGFnZVggaXMgMjAK
IFBBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0ucGFnZVkgaXMgMzAKIFBBU1MgbGFzdEV2
ZW50LnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WCBpcyAyMAogUEFTUyBsYXN0RXZlbnQudGFyZ2V0
VG91Y2hlc1swXS5jbGllbnRZIGlzIDMwCitQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzBd
LnJlY3RXaWR0aCBpcyAxMAorUEFTUyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1swXS5yZWN0SGVp
Z2h0IGlzIDEwCiBQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzBdLmlkZW50aWZpZXIgaXMg
MQogTGFzdCByZW1haW5pbmcgdG91Y2hwb2ludCBpcyByZWxlYXNlZAogUEFTUyBsYXN0RXZlbnQu
dHlwZSBpcyAidG91Y2hlbmQiCkBAIC0xMzAsNiArMTY0LDggQEAgUEFTUyBsYXN0RXZlbnQuY2hh
bmdlZFRvdWNoZXNbMF0ucGFnZVggaXMgMjAKIFBBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVz
WzBdLnBhZ2VZIGlzIDMwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRY
IGlzIDIwCiBQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZIGlzIDMwCitQ
QVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5yZWN0V2lkdGggaXMgMTAKK1BBU1MgbGFz
dEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnJlY3RIZWlnaHQgaXMgMTAKIFBBU1MgbGFzdEV2ZW50
LmNoYW5nZWRUb3VjaGVzWzBdLmlkZW50aWZpZXIgaXMgMQogdmVyaWZ5IHRvdWNoIHRhcmdldHMK
IFBBU1MgbGFzdEV2ZW50LnR5cGUgaXMgInRvdWNoc3RhcnQiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9zY3JpcHQtdGVzdHMvYmFzaWMtdG91Y2gtZXZlbnRzLmpzIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NyaXB0LXRlc3RzL2Jhc2ljLXRvdWNoLWV2ZW50cy5qcwpp
bmRleCA2NzY2YWJjLi5iMTgwMDNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9zY3JpcHQtdGVzdHMvYmFzaWMtdG91Y2gtZXZlbnRzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3NjcmlwdC10ZXN0cy9iYXNpYy10b3VjaC1ldmVudHMuanMKQEAgLTI5LDEyICsy
OSwxNCBAQCBmdW5jdGlvbiB2ZXJpZnlUb3VjaEV2ZW50KHR5cGUsIHRvdGFsVG91Y2hDb3VudCwg
Y2hhbmdlZFRvdWNoQ291bnQsIHRhcmdldFRvdWNoQwogICAgIHNob3VsZEJlKCJsYXN0RXZlbnQu
dGFyZ2V0VG91Y2hlcy5sZW5ndGgiLCB0YXJnZXRUb3VjaENvdW50LnRvU3RyaW5nKCkpOwogfQog
Ci1mdW5jdGlvbiB2ZXJpZnlUb3VjaFBvaW50KGxpc3QsIHBvaW50LCB4LCB5LCBpZCkKK2Z1bmN0
aW9uIHZlcmlmeVRvdWNoUG9pbnQobGlzdCwgcG9pbnQsIHgsIHksIHJlY3R3aWR0aCwgcmVjdGhl
aWdodCwgaWQpCiB7CiAgICAgc2hvdWxkQmUoImxhc3RFdmVudC4iICsgbGlzdCArICJbIiArIHBv
aW50ICsgIl0ucGFnZVgiLCB4LnRvU3RyaW5nKCkpOwogICAgIHNob3VsZEJlKCJsYXN0RXZlbnQu
IiArIGxpc3QgKyAiWyIgKyBwb2ludCArICJdLnBhZ2VZIiwgeS50b1N0cmluZygpKTsKICAgICBz
aG91bGRCZSgibGFzdEV2ZW50LiIgKyBsaXN0ICsgIlsiICsgcG9pbnQgKyAiXS5jbGllbnRYIiwg
eC50b1N0cmluZygpKTsKICAgICBzaG91bGRCZSgibGFzdEV2ZW50LiIgKyBsaXN0ICsgIlsiICsg
cG9pbnQgKyAiXS5jbGllbnRZIiwgeS50b1N0cmluZygpKTsKKyAgICBzaG91bGRCZSgibGFzdEV2
ZW50LiIgKyBsaXN0ICsgIlsiICsgcG9pbnQgKyAiXS5yZWN0V2lkdGgiLCByZWN0d2lkdGgudG9T
dHJpbmcoKSk7CisgICAgc2hvdWxkQmUoImxhc3RFdmVudC4iICsgbGlzdCArICJbIiArIHBvaW50
ICsgIl0ucmVjdEhlaWdodCIsIHJlY3RoZWlnaHQudG9TdHJpbmcoKSk7CiAgICAgc2hvdWxkQmUo
Imxhc3RFdmVudC4iICsgbGlzdCArICJbIiArIHBvaW50ICsgIl0uaWRlbnRpZmllciIsIGlkLnRv
U3RyaW5nKCkpOwogfQogCkBAIC00MiwyMyArNDQsMjMgQEAgZnVuY3Rpb24gc2luZ2xlVG91Y2hT
ZXF1ZW5jZSgpCiB7CiAgICAgZGVidWcoInNpbmdsZSB0b3VjaCBzZXF1ZW5jZSIpOwogCi0gICAg
ZXZlbnRTZW5kZXIuYWRkVG91Y2hQb2ludCgxMCwgMTApOworICAgIGV2ZW50U2VuZGVyLmFkZFRv
dWNoUG9pbnQoMTAsIDEwLCAxLCAxKTsKICAgICBldmVudFNlbmRlci50b3VjaFN0YXJ0KCk7CiAK
ICAgICB2ZXJpZnlUb3VjaEV2ZW50KCJ0b3VjaHN0YXJ0IiwgMSwgMSwgMSk7CiAgICAgc2hvdWxk
QmUoImxhc3RFdmVudC5zaGlmdEtleSIsICJmYWxzZSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygibGFzdEV2ZW50LnRvdWNoZXNbMF0udGFyZ2V0LmlkIiwgInRvdWNodGFyZ2V0Iik7Ci0g
ICAgdmVyaWZ5VG91Y2hQb2ludCgidG91Y2hlcyIsIDAsIDEwLCAxMCwgMCk7Ci0gICAgdmVyaWZ5
VG91Y2hQb2ludCgiY2hhbmdlZFRvdWNoZXMiLCAwLCAxMCwgMTAsIDApOwotICAgIHZlcmlmeVRv
dWNoUG9pbnQoInRhcmdldFRvdWNoZXMiLCAwLCAxMCwgMTAsIDApOworICAgIHZlcmlmeVRvdWNo
UG9pbnQoInRvdWNoZXMiLCAwLCAxMCwgMTAsIDEsIDEsIDApOworICAgIHZlcmlmeVRvdWNoUG9p
bnQoImNoYW5nZWRUb3VjaGVzIiwgMCwgMTAsIDEwLCAxLCAxLCAwKTsKKyAgICB2ZXJpZnlUb3Vj
aFBvaW50KCJ0YXJnZXRUb3VjaGVzIiwgMCwgMTAsIDEwLCAxLCAxLCAwKTsKIAotICAgIGV2ZW50
U2VuZGVyLnVwZGF0ZVRvdWNoUG9pbnQoMCwgMjAsIDE1KTsKKyAgICBldmVudFNlbmRlci51cGRh
dGVUb3VjaFBvaW50KDAsIDIwLCAxNSwgMTAsIDEwKTsKICAgICBldmVudFNlbmRlci5zZXRUb3Vj
aE1vZGlmaWVyKCJzaGlmdCIsIHRydWUpOwogICAgIGV2ZW50U2VuZGVyLnNldFRvdWNoTW9kaWZp
ZXIoImFsdCIsIHRydWUpOwogICAgIGV2ZW50U2VuZGVyLnRvdWNoTW92ZSgpOwogCiAgICAgdmVy
aWZ5VG91Y2hFdmVudCgidG91Y2htb3ZlIiwgMSwgMSwgMSk7Ci0gICAgdmVyaWZ5VG91Y2hQb2lu
dCgidG91Y2hlcyIsIDAsIDIwLCAxNSwgMCk7CisgICAgdmVyaWZ5VG91Y2hQb2ludCgidG91Y2hl
cyIsIDAsIDIwLCAxNSwgMTAsIDEwLCAwKTsKICAgICBzaG91bGRCZSgibGFzdEV2ZW50LnNoaWZ0
S2V5IiwgInRydWUiKTsKICAgICBzaG91bGRCZSgibGFzdEV2ZW50LmFsdEtleSIsICJ0cnVlIik7
CiAgICAgc2hvdWxkQmUoImxhc3RFdmVudC5jdHJsS2V5IiwgImZhbHNlIik7CkBAIC03MSw3ICs3
Myw3IEBAIGZ1bmN0aW9uIHNpbmdsZVRvdWNoU2VxdWVuY2UoKQogICAgIGV2ZW50U2VuZGVyLnRv
dWNoRW5kKCk7CiAKICAgICB2ZXJpZnlUb3VjaEV2ZW50KCJ0b3VjaGVuZCIsIDAsIDEsIDApOwot
ICAgIHZlcmlmeVRvdWNoUG9pbnQoImNoYW5nZWRUb3VjaGVzIiwgMCwgMjAsIDE1LCAwKTsKKyAg
ICB2ZXJpZnlUb3VjaFBvaW50KCJjaGFuZ2VkVG91Y2hlcyIsIDAsIDIwLCAxNSwgMTAsIDEwLCAw
KTsKICAgICBzaG91bGRCZSgibGFzdEV2ZW50LnNoaWZ0S2V5IiwgImZhbHNlIik7CiAgICAgc2hv
dWxkQmUoImxhc3RFdmVudC5hbHRLZXkiLCAiZmFsc2UiKTsKIH0KQEAgLTgxLDUxICs4Myw1MSBA
QCBmdW5jdGlvbiBtdWx0aVRvdWNoU2VxdWVuY2UoKQogICAgIGRlYnVnKCJtdWx0aSB0b3VjaCBz
ZXF1ZW5jZSIpOwogCiAgICAgZGVidWcoIlR3byB0b3VjaHBvaW50cyBwcmVzc2VkIik7Ci0gICAg
ZXZlbnRTZW5kZXIuYWRkVG91Y2hQb2ludCgxMCwgMTApOwotICAgIGV2ZW50U2VuZGVyLmFkZFRv
dWNoUG9pbnQoMjAsIDMwKTsKKyAgICBldmVudFNlbmRlci5hZGRUb3VjaFBvaW50KDEwLCAxMCwg
MSwgMSk7CisgICAgZXZlbnRTZW5kZXIuYWRkVG91Y2hQb2ludCgyMCwgMzAsIDEwLCAxMCk7CiAg
ICAgZXZlbnRTZW5kZXIudG91Y2hTdGFydCgpOwogICAgIHZlcmlmeVRvdWNoRXZlbnQoInRvdWNo
c3RhcnQiLCAyLCAyLCAyKTsKLSAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0b3VjaGVzIiwgMCwgMTAs
IDEwLCAwKTsKLSAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0b3VjaGVzIiwgMSwgMjAsIDMwLCAxKTsK
LSAgICB2ZXJpZnlUb3VjaFBvaW50KCJjaGFuZ2VkVG91Y2hlcyIsIDAsIDEwLCAxMCwgMCk7Ci0g
ICAgdmVyaWZ5VG91Y2hQb2ludCgiY2hhbmdlZFRvdWNoZXMiLCAxLCAyMCwgMzAsIDEpOwotICAg
IHZlcmlmeVRvdWNoUG9pbnQoInRhcmdldFRvdWNoZXMiLCAwLCAxMCwgMTAsIDApOwotICAgIHZl
cmlmeVRvdWNoUG9pbnQoInRhcmdldFRvdWNoZXMiLCAxLCAyMCwgMzAsIDEpOworICAgIHZlcmlm
eVRvdWNoUG9pbnQoInRvdWNoZXMiLCAwLCAxMCwgMTAsIDEsIDEsIDApOworICAgIHZlcmlmeVRv
dWNoUG9pbnQoInRvdWNoZXMiLCAxLCAyMCwgMzAsIDEwLCAxMCwgMSk7CisgICAgdmVyaWZ5VG91
Y2hQb2ludCgiY2hhbmdlZFRvdWNoZXMiLCAwLCAxMCwgMTAsIDEsIDEsIDApOworICAgIHZlcmlm
eVRvdWNoUG9pbnQoImNoYW5nZWRUb3VjaGVzIiwgMSwgMjAsIDMwLCAxMCwgMTAsIDEpOworICAg
IHZlcmlmeVRvdWNoUG9pbnQoInRhcmdldFRvdWNoZXMiLCAwLCAxMCwgMTAsIDEsIDEsIDApOwor
ICAgIHZlcmlmeVRvdWNoUG9pbnQoInRhcmdldFRvdWNoZXMiLCAxLCAyMCwgMzAsIDEwLCAxMCwg
MSk7CiAKICAgICBkZWJ1ZygiRmlyc3QgdG91Y2hwb2ludCBtb3ZlZCIpOwotICAgIGV2ZW50U2Vu
ZGVyLnVwZGF0ZVRvdWNoUG9pbnQoMCwgMTUsIDE1KTsKKyAgICBldmVudFNlbmRlci51cGRhdGVU
b3VjaFBvaW50KDAsIDE1LCAxNSwgMjAsIDIwKTsKICAgICBldmVudFNlbmRlci50b3VjaE1vdmUo
KTsKICAgICB2ZXJpZnlUb3VjaEV2ZW50KCJ0b3VjaG1vdmUiLCAyLCAxLCAyKTsKLSAgICB2ZXJp
ZnlUb3VjaFBvaW50KCJ0b3VjaGVzIiwgMCwgMTUsIDE1LCAwKTsKLSAgICB2ZXJpZnlUb3VjaFBv
aW50KCJjaGFuZ2VkVG91Y2hlcyIsIDAsIDE1LCAxNSwgMCk7Ci0gICAgdmVyaWZ5VG91Y2hQb2lu
dCgidG91Y2hlcyIsIDEsIDIwLCAzMCwgMSk7CisgICAgdmVyaWZ5VG91Y2hQb2ludCgidG91Y2hl
cyIsIDAsIDE1LCAxNSwgMjAsIDIwLCAwKTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJjaGFuZ2Vk
VG91Y2hlcyIsIDAsIDE1LCAxNSwgMjAsIDIwLCAwKTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0
b3VjaGVzIiwgMSwgMjAsIDMwLCAxMCwgMTAsIDEpOwogCiAgICAgZGVidWcoIkZpcnN0IHRvdWNo
cG9pbnQgaXMgcmVsZWFzZWQiKTsKICAgICBldmVudFNlbmRlci5yZWxlYXNlVG91Y2hQb2ludCgw
KTsKICAgICBldmVudFNlbmRlci50b3VjaEVuZCgpOwogICAgIHZlcmlmeVRvdWNoRXZlbnQoInRv
dWNoZW5kIiwgMSwgMSwgMSk7Ci0gICAgdmVyaWZ5VG91Y2hQb2ludCgidG91Y2hlcyIsIDAsIDIw
LCAzMCwgMSk7Ci0gICAgdmVyaWZ5VG91Y2hQb2ludCgiY2hhbmdlZFRvdWNoZXMiLCAwLCAxNSwg
MTUsIDApOwotICAgIHZlcmlmeVRvdWNoUG9pbnQoInRhcmdldFRvdWNoZXMiLCAwLCAyMCwgMzAs
IDEpOworICAgIHZlcmlmeVRvdWNoUG9pbnQoInRvdWNoZXMiLCAwLCAyMCwgMzAsIDEwLCAxMCwg
MSk7CisgICAgdmVyaWZ5VG91Y2hQb2ludCgiY2hhbmdlZFRvdWNoZXMiLCAwLCAxNSwgMTUsIDIw
LCAyMCwgMCk7CisgICAgdmVyaWZ5VG91Y2hQb2ludCgidGFyZ2V0VG91Y2hlcyIsIDAsIDIwLCAz
MCwgMTAsIDEwLCAxKTsKIAogICAgIGRlYnVnKCJMYXN0IHJlbWFpbmluZyB0b3VjaHBvaW50IGlz
IHJlbGVhc2VkIik7CiAgICAgZXZlbnRTZW5kZXIucmVsZWFzZVRvdWNoUG9pbnQoMCk7CiAgICAg
ZXZlbnRTZW5kZXIudG91Y2hFbmQoKTsKICAgICB2ZXJpZnlUb3VjaEV2ZW50KCJ0b3VjaGVuZCIs
IDAsIDEsIDApOwotICAgIHZlcmlmeVRvdWNoUG9pbnQoImNoYW5nZWRUb3VjaGVzIiwgMCwgMjAs
IDMwLCAxKTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJjaGFuZ2VkVG91Y2hlcyIsIDAsIDIwLCAz
MCwgMTAsIDEwLCAxKTsKIH0KIAogZnVuY3Rpb24gdG91Y2hUYXJnZXRzKCkKIHsKICAgICBkZWJ1
ZygidmVyaWZ5IHRvdWNoIHRhcmdldHMiKTsKIAotICAgIGV2ZW50U2VuZGVyLmFkZFRvdWNoUG9p
bnQoMTAsIDEwKTsKKyAgICBldmVudFNlbmRlci5hZGRUb3VjaFBvaW50KDEwLCAxMCwgMSwgMSk7
CiAgICAgZXZlbnRTZW5kZXIudG91Y2hTdGFydCgpOwogCiAgICAgdmVyaWZ5VG91Y2hFdmVudCgi
dG91Y2hzdGFydCIsIDEsIDEsIDEpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibGFzdEV2
ZW50LnRhcmdldFRvdWNoZXNbMF0udGFyZ2V0LnRhZ05hbWUiLCAiRElWIik7CiAKLSAgICBldmVu
dFNlbmRlci51cGRhdGVUb3VjaFBvaW50KDAsIDEwMDAsIDEwMDApOworICAgIGV2ZW50U2VuZGVy
LnVwZGF0ZVRvdWNoUG9pbnQoMCwgMTAwMCwgMTAwMCwgMTAsIDEwKTsKICAgICBldmVudFNlbmRl
ci50b3VjaE1vdmUoKTsKIAogICAgIHZlcmlmeVRvdWNoRXZlbnQoInRvdWNobW92ZSIsIDEsIDEs
IDApOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBmNzU5Y2NjLi42YzNhZWI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEwLTAxLTA3ICBQZXRyaSBM
YXR2YWxhICA8cGV0cmkubGF0dmFsYUBub21vdm9rLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCb3VuZGluZyBib3ggZm9yIHRvdWNoIHBvaW50
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMzMjQK
KworICAgICAgICBBZGQgYm91bmRpbmcgYm94IHJlY3RhbmdsZSB0byBQbGF0Zm9ybVRvdWNoRXZl
bnQKKyAgICAgICAgYW5kIHRvIHRoZSBUb3VjaCBET00gb2JqZWN0LiAKKworICAgICAgICAqIGRv
bS9Ub3VjaC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUb3VjaDo6VG91Y2gpOgorICAgICAgICAq
IGRvbS9Ub3VjaC5oOgorICAgICAgICAoV2ViQ29yZTo6VG91Y2g6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpUb3VjaDo6cmVjdFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlRvdWNoOjpy
ZWN0SGVpZ2h0KToKKyAgICAgICAgKiBkb20vVG91Y2guaWRsOgorICAgICAgICAqIHBhZ2UvRXZl
bnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlVG91
Y2hFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoUG9pbnQ6OnJlY3QpOgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1BsYXRmb3JtVG91Y2hQb2ludFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtVG91Y2hQb2ludDo6UGxhdGZvcm1Ub3VjaFBvaW50KToKKwogMjAxMC0wMS0wNyAgR2VvZmZy
ZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBX
ZWluaWcuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Ub3VjaC5jcHAgYi9XZWJDb3JlL2RvbS9U
b3VjaC5jcHAKaW5kZXggNmRkMmI4ZS4uNDU0MzlhYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
VG91Y2guY3BwCisrKyBiL1dlYkNvcmUvZG9tL1RvdWNoLmNwcApAQCAtNTQsNyArNTQsOCBAQCBz
dGF0aWMgaW50IGNvbnRlbnRzWShGcmFtZSogZnJhbWUpCiB9CiAKIFRvdWNoOjpUb3VjaChGcmFt
ZSogZnJhbWUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQsIHVuc2lnbmVkIGlkZW50aWZpZXIsIAotICAg
ICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZKQorICAg
ICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZLAorICAg
ICAgICBpbnQgcmVjdFdpZHRoLCBpbnQgcmVjdEhlaWdodCkKICAgICA6IG1fZnJhbWUoZnJhbWUp
CiAgICAgLCBtX3RhcmdldCh0YXJnZXQpCiAgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikK
QEAgLTY0LDYgKzY1LDggQEAgVG91Y2g6OlRvdWNoKEZyYW1lKiBmcmFtZSwgRXZlbnRUYXJnZXQq
IHRhcmdldCwgdW5zaWduZWQgaWRlbnRpZmllciwKICAgICAsIG1fc2NyZWVuWShzY3JlZW5ZKQog
ICAgICwgbV9wYWdlWChwYWdlWCkKICAgICAsIG1fcGFnZVkocGFnZVkpCisgICAgLCBtX3JlY3RX
aWR0aChyZWN0V2lkdGgpCisgICAgLCBtX3JlY3RIZWlnaHQocmVjdEhlaWdodCkKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVG91Y2guaCBiL1dlYkNvcmUvZG9tL1RvdWNoLmgKaW5k
ZXggY2YzOWZhZi4uMDk0MDQ1ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVG91Y2guaAorKysg
Yi9XZWJDb3JlL2RvbS9Ub3VjaC5oCkBAIC0zOSwxMCArMzksMTEgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgVG91Y2ggOiBwdWJsaWMgUmVmQ291bnRlZDxUb3VjaD4gewogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRvdWNoPiBjcmVhdGUoRnJhbWUqIGZyYW1lLCBFdmVudFRh
cmdldCogdGFyZ2V0LAotICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmllciwgaW50IHNjcmVl
blgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSkKKyAgICAgICAgICAgIHVuc2ln
bmVkIGlkZW50aWZpZXIsIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQg
cGFnZVksCisgICAgICAgICAgICBpbnQgcmVjdFdpZHRoLCBpbnQgcmVjdEhlaWdodCkKICAgICB7
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVG91Y2goZnJhbWUsIHRhcmdldCwgaWRlbnRp
Zmllciwgc2NyZWVuWCwgCi0gICAgICAgICAgICAgICAgc2NyZWVuWSwgcGFnZVgsIHBhZ2VZKSk7
CisgICAgICAgICAgICAgICAgc2NyZWVuWSwgcGFnZVgsIHBhZ2VZLCByZWN0V2lkdGgsIHJlY3RI
ZWlnaHQpKTsKICAgICB9CiAKICAgICB2b2lkIHVwZGF0ZUxvY2F0aW9uKGludCBzY3JlZW5YLCBp
bnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFnZVkpOwpAQCAtNTYsMTAgKzU3LDEzIEBAIHB1
YmxpYzoKICAgICBpbnQgc2NyZWVuWSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyZWVuWTsgfQogICAg
IGludCBwYWdlWCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZVg7IH0KICAgICBpbnQgcGFnZVkoKSBj
b25zdCB7IHJldHVybiBtX3BhZ2VZOyB9CisgICAgaW50IHJlY3RXaWR0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fcmVjdFdpZHRoOyB9CisgICAgaW50IHJlY3RIZWlnaHQoKSBjb25zdCB7IHJldHVybiBt
X3JlY3RIZWlnaHQ7IH0KIAogcHJpdmF0ZToKICAgICBUb3VjaChGcmFtZSogZnJhbWUsIEV2ZW50
VGFyZ2V0KiB0YXJnZXQsIHVuc2lnbmVkIGlkZW50aWZpZXIsCi0gICAgICAgICAgICBpbnQgc2Ny
ZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZKTsKKyAgICAgICAgICAgIGlu
dCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFnZVksCisgICAgICAgICAg
ICBpbnQgcmVjdFdpZHRoLCBpbnQgcmVjdEhlaWdodCk7CiAKICAgICBSZWZQdHI8RnJhbWU+IG1f
ZnJhbWU7CiAgICAgUmVmUHRyPEV2ZW50VGFyZ2V0PiBtX3RhcmdldDsKQEAgLTcwLDYgKzc0LDgg
QEAgcHJpdmF0ZToKICAgICBpbnQgbV9zY3JlZW5ZOwogICAgIGludCBtX3BhZ2VYOwogICAgIGlu
dCBtX3BhZ2VZOworICAgIGludCBtX3JlY3RXaWR0aDsKKyAgICBpbnQgbV9yZWN0SGVpZ2h0Owog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVG91
Y2guaWRsIGIvV2ViQ29yZS9kb20vVG91Y2guaWRsCmluZGV4IDFhZmM2M2EuLjAxZDc3N2MgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1RvdWNoLmlkbAorKysgYi9XZWJDb3JlL2RvbS9Ub3VjaC5p
ZGwKQEAgLTM2LDUgKzM2LDcgQEAgbW9kdWxlIGV2ZW50cyB7CiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBsb25nICAgICAgICAgICAgIHBhZ2VZOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRXZlbnRUYXJnZXQgICAgICB0YXJnZXQ7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nICAgIGlkZW50aWZpZXI7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBs
b25nICAgICAgICAgICAgIHJlY3RXaWR0aDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxv
bmcgICAgICAgICAgICAgcmVjdEhlaWdodDsKICAgICB9OwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApp
bmRleCBlZDZiYzRhLi5kZjc5OWFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjU2NSw3ICsy
NTY1LDggQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoRXZlbnQoY29uc3QgUGxhdGZv
cm1Ub3VjaEV2ZW50JiBldmVudCkKIAogICAgICAgICBSZWZQdHI8VG91Y2g+IHRvdWNoID0gVG91
Y2g6OmNyZWF0ZShtX2ZyYW1lLCB0YXJnZXQsIHBvaW50LmlkKCksCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50LnNjcmVlblBvcygpLngoKSwgcG9pbnQu
c2NyZWVuUG9zKCkueSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmcmFtZVBvaW50LngoKSwgZnJhbWVQb2ludC55KCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZVBvaW50LngoKSwgZnJhbWVQb2ludC55KCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50LnJlY3Qo
KS53aWR0aCgpLCBwb2ludC5yZWN0KCkuaGVpZ2h0KCkpOwogCiAgICAgICAgIGlmIChldmVudC50
eXBlKCkgPT0gVG91Y2hTdGFydCAmJiAhaSkgewogICAgICAgICAgICAgbV90b3VjaEV2ZW50VGFy
Z2V0ID0gdGFyZ2V0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNo
UG9pbnQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmgKaW5kZXggMzUw
NjUzZC4uNTViMzkyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNo
UG9pbnQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hQb2ludC5oCkBAIC0y
MSw2ICsyMSw3IEBACiAjZGVmaW5lIFBsYXRmb3JtVG91Y2hQb2ludF9oCiAKICNpbmNsdWRlICJJ
bnRQb2ludC5oIgorI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0u
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUxLDEyICs1MiwxNCBAQCBwdWJsaWM6
CiAgICAgU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CiAgICAgSW50UG9p
bnQgc2NyZWVuUG9zKCkgY29uc3QgeyByZXR1cm4gbV9zY3JlZW5Qb3M7IH0KICAgICBJbnRQb2lu
dCBwb3MoKSBjb25zdCB7IHJldHVybiBtX3BvczsgfQorICAgIEludFJlY3QgcmVjdCgpIGNvbnN0
IHsgcmV0dXJuIG1fcmVjdDsgfQogICAgIAogcHJpdmF0ZToKICAgICBpbnQgbV9pZDsKICAgICBT
dGF0ZSBtX3N0YXRlOwogICAgIEludFBvaW50IG1fc2NyZWVuUG9zOwogICAgIEludFBvaW50IG1f
cG9zOworICAgIEludFJlY3QgbV9yZWN0OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9QbGF0Zm9ybVRvdWNoUG9pbnRRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL3F0
L1BsYXRmb3JtVG91Y2hQb2ludFF0LmNwcAppbmRleCAxNzg4Y2VmLi4zOTI2YmE5IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtVG91Y2hQb2ludFF0LmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtVG91Y2hQb2ludFF0LmNwcApAQCAtMzgsNiArMzgs
NyBAQCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlBsYXRmb3JtVG91Y2hQb2ludChjb25zdCBRVG91Y2hF
dmVudDo6VG91Y2hQb2ludCYgcG9pbnQpCiAgICAgfQogICAgIG1fc2NyZWVuUG9zID0gcG9pbnQu
c2NyZWVuUG9zKCkudG9Qb2ludCgpOwogICAgIG1fcG9zID0gcG9pbnQucG9zKCkudG9Qb2ludCgp
OworICAgIG1fcmVjdCA9IEludFJlY3QocG9pbnQucmVjdCgpLngoKSwgcG9pbnQucmVjdCgpLnko
KSwgcG9pbnQucmVjdCgpLndpZHRoKCksIHBvaW50LnJlY3QoKS5oZWlnaHQoKSk7CiB9CiAKIH0K
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA2Zjk3Y2Y3Li5mNzE1Zjc5IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEt
MDcgIFBldHJpIExhdHZhbGEgIDxwZXRyaS5sYXR2YWxhQG5vbW92b2suY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJvdW5kaW5nIGJveCBmb3Ig
dG91Y2ggcG9pbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zMzMyNAorCisgICAgICAgIEFkZCBib3VuZGluZyByZWN0YW5nbGUgc2l6ZSBzdXBwb3J0
LiAKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwOgorICAg
ICAgICAoRXZlbnRTZW5kZXI6OmFkZFRvdWNoUG9pbnQpOiBBbHNvIHBhc3MgdGhlIHJlY3Qgc2l6
ZXMuCisgICAgICAgIChFdmVudFNlbmRlcjo6dXBkYXRlVG91Y2hQb2ludCk6IERpdHRvLgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuaDoKKwogMjAxMC0wMS0wNyAg
TWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvbiBI
b25leWN1dHQuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVu
dFNlbmRlclF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVy
UXQuY3BwCmluZGV4IDczYTk5MzQuLjZiNmFkMDQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwCkBAIC0yODQsMjQgKzI4NCwyNSBAQCB2b2lk
IEV2ZW50U2VuZGVyOjpzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrKCkKICAgICBRQXBwbGljYXRp
b246OnBvc3RFdmVudChtX3BhZ2UsIGV2ZW50Mik7CiB9CiAKLXZvaWQgRXZlbnRTZW5kZXI6OmFk
ZFRvdWNoUG9pbnQoaW50IHgsIGludCB5KQordm9pZCBFdmVudFNlbmRlcjo6YWRkVG91Y2hQb2lu
dChpbnQgeCwgaW50IHksIGludCByZWN0V2lkdGgsIGludCByZWN0SGVpZ2h0KQogewogI2lmIFFU
X1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQogICAgIGludCBpZCA9IG1fdG91
Y2hQb2ludHMuY291bnQoKTsKICAgICBRVG91Y2hFdmVudDo6VG91Y2hQb2ludCBwb2ludChpZCk7
CiAgICAgbV90b3VjaFBvaW50cy5hcHBlbmQocG9pbnQpOwotICAgIHVwZGF0ZVRvdWNoUG9pbnQo
aWQsIHgsIHkpOworICAgIHVwZGF0ZVRvdWNoUG9pbnQoaWQsIHgsIHksIHJlY3RXaWR0aCwgcmVj
dEhlaWdodCk7CiAgICAgbV90b3VjaFBvaW50c1tpZF0uc2V0U3RhdGUoUXQ6OlRvdWNoUG9pbnRQ
cmVzc2VkKTsKICNlbmRpZgogfQogCi12b2lkIEV2ZW50U2VuZGVyOjp1cGRhdGVUb3VjaFBvaW50
KGludCBpbmRleCwgaW50IHgsIGludCB5KQordm9pZCBFdmVudFNlbmRlcjo6dXBkYXRlVG91Y2hQ
b2ludChpbnQgaW5kZXgsIGludCB4LCBpbnQgeSwgaW50IHJlY3RXaWR0aCwgaW50IHJlY3RIZWln
aHQpCiB7CiAjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAg
aWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSBtX3RvdWNoUG9pbnRzLmNvdW50KCkpCiAgICAgICAg
IHJldHVybjsKIAogICAgIFFUb3VjaEV2ZW50OjpUb3VjaFBvaW50ICZwID0gbV90b3VjaFBvaW50
c1tpbmRleF07CisgICAgcC5zZXRSZWN0KFFSZWN0RihRUG9pbnRGKDAsIDApLCBRU2l6ZUYocmVj
dFdpZHRoLCByZWN0SGVpZ2h0KSkpOwogICAgIHAuc2V0UG9zKFFQb2ludEYoeCwgeSkpOwogICAg
IHAuc2V0U3RhdGUoUXQ6OlRvdWNoUG9pbnRNb3ZlZCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuaCBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuaAppbmRleCBmNmNmYzdjLi43ZGQ0OWYz
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0
LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRXZlbnRTZW5kZXJRdC5oCkBA
IC02MCw4ICs2MCw4IEBAIHB1YmxpYyBzbG90czoKICAgICB2b2lkIGNsZWFyS2lsbFJpbmcoKSB7
fQogICAgIHZvaWQgY29udGV4dENsaWNrKCk7CiAgICAgdm9pZCBzY2hlZHVsZUFzeW5jaHJvbm91
c0NsaWNrKCk7Ci0gICAgdm9pZCBhZGRUb3VjaFBvaW50KGludCB4LCBpbnQgeSk7Ci0gICAgdm9p
ZCB1cGRhdGVUb3VjaFBvaW50KGludCBpbmRleCwgaW50IHgsIGludCB5KTsKKyAgICB2b2lkIGFk
ZFRvdWNoUG9pbnQoaW50IHgsIGludCB5LCBpbnQgcmVjdFdpZHRoLCBpbnQgcmVjdEhlaWdodCk7
CisgICAgdm9pZCB1cGRhdGVUb3VjaFBvaW50KGludCBpbmRleCwgaW50IHgsIGludCB5LCBpbnQg
cmVjdFdpZHRoLCBpbnQgcmVjdEhlaWdodCk7CiAgICAgdm9pZCBzZXRUb3VjaE1vZGlmaWVyKGNv
bnN0IFFTdHJpbmcgJm1vZGlmaWVyLCBib29sIGVuYWJsZSk7CiAgICAgdm9pZCB0b3VjaFN0YXJ0
KCk7CiAgICAgdm9pZCB0b3VjaE1vdmUoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46905</attachid>
            <date>2010-01-19 07:08:53 -0800</date>
            <delta_ts>2010-06-10 21:15:24 -0700</delta_ts>
            <desc>Touch point bounding box, try 4</desc>
            <filename>bounding2.diff</filename>
            <type>text/plain</type>
            <size>20380</size>
            <attacher name="Petri Latvala">petri.latvala</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhZDMxMmQ2Li4wMmIzMDI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMDEt
MTkgIFBldHJpIExhdHZhbGEgIDxwZXRyaS5sYXR2YWxhQG5vbW92b2suY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0b3VjaCBwb2ludCBi
b3VuZGluZyByZWN0YW5nbGUgc2l6ZXMgdG8gdG91Y2ggZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMzI0CisKKyAgICAgICAgQWRkIHRvdWNo
IHBvaW50IGJvdW5kaW5nIHJlY3RhbmdsZSBzaXplIHRlc3QuCisKKyAgICAgICAgKiBmYXN0L2V2
ZW50cy9zY3JpcHQtdGVzdHMvdG91Y2gtcG9pbnQtYm91bmRpbmctcmVjdC5qczogQWRkZWQuCisg
ICAgICAgIChhcHBlbmRFdmVudExvZyk6CisgICAgICAgICh2ZXJpZnlUb3VjaFBvaW50KToKKyAg
ICAgICAgKG5vcm1hbFJlY3RUZXN0KToKKyAgICAgICAgKG11bHRpUmVjdFRlc3QpOgorICAgICAg
ICAoZW1wdHlSZWN0VGVzdCk6CisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvdG91Y2gtcG9p
bnQtYm91bmRpbmctcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZl
bnRzL3RvdWNoL3RvdWNoLXBvaW50LWJvdW5kaW5nLXJlY3QuaHRtbDogQWRkZWQuCisKIDIwMTAt
MDEtMTkgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3NjcmlwdC10ZXN0cy90b3VjaC1wb2ludC1ib3VuZGluZy1yZWN0
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NyaXB0LXRlc3RzL3RvdWNoLXBvaW50LWJv
dW5kaW5nLXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTRhYWEx
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjcmlwdC10ZXN0
cy90b3VjaC1wb2ludC1ib3VuZGluZy1yZWN0LmpzCkBAIC0wLDAgKzEsMTI2IEBACitkZXNjcmlw
dGlvbiA9ICJUaGlzIHRlc3RzIHRvdWNoIHBvaW50IGJvdW5kaW5nIHJlY3RhbmdsZSBzdXBwb3J0
LiI7CisKK3ZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK2Rpdi5pZCA9
ICJ0b3VjaHRhcmdldCI7CitkaXYuc3R5bGUud2lkdGggPSAiMTAwcHgiOworZGl2LnN0eWxlLmhl
aWdodCA9ICIxMDBweCI7CitkaXYuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImJsdWUiOworCit2
YXIgbGFzdEV2ZW50ID0gbnVsbDsKKworZnVuY3Rpb24gYXBwZW5kRXZlbnRMb2coKSB7CisgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBsYXN0RXZlbnQgPSBldmVudDsKKyAg
ICB9IGVsc2UgeworICAgICAgICBkZWJ1ZyhldmVudC50eXBlKTsKKyAgICB9Cit9CisKK2Rpdi5h
ZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IiwgYXBwZW5kRXZlbnRMb2csIGZhbHNlKTsKK2Rp
di5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCBhcHBlbmRFdmVudExvZywgZmFsc2UpOwor
ZGl2LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIiwgYXBwZW5kRXZlbnRMb2csIGZhbHNlKTsK
K2RvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKGRpdiwgZG9jdW1lbnQuYm9keS5maXJzdENoaWxk
KTsKKworZnVuY3Rpb24gdmVyaWZ5VG91Y2hQb2ludChsaXN0LCBwb2ludCwgeCwgeSwgaWQsIHJl
Y3RXaWR0aCwgcmVjdEhlaWdodCkKK3sKKyAgICBzaG91bGRCZSgibGFzdEV2ZW50LiIgKyBsaXN0
ICsgIlsiICsgcG9pbnQgKyAiXS5wYWdlWCIsIHgudG9TdHJpbmcoKSk7CisgICAgc2hvdWxkQmUo
Imxhc3RFdmVudC4iICsgbGlzdCArICJbIiArIHBvaW50ICsgIl0ucGFnZVkiLCB5LnRvU3RyaW5n
KCkpOworICAgIHNob3VsZEJlKCJsYXN0RXZlbnQuIiArIGxpc3QgKyAiWyIgKyBwb2ludCArICJd
LmNsaWVudFgiLCB4LnRvU3RyaW5nKCkpOworICAgIHNob3VsZEJlKCJsYXN0RXZlbnQuIiArIGxp
c3QgKyAiWyIgKyBwb2ludCArICJdLmNsaWVudFkiLCB5LnRvU3RyaW5nKCkpOworICAgIHNob3Vs
ZEJlKCJsYXN0RXZlbnQuIiArIGxpc3QgKyAiWyIgKyBwb2ludCArICJdLmlkZW50aWZpZXIiLCBp
ZC50b1N0cmluZygpKTsKKyAgICBzaG91bGRCZSgibGFzdEV2ZW50LiIgKyBsaXN0ICsgIlsiICsg
cG9pbnQgKyAiXS5yZWN0V2lkdGgiLCByZWN0V2lkdGgudG9TdHJpbmcoKSk7CisgICAgc2hvdWxk
QmUoImxhc3RFdmVudC4iICsgbGlzdCArICJbIiArIHBvaW50ICsgIl0ucmVjdEhlaWdodCIsIHJl
Y3RIZWlnaHQudG9TdHJpbmcoKSk7Cit9CisKK2Z1bmN0aW9uIG5vcm1hbFJlY3RUZXN0KCkKK3sK
KyAgICBkZWJ1ZygiU2luZ2xlIHRvdWNoIHBvaW50IHdpdGggYm91bmRpbmcgcmVjdCIpOworCisg
ICAgZXZlbnRTZW5kZXIuYWRkVG91Y2hQb2ludCgxMCwgMTApOworICAgIGV2ZW50U2VuZGVyLnVw
ZGF0ZVRvdWNoUG9pbnRCb3VuZHMoMCwgNSwgNSk7CisgICAgZXZlbnRTZW5kZXIudG91Y2hTdGFy
dCgpOworCisgICAgdmVyaWZ5VG91Y2hQb2ludCgidG91Y2hlcyIsIDAsIDEwLCAxMCwgMCwgNSwg
NSk7CisgICAgdmVyaWZ5VG91Y2hQb2ludCgiY2hhbmdlZFRvdWNoZXMiLCAwLCAxMCwgMTAsIDAs
IDUsIDUpOworICAgIHZlcmlmeVRvdWNoUG9pbnQoInRhcmdldFRvdWNoZXMiLCAwLCAxMCwgMTAs
IDAsIDUsIDUpOworCisgICAgZXZlbnRTZW5kZXIudXBkYXRlVG91Y2hQb2ludCgwLCAyMCwgMTUp
OworICAgIGV2ZW50U2VuZGVyLnVwZGF0ZVRvdWNoUG9pbnRCb3VuZHMoMCwgNDAsIDEwKTsKKyAg
ICBldmVudFNlbmRlci50b3VjaE1vdmUoKTsKKworICAgIHZlcmlmeVRvdWNoUG9pbnQoInRvdWNo
ZXMiLCAwLCAyMCwgMTUsIDAsIDQwLCAxMCk7CisKKyAgICBldmVudFNlbmRlci5yZWxlYXNlVG91
Y2hQb2ludCgwKTsKKyAgICBldmVudFNlbmRlci50b3VjaEVuZCgpOworCisgICAgdmVyaWZ5VG91
Y2hQb2ludCgiY2hhbmdlZFRvdWNoZXMiLCAwLCAyMCwgMTUsIDAsIDQwLCAxMCk7Cit9CisKK2Z1
bmN0aW9uIG11bHRpUmVjdFRlc3QoKQoreworICAgIGRlYnVnKCJNdWx0aXBsZSB0b3VjaCBwb2lu
dHMgd2l0aCBib3VuZGluZyByZWN0Iik7CisKKyAgICBkZWJ1ZygiVHdvIHRvdWNocG9pbnRzIHBy
ZXNzZWQiKTsKKyAgICBldmVudFNlbmRlci5hZGRUb3VjaFBvaW50KDEwLCAxMCk7CisgICAgZXZl
bnRTZW5kZXIudXBkYXRlVG91Y2hQb2ludEJvdW5kcygwLCA0LCAyKTsKKyAgICBldmVudFNlbmRl
ci5hZGRUb3VjaFBvaW50KDIwLCAzMCk7CisgICAgZXZlbnRTZW5kZXIudXBkYXRlVG91Y2hQb2lu
dEJvdW5kcygxLCAxNSwgMTYpOworICAgIGV2ZW50U2VuZGVyLnRvdWNoU3RhcnQoKTsKKyAgICB2
ZXJpZnlUb3VjaFBvaW50KCJ0b3VjaGVzIiwgMCwgMTAsIDEwLCAwLCA0LCAyKTsKKyAgICB2ZXJp
ZnlUb3VjaFBvaW50KCJ0b3VjaGVzIiwgMSwgMjAsIDMwLCAxLCAxNSwgMTYpOworICAgIHZlcmlm
eVRvdWNoUG9pbnQoImNoYW5nZWRUb3VjaGVzIiwgMCwgMTAsIDEwLCAwLCA0LCAyKTsKKyAgICB2
ZXJpZnlUb3VjaFBvaW50KCJjaGFuZ2VkVG91Y2hlcyIsIDEsIDIwLCAzMCwgMSwgMTUsIDE2KTsK
KyAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0YXJnZXRUb3VjaGVzIiwgMCwgMTAsIDEwLCAwLCA0LCAy
KTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0YXJnZXRUb3VjaGVzIiwgMSwgMjAsIDMwLCAxLCAx
NSwgMTYpOworCisgICAgZGVidWcoIkZpcnN0IHRvdWNocG9pbnQgbW92ZWQiKTsKKyAgICBldmVu
dFNlbmRlci51cGRhdGVUb3VjaFBvaW50KDAsIDE1LCAxNSk7CisgICAgZXZlbnRTZW5kZXIudXBk
YXRlVG91Y2hQb2ludEJvdW5kcygwLCAxLCAxKTsKKyAgICBldmVudFNlbmRlci50b3VjaE1vdmUo
KTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0b3VjaGVzIiwgMCwgMTUsIDE1LCAwLCAxLCAxKTsK
KyAgICB2ZXJpZnlUb3VjaFBvaW50KCJjaGFuZ2VkVG91Y2hlcyIsIDAsIDE1LCAxNSwgMCwgMSwg
MSk7CisgICAgdmVyaWZ5VG91Y2hQb2ludCgidG91Y2hlcyIsIDEsIDIwLCAzMCwgMSwgMTUsIDE2
KTsKKworICAgIGRlYnVnKCJGaXJzdCB0b3VjaHBvaW50IGlzIHJlbGVhc2VkIik7CisgICAgZXZl
bnRTZW5kZXIucmVsZWFzZVRvdWNoUG9pbnQoMCk7CisgICAgZXZlbnRTZW5kZXIudG91Y2hFbmQo
KTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0b3VjaGVzIiwgMCwgMjAsIDMwLCAxLCAxNSwgMTYp
OworICAgIHZlcmlmeVRvdWNoUG9pbnQoImNoYW5nZWRUb3VjaGVzIiwgMCwgMTUsIDE1LCAwLCAx
LCAxKTsKKyAgICB2ZXJpZnlUb3VjaFBvaW50KCJ0YXJnZXRUb3VjaGVzIiwgMCwgMjAsIDMwLCAx
LCAxNSwgMTYpOworCisgICAgZGVidWcoIkxhc3QgcmVtYWluaW5nIHRvdWNocG9pbnQgaXMgcmVs
ZWFzZWQiKTsKKyAgICBldmVudFNlbmRlci5yZWxlYXNlVG91Y2hQb2ludCgwKTsKKyAgICBldmVu
dFNlbmRlci50b3VjaEVuZCgpOworICAgIHZlcmlmeVRvdWNoUG9pbnQoImNoYW5nZWRUb3VjaGVz
IiwgMCwgMjAsIDMwLCAxLCAxNSwgMTYpOworfQorCitmdW5jdGlvbiBlbXB0eVJlY3RUZXN0KCkK
K3sKKyAgICBkZWJ1ZygiVG91Y2ggcG9pbnQgd2l0aCBhbiBlbXB0eSByZWN0Iik7CisKKyAgICBl
dmVudFNlbmRlci5hZGRUb3VjaFBvaW50KDEwLCAxMCk7CisgICAgZXZlbnRTZW5kZXIudG91Y2hT
dGFydCgpOworCisgICAgdmVyaWZ5VG91Y2hQb2ludCgidG91Y2hlcyIsIDAsIDEwLCAxMCwgMCwg
MCwgMCk7Cit9CisKK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICBkZWJ1ZyhkZXNjcmlw
dGlvbik7CisKKyAgICBsYXN0RXZlbnQgPSBudWxsOworICAgIGV2ZW50U2VuZGVyLmNsZWFyVG91
Y2hQb2ludHMoKTsKKyAgICBub3JtYWxSZWN0VGVzdCgpOworCisgICAgbGFzdEV2ZW50ID0gbnVs
bDsKKyAgICBldmVudFNlbmRlci5jbGVhclRvdWNoUG9pbnRzKCk7CisgICAgbXVsdGlSZWN0VGVz
dCgpOworCisgICAgbGFzdEV2ZW50ID0gbnVsbDsKKyAgICBldmVudFNlbmRlci5jbGVhclRvdWNo
UG9pbnRzKCk7CisgICAgZW1wdHlSZWN0VGVzdCgpOworCit9IGVsc2UgeworICAgIGRlYnVnKCJU
aGlzIHRlc3QgcmVxdWlyZXMgRHVtcFJlbmRlclRyZWUuICBUYXAgb24gdGhlIGJsdWUgcmVjdCB0
byBsb2cuIikKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC90b3VjaC1wb2ludC1ib3VuZGluZy1yZWN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL3RvdWNoLXBvaW50
LWJvdW5kaW5nLXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmYxMmUxZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy90b3VjaC90b3VjaC1wb2ludC1ib3VuZGluZy1yZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE0NSBAQAorVGhpcyB0ZXN0cyB0b3VjaCBldmVudCBib3VuZGluZyByZWN0YW5nbGUgc3VwcG9y
dC4KK1NpbmdsZSB0b3VjaCBwb2ludCB3aXRoIGJvdW5kaW5nIHJlY3QKK1BBU1MgbGFzdEV2ZW50
LnRvdWNoZXNbMF0ucGFnZVggaXMgMTAKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucGFnZVkg
aXMgMTAKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WCBpcyAxMAorUEFTUyBsYXN0
RXZlbnQudG91Y2hlc1swXS5jbGllbnRZIGlzIDEwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBd
LmlkZW50aWZpZXIgaXMgMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0V2lkdGggaXMg
NQorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0SGVpZ2h0IGlzIDUKK1BBU1MgbGFzdEV2
ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VYIGlzIDEwCitQQVNTIGxhc3RFdmVudC5jaGFuZ2Vk
VG91Y2hlc1swXS5wYWdlWSBpcyAxMAorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0u
Y2xpZW50WCBpcyAxMAorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WSBp
cyAxMAorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uaWRlbnRpZmllciBpcyAwCitQ
QVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5yZWN0V2lkdGggaXMgNQorUEFTUyBsYXN0
RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyA1CitQQVNTIGxhc3RFdmVudC50
YXJnZXRUb3VjaGVzWzBdLnBhZ2VYIGlzIDEwCitQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVz
WzBdLnBhZ2VZIGlzIDEwCitQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFgg
aXMgMTAKK1BBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WSBpcyAxMAorUEFT
UyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDAKK1BBU1MgbGFzdEV2
ZW50LnRhcmdldFRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDUKK1BBU1MgbGFzdEV2ZW50LnRhcmdl
dFRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyA1CitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBh
Z2VYIGlzIDIwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VZIGlzIDE1CitQQVNTIGxh
c3RFdmVudC50b3VjaGVzWzBdLmNsaWVudFggaXMgMjAKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNb
MF0uY2xpZW50WSBpcyAxNQorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5pZGVudGlmaWVyIGlz
IDAKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDQwCitQQVNTIGxhc3RF
dmVudC50b3VjaGVzWzBdLnJlY3RIZWlnaHQgaXMgMTAKK1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRU
b3VjaGVzWzBdLnBhZ2VYIGlzIDIwCitQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5w
YWdlWSBpcyAxNQorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WCBpcyAy
MAorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WSBpcyAxNQorUEFTUyBs
YXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uaWRlbnRpZmllciBpcyAwCitQQVNTIGxhc3RFdmVu
dC5jaGFuZ2VkVG91Y2hlc1swXS5yZWN0V2lkdGggaXMgNDAKK1BBU1MgbGFzdEV2ZW50LmNoYW5n
ZWRUb3VjaGVzWzBdLnJlY3RIZWlnaHQgaXMgMTAKK011bHRpcGxlIHRvdWNoIHBvaW50cyB3aXRo
IGJvdW5kaW5nIHJlY3QKK1R3byB0b3VjaHBvaW50cyBwcmVzc2VkCitQQVNTIGxhc3RFdmVudC50
b3VjaGVzWzBdLnBhZ2VYIGlzIDEwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VZIGlz
IDEwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLmNsaWVudFggaXMgMTAKK1BBU1MgbGFzdEV2
ZW50LnRvdWNoZXNbMF0uY2xpZW50WSBpcyAxMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5p
ZGVudGlmaWVyIGlzIDAKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDQK
K1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyAyCitQQVNTIGxhc3RFdmVu
dC50b3VjaGVzWzFdLnBhZ2VYIGlzIDIwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLnBhZ2VZ
IGlzIDMwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLmNsaWVudFggaXMgMjAKK1BBU1MgbGFz
dEV2ZW50LnRvdWNoZXNbMV0uY2xpZW50WSBpcyAzMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1sx
XS5pZGVudGlmaWVyIGlzIDEKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMV0ucmVjdFdpZHRoIGlz
IDE1CitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLnJlY3RIZWlnaHQgaXMgMTYKK1BBU1MgbGFz
dEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VYIGlzIDEwCitQQVNTIGxhc3RFdmVudC5jaGFu
Z2VkVG91Y2hlc1swXS5wYWdlWSBpcyAxMAorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNb
MF0uY2xpZW50WCBpcyAxMAorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50
WSBpcyAxMAorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uaWRlbnRpZmllciBpcyAw
CitQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5yZWN0V2lkdGggaXMgNAorUEFTUyBs
YXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyAyCitQQVNTIGxhc3RFdmVu
dC5jaGFuZ2VkVG91Y2hlc1sxXS5wYWdlWCBpcyAyMAorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRv
dWNoZXNbMV0ucGFnZVkgaXMgMzAKK1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzFdLmNs
aWVudFggaXMgMjAKK1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzFdLmNsaWVudFkgaXMg
MzAKK1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzFdLmlkZW50aWZpZXIgaXMgMQorUEFT
UyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMV0ucmVjdFdpZHRoIGlzIDE1CitQQVNTIGxhc3RF
dmVudC5jaGFuZ2VkVG91Y2hlc1sxXS5yZWN0SGVpZ2h0IGlzIDE2CitQQVNTIGxhc3RFdmVudC50
YXJnZXRUb3VjaGVzWzBdLnBhZ2VYIGlzIDEwCitQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVz
WzBdLnBhZ2VZIGlzIDEwCitQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFgg
aXMgMTAKK1BBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WSBpcyAxMAorUEFT
UyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDAKK1BBU1MgbGFzdEV2
ZW50LnRhcmdldFRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDQKK1BBU1MgbGFzdEV2ZW50LnRhcmdl
dFRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyAyCitQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVz
WzFdLnBhZ2VYIGlzIDIwCitQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzFdLnBhZ2VZIGlz
IDMwCitQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzFdLmNsaWVudFggaXMgMjAKK1BBU1Mg
bGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMV0uY2xpZW50WSBpcyAzMAorUEFTUyBsYXN0RXZlbnQu
dGFyZ2V0VG91Y2hlc1sxXS5pZGVudGlmaWVyIGlzIDEKK1BBU1MgbGFzdEV2ZW50LnRhcmdldFRv
dWNoZXNbMV0ucmVjdFdpZHRoIGlzIDE1CitQQVNTIGxhc3RFdmVudC50YXJnZXRUb3VjaGVzWzFd
LnJlY3RIZWlnaHQgaXMgMTYKK0ZpcnN0IHRvdWNocG9pbnQgbW92ZWQKK1BBU1MgbGFzdEV2ZW50
LnRvdWNoZXNbMF0ucGFnZVggaXMgMTUKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucGFnZVkg
aXMgMTUKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WCBpcyAxNQorUEFTUyBsYXN0
RXZlbnQudG91Y2hlc1swXS5jbGllbnRZIGlzIDE1CitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBd
LmlkZW50aWZpZXIgaXMgMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0V2lkdGggaXMg
MQorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5yZWN0SGVpZ2h0IGlzIDEKK1BBU1MgbGFzdEV2
ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VYIGlzIDE1CitQQVNTIGxhc3RFdmVudC5jaGFuZ2Vk
VG91Y2hlc1swXS5wYWdlWSBpcyAxNQorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0u
Y2xpZW50WCBpcyAxNQorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WSBp
cyAxNQorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uaWRlbnRpZmllciBpcyAwCitQ
QVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5yZWN0V2lkdGggaXMgMQorUEFTUyBsYXN0
RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyAxCitQQVNTIGxhc3RFdmVudC50
b3VjaGVzWzFdLnBhZ2VYIGlzIDIwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLnBhZ2VZIGlz
IDMwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLmNsaWVudFggaXMgMjAKK1BBU1MgbGFzdEV2
ZW50LnRvdWNoZXNbMV0uY2xpZW50WSBpcyAzMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1sxXS5p
ZGVudGlmaWVyIGlzIDEKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMV0ucmVjdFdpZHRoIGlzIDE1
CitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzFdLnJlY3RIZWlnaHQgaXMgMTYKK0ZpcnN0IHRvdWNo
cG9pbnQgaXMgcmVsZWFzZWQKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucGFnZVggaXMgMjAK
K1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0ucGFnZVkgaXMgMzAKK1BBU1MgbGFzdEV2ZW50LnRv
dWNoZXNbMF0uY2xpZW50WCBpcyAyMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5jbGllbnRZ
IGlzIDMwCitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLmlkZW50aWZpZXIgaXMgMQorUEFTUyBs
YXN0RXZlbnQudG91Y2hlc1swXS5yZWN0V2lkdGggaXMgMTUKK1BBU1MgbGFzdEV2ZW50LnRvdWNo
ZXNbMF0ucmVjdEhlaWdodCBpcyAxNgorUEFTUyBsYXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0u
cGFnZVggaXMgMTUKK1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VZIGlzIDE1
CitQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRYIGlzIDE1CitQQVNTIGxh
c3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZIGlzIDE1CitQQVNTIGxhc3RFdmVudC5j
aGFuZ2VkVG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDAKK1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRU
b3VjaGVzWzBdLnJlY3RXaWR0aCBpcyAxCitQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1sw
XS5yZWN0SGVpZ2h0IGlzIDEKK1BBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0ucGFnZVgg
aXMgMjAKK1BBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0ucGFnZVkgaXMgMzAKK1BBU1Mg
bGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WCBpcyAyMAorUEFTUyBsYXN0RXZlbnQu
dGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZIGlzIDMwCitQQVNTIGxhc3RFdmVudC50YXJnZXRUb3Vj
aGVzWzBdLmlkZW50aWZpZXIgaXMgMQorUEFTUyBsYXN0RXZlbnQudGFyZ2V0VG91Y2hlc1swXS5y
ZWN0V2lkdGggaXMgMTUKK1BBU1MgbGFzdEV2ZW50LnRhcmdldFRvdWNoZXNbMF0ucmVjdEhlaWdo
dCBpcyAxNgorTGFzdCByZW1haW5pbmcgdG91Y2hwb2ludCBpcyByZWxlYXNlZAorUEFTUyBsYXN0
RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVggaXMgMjAKK1BBU1MgbGFzdEV2ZW50LmNoYW5n
ZWRUb3VjaGVzWzBdLnBhZ2VZIGlzIDMwCitQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1sw
XS5jbGllbnRYIGlzIDIwCitQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZ
IGlzIDMwCitQQVNTIGxhc3RFdmVudC5jaGFuZ2VkVG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDEK
K1BBU1MgbGFzdEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLnJlY3RXaWR0aCBpcyAxNQorUEFTUyBs
YXN0RXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0ucmVjdEhlaWdodCBpcyAxNgorVG91Y2ggcG9pbnQg
d2l0aCBhbiBlbXB0eSByZWN0CitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VYIGlzIDEw
CitQQVNTIGxhc3RFdmVudC50b3VjaGVzWzBdLnBhZ2VZIGlzIDEwCitQQVNTIGxhc3RFdmVudC50
b3VjaGVzWzBdLmNsaWVudFggaXMgMTAKK1BBU1MgbGFzdEV2ZW50LnRvdWNoZXNbMF0uY2xpZW50
WSBpcyAxMAorUEFTUyBsYXN0RXZlbnQudG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDAKK1BBU1Mg
bGFzdEV2ZW50LnRvdWNoZXNbMF0ucmVjdFdpZHRoIGlzIDAKK1BBU1MgbGFzdEV2ZW50LnRvdWNo
ZXNbMF0ucmVjdEhlaWdodCBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91
Y2gvdG91Y2gtcG9pbnQtYm91bmRpbmctcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvdG91Y2gvdG91Y2gtcG9pbnQtYm91bmRpbmctcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmVlMmRhNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy90b3VjaC90b3VjaC1wb2ludC1ib3VuZGluZy1yZWN0Lmh0bWwKQEAgLTAs
MCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9
Ii4uL3NjcmlwdC10ZXN0cy90b3VjaC1wb2ludC1ib3VuZGluZy1yZWN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNDhjNTk0My4uMDRhNjk2NiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAx
MC0wMS0xOSAgUGV0cmkgTGF0dmFsYSAgPHBldHJpLmxhdHZhbGFAbm9tb3Zvay5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRvdWNoIHBv
aW50IGJvdW5kaW5nIHJlY3RhbmdsZSBzaXplcyB0byB0b3VjaCBldmVudAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMzMjQKKworICAgICAgICBUZXN0
OiBmYXN0L2V2ZW50cy90b3VjaC90b3VjaC1wb2ludC1ib3VuZGluZy1yZWN0Lmh0bWwKKworICAg
ICAgICAqIGRvbS9Ub3VjaC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUb3VjaDo6VG91Y2gpOgor
ICAgICAgICAqIGRvbS9Ub3VjaC5oOgorICAgICAgICAoV2ViQ29yZTo6VG91Y2g6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpUb3VjaDo6cmVjdFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6
OlRvdWNoOjpyZWN0SGVpZ2h0KToKKyAgICAgICAgKiBkb20vVG91Y2guaWRsOgorICAgICAgICAq
IHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6
aGFuZGxlVG91Y2hFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50
Lmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoUG9pbnQ6OmJvdW5kcyk6CisgICAg
ICAgICogcGxhdGZvcm0vcXQvUGxhdGZvcm1Ub3VjaFBvaW50UXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1Ub3VjaFBvaW50OjpQbGF0Zm9ybVRvdWNoUG9pbnQpOgorCiAyMDEwLTAx
LTE5ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Ub3VjaC5jcHAgYi9X
ZWJDb3JlL2RvbS9Ub3VjaC5jcHAKaW5kZXggNDFkNWMxOS4uODdjMjVkNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vVG91Y2guY3BwCisrKyBiL1dlYkNvcmUvZG9tL1RvdWNoLmNwcApAQCAtNTQs
NyArNTQsOCBAQCBzdGF0aWMgaW50IGNvbnRlbnRzWShGcmFtZSogZnJhbWUpCiB9CiAKIFRvdWNo
OjpUb3VjaChGcmFtZSogZnJhbWUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQsIHVuc2lnbmVkIGlkZW50
aWZpZXIsIAotICAgICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50
IHBhZ2VZKQorICAgICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50
IHBhZ2VZLAorICAgICAgICBpbnQgcmVjdFdpZHRoLCBpbnQgcmVjdEhlaWdodCkKICAgICA6IG1f
ZnJhbWUoZnJhbWUpCiAgICAgLCBtX3RhcmdldCh0YXJnZXQpCiAgICAgLCBtX2lkZW50aWZpZXIo
aWRlbnRpZmllcikKQEAgLTY0LDYgKzY1LDggQEAgVG91Y2g6OlRvdWNoKEZyYW1lKiBmcmFtZSwg
RXZlbnRUYXJnZXQqIHRhcmdldCwgdW5zaWduZWQgaWRlbnRpZmllciwKICAgICAsIG1fc2NyZWVu
WShzY3JlZW5ZKQogICAgICwgbV9wYWdlWChwYWdlWCkKICAgICAsIG1fcGFnZVkocGFnZVkpCisg
ICAgLCBtX3JlY3RXaWR0aChyZWN0V2lkdGgpCisgICAgLCBtX3JlY3RIZWlnaHQocmVjdEhlaWdo
dCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVG91Y2guaCBiL1dlYkNvcmUvZG9t
L1RvdWNoLmgKaW5kZXggY2YzOWZhZi4uN2RlOTA4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
VG91Y2guaAorKysgYi9XZWJDb3JlL2RvbS9Ub3VjaC5oCkBAIC0zOSwxMCArMzksMTEgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgVG91Y2ggOiBwdWJsaWMgUmVmQ291bnRlZDxUb3VjaD4g
ewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRvdWNoPiBjcmVhdGUoRnJhbWUqIGZy
YW1lLCBFdmVudFRhcmdldCogdGFyZ2V0LAotICAgICAgICAgICAgdW5zaWduZWQgaWRlbnRpZmll
ciwgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSkKKyAgICAg
ICAgICAgIHVuc2lnbmVkIGlkZW50aWZpZXIsIGludCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50
IHBhZ2VYLCBpbnQgcGFnZVksCisgICAgICAgICAgICBpbnQgcmVjdFdpZHRoLCBpbnQgcmVjdEhl
aWdodCkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVG91Y2goZnJhbWUsIHRh
cmdldCwgaWRlbnRpZmllciwgc2NyZWVuWCwgCi0gICAgICAgICAgICAgICAgc2NyZWVuWSwgcGFn
ZVgsIHBhZ2VZKSk7CisgICAgICAgICAgICAgICAgc2NyZWVuWSwgcGFnZVgsIHBhZ2VZLCByZWN0
V2lkdGgsIHJlY3RIZWlnaHQpKTsKICAgICB9CiAKICAgICB2b2lkIHVwZGF0ZUxvY2F0aW9uKGlu
dCBzY3JlZW5YLCBpbnQgc2NyZWVuWSwgaW50IHBhZ2VYLCBpbnQgcGFnZVkpOwpAQCAtNTYsMTAg
KzU3LDEzIEBAIHB1YmxpYzoKICAgICBpbnQgc2NyZWVuWSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Ny
ZWVuWTsgfQogICAgIGludCBwYWdlWCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZVg7IH0KICAgICBp
bnQgcGFnZVkoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VZOyB9CisgICAgaW50IHJlY3RXaWR0aCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVjdFdpZHRoOyB9CisgICAgaW50IHJlY3RIZWlnaHQoKSBjb25z
dCB7IHJldHVybiBtX3JlY3RIZWlnaHQ7IH0KIAogcHJpdmF0ZToKICAgICBUb3VjaChGcmFtZSog
ZnJhbWUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQsIHVuc2lnbmVkIGlkZW50aWZpZXIsCi0gICAgICAg
ICAgICBpbnQgc2NyZWVuWCwgaW50IHNjcmVlblksIGludCBwYWdlWCwgaW50IHBhZ2VZKTsKKyAg
ICAgICAgICAgaW50IHNjcmVlblgsIGludCBzY3JlZW5ZLCBpbnQgcGFnZVgsIGludCBwYWdlWSwK
KyAgICAgICAgICAgaW50IHJlY3RXaWR0aCwgaW50IHJlY3RIZWlnaHQpOwogCiAgICAgUmVmUHRy
PEZyYW1lPiBtX2ZyYW1lOwogICAgIFJlZlB0cjxFdmVudFRhcmdldD4gbV90YXJnZXQ7CkBAIC03
MCw2ICs3NCw4IEBAIHByaXZhdGU6CiAgICAgaW50IG1fc2NyZWVuWTsKICAgICBpbnQgbV9wYWdl
WDsKICAgICBpbnQgbV9wYWdlWTsKKyAgICBpbnQgbV9yZWN0V2lkdGg7CisgICAgaW50IG1fcmVj
dEhlaWdodDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL1RvdWNoLmlkbCBiL1dlYkNvcmUvZG9tL1RvdWNoLmlkbAppbmRleCAxYWZjNjNhLi4w
MWQ3NzdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Ub3VjaC5pZGwKKysrIGIvV2ViQ29yZS9k
b20vVG91Y2guaWRsCkBAIC0zNiw1ICszNiw3IEBAIG1vZHVsZSBldmVudHMgewogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAgICBwYWdlWTsKICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEV2ZW50VGFyZ2V0ICAgICAgdGFyZ2V0OwogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyAgICBpZGVudGlmaWVyOworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgbG9uZyAgICAgICAgICAgICByZWN0V2lkdGg7CisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBsb25nICAgICAgICAgICAgIHJlY3RIZWlnaHQ7CiAgICAgfTsKIH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAKaW5kZXggZTk5NzIwZS4uODBhODU3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAg
LTI1NjgsNyArMjU2OCw4IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaEV2ZW50KGNv
bnN0IFBsYXRmb3JtVG91Y2hFdmVudCYgZXZlbnQpCiAKICAgICAgICAgUmVmUHRyPFRvdWNoPiB0
b3VjaCA9IFRvdWNoOjpjcmVhdGUobV9mcmFtZSwgdGFyZ2V0LCBwb2ludC5pZCgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludC5zY3JlZW5Qb3MoKS54
KCksIHBvaW50LnNjcmVlblBvcygpLnkoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWRqdXN0ZWRQYWdlWCwgYWRqdXN0ZWRQYWdlWSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdGVkUGFnZVgsIGFkanVzdGVk
UGFnZVksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50
LmJvdW5kcygpLngoKSwgcG9pbnQuYm91bmRzKCkueSgpKTsKIAogICAgICAgICBpZiAoZXZlbnQu
dHlwZSgpID09IFRvdWNoU3RhcnQgJiYgIWkpIHsKICAgICAgICAgICAgIG1fdG91Y2hFdmVudFRh
cmdldCA9IHRhcmdldDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3Vj
aFBvaW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hQb2ludC5oCmluZGV4IDM1
MDY1M2QuLjMxNjAyYzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3Vj
aFBvaW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoUG9pbnQuaApAQCAt
NTEsMTIgKzUxLDE0IEBAIHB1YmxpYzoKICAgICBTdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fc3RhdGU7IH0KICAgICBJbnRQb2ludCBzY3JlZW5Qb3MoKSBjb25zdCB7IHJldHVybiBtX3Nj
cmVlblBvczsgfQogICAgIEludFBvaW50IHBvcygpIGNvbnN0IHsgcmV0dXJuIG1fcG9zOyB9Cisg
ICAgSW50UG9pbnQgYm91bmRzKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZHM7IH0KICAgICAKIHBy
aXZhdGU6CiAgICAgaW50IG1faWQ7CiAgICAgU3RhdGUgbV9zdGF0ZTsKICAgICBJbnRQb2ludCBt
X3NjcmVlblBvczsKICAgICBJbnRQb2ludCBtX3BvczsKKyAgICBJbnRQb2ludCBtX2JvdW5kczsK
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvUGxhdGZvcm1Ub3VjaFBv
aW50UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybVRvdWNoUG9pbnRRdC5jcHAK
aW5kZXggMTc4OGNlZi4uY2UzNDUwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9Q
bGF0Zm9ybVRvdWNoUG9pbnRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9y
bVRvdWNoUG9pbnRRdC5jcHAKQEAgLTM4LDYgKzM4LDcgQEAgUGxhdGZvcm1Ub3VjaFBvaW50OjpQ
bGF0Zm9ybVRvdWNoUG9pbnQoY29uc3QgUVRvdWNoRXZlbnQ6OlRvdWNoUG9pbnQmIHBvaW50KQog
ICAgIH0KICAgICBtX3NjcmVlblBvcyA9IHBvaW50LnNjcmVlblBvcygpLnRvUG9pbnQoKTsKICAg
ICBtX3BvcyA9IHBvaW50LnBvcygpLnRvUG9pbnQoKTsKKyAgICBtX2JvdW5kcyA9IEludFBvaW50
KHBvaW50LnJlY3QoKS53aWR0aCgpLCBwb2ludC5yZWN0KCkuaGVpZ2h0KCkpOwogfQogCiB9CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cK
aW5kZXggZjEwZTc0NS4uMDBiODkzMyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEwLTAxLTE5
ICBQZXRyaSBMYXR2YWxhICA8cGV0cmkubGF0dmFsYUBub21vdm9rLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdG91Y2ggcG9pbnQgYm91
bmRpbmcgcmVjdGFuZ2xlIHNpemVzIHRvIHRvdWNoIGV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzMyNAorCisgICAgICAgIEFkZCBzdXBwb3J0
IGZvciBzZXR0aW5nIHRvdWNoIHBvaW50IGJvdW5kaW5nIHJlY3Qgc2l6ZS4KKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwOgorICAgICAgICAoRXZlbnRTZW5k
ZXI6OnVwZGF0ZVRvdWNoUG9pbnRCb3VuZHMpOiBBZGRlZC4KKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9xdC9FdmVudFNlbmRlclF0Lmg6CisKIDIwMTAtMDEtMTggIEFkYW0gUm9iZW4gIDxhcm9i
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBMYXlvdXRUZXN0Q29udHJvbGxlciBzdXBwb3J0
IGZvciBjYWxsaW5nIG5ldyBXZWJLaXQgU1BJIHRvCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwCmluZGV4IDczYTk5MzQuLmJiZjIwMTIgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwCisr
KyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwCkBAIC0z
MDcsNiArMzA3LDE5IEBAIHZvaWQgRXZlbnRTZW5kZXI6OnVwZGF0ZVRvdWNoUG9pbnQoaW50IGlu
ZGV4LCBpbnQgeCwgaW50IHkpCiAjZW5kaWYKIH0KIAordm9pZCBFdmVudFNlbmRlcjo6dXBkYXRl
VG91Y2hQb2ludEJvdW5kcyhpbnQgaW5kZXgsIGludCB3aWR0aCwgaW50IGhlaWdodCkKK3sKKyNp
ZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKKyAgICBpZiAoaW5kZXgg
PCAwIHx8IGluZGV4ID49IG1fdG91Y2hQb2ludHMuY291bnQoKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgUVRvdWNoRXZlbnQ6OlRvdWNoUG9pbnQgJnAgPSBtX3RvdWNoUG9pbnRzW2luZGV4XTsK
KyAgICBRUG9pbnRGIG9sZHBvcyA9IHAucG9zKCk7CisgICAgcC5zZXRSZWN0KFFSZWN0RihvbGRw
b3MsIFFTaXplRih3aWR0aCwgaGVpZ2h0KSkpOworICAgIHAuc2V0UG9zKG9sZHBvcyk7CisjZW5k
aWYKK30KKwogdm9pZCBFdmVudFNlbmRlcjo6c2V0VG91Y2hNb2RpZmllcihjb25zdCBRU3RyaW5n
ICZtb2RpZmllciwgYm9vbCBlbmFibGUpCiB7CiAjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9O
X0NIRUNLKDQsIDYsIDApCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9x
dC9FdmVudFNlbmRlclF0LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNl
bmRlclF0LmgKaW5kZXggZjZjZmM3Yy4uZjMwNzdkNiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvRXZlbnRTZW5kZXJRdC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuaApAQCAtNjIsNiArNjIsNyBAQCBwdWJsaWMgc2xv
dHM6CiAgICAgdm9pZCBzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrKCk7CiAgICAgdm9pZCBhZGRU
b3VjaFBvaW50KGludCB4LCBpbnQgeSk7CiAgICAgdm9pZCB1cGRhdGVUb3VjaFBvaW50KGludCBp
bmRleCwgaW50IHgsIGludCB5KTsKKyAgICB2b2lkIHVwZGF0ZVRvdWNoUG9pbnRCb3VuZHMoaW50
IGluZGV4LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwogICAgIHZvaWQgc2V0VG91Y2hNb2RpZmll
cihjb25zdCBRU3RyaW5nICZtb2RpZmllciwgYm9vbCBlbmFibGUpOwogICAgIHZvaWQgdG91Y2hT
dGFydCgpOwogICAgIHZvaWQgdG91Y2hNb3ZlKCk7Cg==
</data>
<flag name="review"
          id="29246"
          type_id="1"
          status="-"
          setter="koivisto"
    />
    <flag name="commit-queue"
          id="29247"
          type_id="3"
          status="-"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>