<?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>85117</bug_id>
          
          <creation_ts>2012-04-27 18:39:14 -0700</creation_ts>
          <short_desc>vertexAttribPointer needs to reject large negative offsets</short_desc>
          <delta_ts>2012-05-08 15:38:49 -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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>85722</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Zhenyao Mo">zmo</assigned_to>
          <cc>abarth</cc>
    
    <cc>aestes</cc>
    
    <cc>dino</cc>
    
    <cc>fpizlo</cc>
    
    <cc>gman</cc>
    
    <cc>jamesr</cc>
    
    <cc>ojan</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>612068</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-04-27 18:39:14 -0700</bug_when>
    <thetext>The WebGL conformance test conformance/buffers/index-validation.html is now failing because the test was updated to reflect the spec, which is that negative offsets cause an INVALID_VALUE error to be generated.

The test was previously expecting that the large negative offset would be truncated to 32 bits and show up as a positive value.

I am not even sure that WebKit&apos;s IDL and binding generators can support long long values passed from JavaScript to C++ right now. That might be the bulk of this fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616714</commentid>
    <comment_count>1</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2012-05-04 15:16:26 -0700</bug_when>
    <thetext>Taking this one.  It&apos;s the last bug fix to make chrome webgl 1.0.1 conformant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616792</commentid>
    <comment_count>2</comment_count>
      <attachid>140358</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2012-05-04 16:23:46 -0700</bug_when>
    <thetext>Created attachment 140358
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616796</commentid>
    <comment_count>3</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2012-05-04 16:25:33 -0700</bug_when>
    <thetext>Tested in chromium and webkit on Mac.  The test is synced from khronos.  Please have a look.

(I used long long in place of GLsizeiptr and GLintptr to be consistent with the types used in the bindings)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616803</commentid>
    <comment_count>4</comment_count>
      <attachid>140358</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-05-04 16:33:05 -0700</bug_when>
    <thetext>Comment on attachment 140358
Patch

Looks good. r=me

Let&apos;s wait for it to clear the EWS before committing though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616966</commentid>
    <comment_count>5</comment_count>
      <attachid>140358</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-05 07:50:58 -0700</bug_when>
    <thetext>Comment on attachment 140358
Patch

Clearing flags on attachment: 140358

Committed r116221: &lt;http://trac.webkit.org/changeset/116221&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616967</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-05 07:51:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617037</commentid>
    <comment_count>7</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2012-05-05 13:15:02 -0700</bug_when>
    <thetext>This breaks the build on platforms that compile with -Wshorten-64-to-32, since there are now several call sites that pass a long long to a function that expects a GC3Dintptr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617048</commentid>
    <comment_count>8</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-05 15:52:23 -0700</bug_when>
    <thetext>Reopening because of the breakage that Andy is talking about.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617051</commentid>
    <comment_count>9</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-05 15:55:41 -0700</bug_when>
    <thetext>Sorry, but I have to roll this out. :-(  Please let me know if you need assistance debugging the build errors we&apos;re seeing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617646</commentid>
    <comment_count>10</comment_count>
      <attachid>140538</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2012-05-07 09:36:28 -0700</bug_when>
    <thetext>Created attachment 140538
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617659</commentid>
    <comment_count>11</comment_count>
      <attachid>140538</attachid>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2012-05-07 09:51:04 -0700</bug_when>
    <thetext>Comment on attachment 140538
Patch

Ken, I added explicit converting from long long to GC3D types to avoid compiling failures on 32.

Please have another look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617784</commentid>
    <comment_count>12</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2012-05-07 11:48:03 -0700</bug_when>
    <thetext>The new patch builds for me on the same machine that couldn&apos;t build the last patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617846</commentid>
    <comment_count>13</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2012-05-07 12:57:18 -0700</bug_when>
    <thetext>Thanks Andy for testing this out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617853</commentid>
    <comment_count>14</comment_count>
      <attachid>140538</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-05-07 13:03:40 -0700</bug_when>
    <thetext>Comment on attachment 140538
Patch

New patch looks OK as long as it compiles. It&apos;s a little unfortunate that we lose the ability to change the signatures here with one typedef.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618106</commentid>
    <comment_count>15</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2012-05-07 16:56:01 -0700</bug_when>
    <thetext>Committed r116374: &lt;http://trac.webkit.org/changeset/116374&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618881</commentid>
    <comment_count>16</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-05-08 15:38:49 -0700</bug_when>
    <thetext>*** Bug 85528 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140358</attachid>
            <date>2012-05-04 16:23:46 -0700</date>
            <delta_ts>2012-05-07 09:34:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85117-20120504162345.patch</filename>
            <type>text/plain</type>
            <size>16573</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjE4NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA1LTA0ICBaaGVueWFv
IE1vICA8em1vQGdvb2dsZS5jb20+CisKKyAgICAgICAgdmVydGV4QXR0cmliUG9pbnRlciBuZWVk
cyB0byByZWplY3QgbGFyZ2UgbmVnYXRpdmUgb2Zmc2V0cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUxMTcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHA6IFVzZSBsb25nIGxvbmcgZm9yIEdMc2l6ZWlwdHIgYW5kIEdMaW50cHRyCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6
YnVmZmVyRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJ1
ZmZlclN1YkRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpk
cmF3RWxlbWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpn
ZXRWZXJ0ZXhBdHRyaWJPZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0Ojp2ZXJ0ZXhBdHRyaWJQb2ludGVyKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuaDogRGl0dG8KKyAgICAgICAgKFdlYkdMUmVuZGVyaW5nQ29udGV4
dCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDogRGl0
dG8KKwogMjAxMi0wNS0wNCAgU2F0b3J1IFRha2FiYXlhc2hpICA8c2F0b3J1eEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBBZGQgcGx1bWJpbmcgZm9yIGZpbGUgZGlzcGxheSBu
YW1lcyBmb3IgZHJhZyBhbmQgZHJvcApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCShyZXZpc2lvbiAxMTYxODcpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDM2LDcgKzEwMzYsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6YmxlbmRGdW5jU2VwCiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsK
IH0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZlckRhdGEoR0MzRGVudW0gdGFy
Z2V0LCBHQzNEc2l6ZWlwdHIgc2l6ZSwgR0MzRGVudW0gdXNhZ2UsIEV4Y2VwdGlvbkNvZGUmIGVj
KQordm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZlckRhdGEoR0MzRGVudW0gdGFyZ2V0
LCBsb25nIGxvbmcgc2l6ZSwgR0MzRGVudW0gdXNhZ2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewog
ICAgIFVOVVNFRF9QQVJBTShlYyk7CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSkKQEAgLTExMDUs
NyArMTEwNSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpidWZmZXJEYXRhKEcKICAg
ICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCi12b2lkIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6YnVmZmVyU3ViRGF0YShHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnRwdHIgb2Zm
c2V0LCBBcnJheUJ1ZmZlciogZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6YnVmZmVyU3ViRGF0YShHQzNEZW51bSB0YXJnZXQsIGxvbmcgbG9uZyBv
ZmZzZXQsIEFycmF5QnVmZmVyKiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBVTlVT
RURfUEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCkBAIC0xMTMwLDcgKzExMzAs
NyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6YnVmZmVyU3ViRGF0CiAgICAgY2xlYW51
cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmJ1ZmZlclN1YkRhdGEoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50cHRyIG9mZnNldCwgQXJy
YXlCdWZmZXJWaWV3KiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0OjpidWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIG9mZnNl
dCwgQXJyYXlCdWZmZXJWaWV3KiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBVTlVT
RURfUEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCkBAIC0xODk4LDcgKzE4OTgs
NyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6ZHJhd0FycmF5cyhHCiAgICAgY2xlYW51
cEFmdGVyR3JhcGhpY3NDYWxsKHRydWUpOwogfQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4
dDo6ZHJhd0VsZW1lbnRzKEdDM0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjb3VudCwgR0MzRGVudW0g
dHlwZSwgR0MzRGludHB0ciBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OmRyYXdFbGVtZW50cyhHQzNEZW51bSBtb2RlLCBHQzNEc2l6ZWkgY291
bnQsIEdDM0RlbnVtIHR5cGUsIGxvbmcgbG9uZyBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKQog
ewogICAgIFVOVVNFRF9QQVJBTShlYyk7CiAKQEAgLTMwMzgsNyArMzAzOCw3IEBAIFdlYkdMR2V0
SW5mbyBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFYKICAgICB9CiB9CiAKLUdDM0RzaXplaXB0
ciBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFZlcnRleEF0dHJpYk9mZnNldChHQzNEdWludCBp
bmRleCwgR0MzRGVudW0gcG5hbWUpCitsb25nIGxvbmcgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpn
ZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoR0MzRHVpbnQgaW5kZXgsIEdDM0RlbnVtIHBuYW1lKQogewog
ICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAtNDI1MCw3ICs0
MjUwLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZlcnRleEF0dHJpYgogICAgIHZl
cnRleEF0dHJpYmZ2SW1wbCgidmVydGV4QXR0cmliNGZ2IiwgaW5kZXgsIHYsIHNpemUsIDQpOwog
fQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmVydGV4QXR0cmliUG9pbnRlcihHQzNE
dWludCBpbmRleCwgR0MzRGludCBzaXplLCBHQzNEZW51bSB0eXBlLCBHQzNEYm9vbGVhbiBub3Jt
YWxpemVkLCBHQzNEc2l6ZWkgc3RyaWRlLCBHQzNEaW50cHRyIG9mZnNldCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmVydGV4QXR0cmliUG9pbnRlcihH
QzNEdWludCBpbmRleCwgR0MzRGludCBzaXplLCBHQzNEZW51bSB0eXBlLCBHQzNEYm9vbGVhbiBu
b3JtYWxpemVkLCBHQzNEc2l6ZWkgc3RyaWRlLCBsb25nIGxvbmcgb2Zmc2V0LCBFeGNlcHRpb25D
b2RlJiBlYykKIHsKICAgICBVTlVTRURfUEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRleHRMb3N0
KCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuaAkocmV2aXNpb24gMTE2MTg3KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTk2LDExICs5
NiwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBibGVuZEZ1bmMoR0MzRGVudW0gc2ZhY3RvciwgR0Mz
RGVudW0gZGZhY3Rvcik7CiAgICAgdm9pZCBibGVuZEZ1bmNTZXBhcmF0ZShHQzNEZW51bSBzcmNS
R0IsIEdDM0RlbnVtIGRzdFJHQiwgR0MzRGVudW0gc3JjQWxwaGEsIEdDM0RlbnVtIGRzdEFscGhh
KTsKIAotICAgIHZvaWQgYnVmZmVyRGF0YShHQzNEZW51bSB0YXJnZXQsIEdDM0RzaXplaXB0ciBz
aXplLCBHQzNEZW51bSB1c2FnZSwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgYnVmZmVyRGF0
YShHQzNEZW51bSB0YXJnZXQsIGxvbmcgbG9uZyBzaXplLCBHQzNEZW51bSB1c2FnZSwgRXhjZXB0
aW9uQ29kZSYpOwogICAgIHZvaWQgYnVmZmVyRGF0YShHQzNEZW51bSB0YXJnZXQsIEFycmF5QnVm
ZmVyKiBkYXRhLCBHQzNEZW51bSB1c2FnZSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgYnVm
ZmVyRGF0YShHQzNEZW51bSB0YXJnZXQsIEFycmF5QnVmZmVyVmlldyogZGF0YSwgR0MzRGVudW0g
dXNhZ2UsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIGJ1ZmZlclN1YkRhdGEoR0MzRGVudW0g
dGFyZ2V0LCBHQzNEaW50cHRyIG9mZnNldCwgQXJyYXlCdWZmZXIqIGRhdGEsIEV4Y2VwdGlvbkNv
ZGUmKTsKLSAgICB2b2lkIGJ1ZmZlclN1YkRhdGEoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50cHRy
IG9mZnNldCwgQXJyYXlCdWZmZXJWaWV3KiBkYXRhLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9p
ZCBidWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIG9mZnNldCwgQXJyYXlC
dWZmZXIqIGRhdGEsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGJ1ZmZlclN1YkRhdGEoR0Mz
RGVudW0gdGFyZ2V0LCBsb25nIGxvbmcgb2Zmc2V0LCBBcnJheUJ1ZmZlclZpZXcqIGRhdGEsIEV4
Y2VwdGlvbkNvZGUmKTsKIAogICAgIEdDM0RlbnVtIGNoZWNrRnJhbWVidWZmZXJTdGF0dXMoR0Mz
RGVudW0gdGFyZ2V0KTsKICAgICB2b2lkIGNsZWFyKEdDM0RiaXRmaWVsZCBtYXNrKTsKQEAgLTE0
MSw3ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNhYmxlKEdDM0RlbnVtIGNhcCk7CiAg
ICAgdm9pZCBkaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoR0MzRHVpbnQgaW5kZXgsIEV4Y2VwdGlv
bkNvZGUmKTsKICAgICB2b2lkIGRyYXdBcnJheXMoR0MzRGVudW0gbW9kZSwgR0MzRGludCBmaXJz
dCwgR0MzRHNpemVpIGNvdW50LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCBkcmF3RWxlbWVu
dHMoR0MzRGVudW0gbW9kZSwgR0MzRHNpemVpIGNvdW50LCBHQzNEZW51bSB0eXBlLCBHQzNEaW50
cHRyIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgZHJhd0VsZW1lbnRzKEdDM0Rl
bnVtIG1vZGUsIEdDM0RzaXplaSBjb3VudCwgR0MzRGVudW0gdHlwZSwgbG9uZyBsb25nIG9mZnNl
dCwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgdm9pZCBlbmFibGUoR0MzRGVudW0gY2FwKTsKICAg
ICB2b2lkIGVuYWJsZVZlcnRleEF0dHJpYkFycmF5KEdDM0R1aW50IGluZGV4LCBFeGNlcHRpb25D
b2RlJik7CkBAIC0xNzQsNyArMTc0LDcgQEAgcHVibGljOgogICAgIFdlYkdMR2V0SW5mbyBnZXRV
bmlmb3JtKFdlYkdMUHJvZ3JhbSosIGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiwgRXhjZXB0
aW9uQ29kZSYpOwogICAgIFBhc3NSZWZQdHI8V2ViR0xVbmlmb3JtTG9jYXRpb24+IGdldFVuaWZv
cm1Mb2NhdGlvbihXZWJHTFByb2dyYW0qLCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7
CiAgICAgV2ViR0xHZXRJbmZvIGdldFZlcnRleEF0dHJpYihHQzNEdWludCBpbmRleCwgR0MzRGVu
dW0gcG5hbWUsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBHQzNEc2l6ZWlwdHIgZ2V0VmVydGV4QXR0
cmliT2Zmc2V0KEdDM0R1aW50IGluZGV4LCBHQzNEZW51bSBwbmFtZSk7CisgICAgbG9uZyBsb25n
IGdldFZlcnRleEF0dHJpYk9mZnNldChHQzNEdWludCBpbmRleCwgR0MzRGVudW0gcG5hbWUpOwog
CiAgICAgdm9pZCBoaW50KEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gbW9kZSk7CiAgICAgR0Mz
RGJvb2xlYW4gaXNCdWZmZXIoV2ViR0xCdWZmZXIqKTsKQEAgLTI4MSw3ICsyODEsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWI0ZnYoR0MzRHVpbnQgaW5kZXgsIEZsb2F0MzJBcnJh
eSogdmFsdWVzKTsKICAgICB2b2lkIHZlcnRleEF0dHJpYjRmdihHQzNEdWludCBpbmRleCwgR0Mz
RGZsb2F0KiB2YWx1ZXMsIEdDM0RzaXplaSBzaXplKTsKICAgICB2b2lkIHZlcnRleEF0dHJpYlBv
aW50ZXIoR0MzRHVpbnQgaW5kZXgsIEdDM0RpbnQgc2l6ZSwgR0MzRGVudW0gdHlwZSwgR0MzRGJv
b2xlYW4gbm9ybWFsaXplZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0MzRHNpemVp
IHN0cmlkZSwgR0MzRGludHB0ciBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0MzRHNpemVpIHN0cmlkZSwgbG9uZyBsb25nIG9mZnNldCwgRXhj
ZXB0aW9uQ29kZSYpOwogCiAgICAgdm9pZCB2aWV3cG9ydChHQzNEaW50IHgsIEdDM0RpbnQgeSwg
R0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0KTsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCShyZXZp
c2lvbiAxMTYxODcpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00NjMsOSArNDYzLDkgQEAgbW9kdWxlIGh0
bWwgewogICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAgICAgICAgYmxlbmRGdW5j
U2VwYXJhdGUoaW4gdW5zaWduZWQgbG9uZyBzcmNSR0IsIGluIHVuc2lnbmVkIGxvbmcgZHN0UkdC
LCBpbiB1bnNpZ25lZCBsb25nIHNyY0FscGhhLCBpbiB1bnNpZ25lZCBsb25nIGRzdEFscGhhKTsK
ICAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCAgICAgICAgIGJ1ZmZlckRhdGEoaW4g
dW5zaWduZWQgbG9uZyB0YXJnZXQsIGluIEFycmF5QnVmZmVyIGRhdGEsIGluIHVuc2lnbmVkIGxv
bmcgdXNhZ2UpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgW1N0cmljdFR5cGVDaGVj
a2luZ10gdm9pZCAgICAgICAgIGJ1ZmZlckRhdGEoaW4gdW5zaWduZWQgbG9uZyB0YXJnZXQsIGlu
IEFycmF5QnVmZmVyVmlldyBkYXRhLCBpbiB1bnNpZ25lZCBsb25nIHVzYWdlKSByYWlzZXMgKERP
TUV4Y2VwdGlvbik7Ci0gICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAgICBi
dWZmZXJEYXRhKGluIHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBpbiBsb25nIHNpemUsIGluIHVuc2ln
bmVkIGxvbmcgdXNhZ2UpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgW1N0cmljdFR5
cGVDaGVja2luZ10gdm9pZCAgICAgICAgIGJ1ZmZlclN1YkRhdGEoaW4gdW5zaWduZWQgbG9uZyB0
YXJnZXQsIGluIGxvbmcgb2Zmc2V0LCBpbiBBcnJheUJ1ZmZlciBkYXRhKSByYWlzZXMgKERPTUV4
Y2VwdGlvbik7Ci0gICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAgICBidWZm
ZXJTdWJEYXRhKGluIHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBpbiBsb25nIG9mZnNldCwgaW4gQXJy
YXlCdWZmZXJWaWV3IGRhdGEpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgW1N0cmlj
dFR5cGVDaGVja2luZ10gdm9pZCAgICAgICAgIGJ1ZmZlckRhdGEoaW4gdW5zaWduZWQgbG9uZyB0
YXJnZXQsIGluIGxvbmcgbG9uZyBzaXplLCBpbiB1bnNpZ25lZCBsb25nIHVzYWdlKSByYWlzZXMg
KERPTUV4Y2VwdGlvbik7CisgICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAg
ICBidWZmZXJTdWJEYXRhKGluIHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBpbiBsb25nIGxvbmcgb2Zm
c2V0LCBpbiBBcnJheUJ1ZmZlciBkYXRhKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAg
IFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAgICBidWZmZXJTdWJEYXRhKGluIHVuc2ln
bmVkIGxvbmcgdGFyZ2V0LCBpbiBsb25nIGxvbmcgb2Zmc2V0LCBpbiBBcnJheUJ1ZmZlclZpZXcg
ZGF0YSkgcmFpc2VzIChET01FeGNlcHRpb24pOwogCiAgICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tp
bmddIHVuc2lnbmVkIGxvbmcgY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhpbiB1bnNpZ25lZCBsb25n
IHRhcmdldCk7CiAgICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAgICBjbGVh
cihpbiB1bnNpZ25lZCBsb25nIG1hc2spOwpAQCAtNTA3LDcgKzUwNyw3IEBAIG1vZHVsZSBodG1s
IHsKICAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCAgICAgICAgIGRpc2FibGUoaW4g
dW5zaWduZWQgbG9uZyBjYXApOwogICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAg
ICAgICAgZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpIHJh
aXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAg
ICAgICAgZHJhd0FycmF5cyhpbiB1bnNpZ25lZCBsb25nIG1vZGUsIGluIGxvbmcgZmlyc3QsIGlu
IGxvbmcgY291bnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAgICBbU3RyaWN0VHlwZUNo
ZWNraW5nXSB2b2lkICAgICAgICAgZHJhd0VsZW1lbnRzKGluIHVuc2lnbmVkIGxvbmcgbW9kZSwg
aW4gbG9uZyBjb3VudCwgaW4gdW5zaWduZWQgbG9uZyB0eXBlLCBpbiBsb25nIG9mZnNldCkgcmFp
c2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAg
ICAgICBkcmF3RWxlbWVudHMoaW4gdW5zaWduZWQgbG9uZyBtb2RlLCBpbiBsb25nIGNvdW50LCBp
biB1bnNpZ25lZCBsb25nIHR5cGUsIGluIGxvbmcgbG9uZyBvZmZzZXQpIHJhaXNlcyhET01FeGNl
cHRpb24pOwogCiAgICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAgICBlbmFi
bGUoaW4gdW5zaWduZWQgbG9uZyBjYXApOwogICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2
b2lkICAgICAgICAgZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoaW4gdW5zaWduZWQgbG9uZyBpbmRl
eCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CkBAIC01NjcsNyArNTY3LDcgQEAgbW9kdWxlIGh0bWwg
ewogICAgICAgICAvLyBhbnkgZ2V0VmVydGV4QXR0cmliKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgs
IGluIHVuc2lnbmVkIGxvbmcgcG5hbWUpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICBb
U3RyaWN0VHlwZUNoZWNraW5nLCBDdXN0b21dIHZvaWQgZ2V0VmVydGV4QXR0cmliKCk7CiAKLSAg
ICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gbG9uZyBnZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoaW4g
dW5zaWduZWQgbG9uZyBpbmRleCwgaW4gdW5zaWduZWQgbG9uZyBwbmFtZSk7CisgICAgICAgIFtT
dHJpY3RUeXBlQ2hlY2tpbmddIGxvbmcgbG9uZyBnZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoaW4gdW5z
aWduZWQgbG9uZyBpbmRleCwgaW4gdW5zaWduZWQgbG9uZyBwbmFtZSk7CiAKICAgICAgICAgW1N0
cmljdFR5cGVDaGVja2luZ10gdm9pZCAgICAgICAgIGhpbnQoaW4gdW5zaWduZWQgbG9uZyB0YXJn
ZXQsIGluIHVuc2lnbmVkIGxvbmcgbW9kZSk7CiAgICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmdd
IGJvb2xlYW4gICAgICBpc0J1ZmZlcihpbiBXZWJHTEJ1ZmZlciBidWZmZXIpOwpAQCAtNjYxLDcg
KzY2MSw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9p
ZCAgICAgICAgIHZlcnRleEF0dHJpYjRmKGluIHVuc2lnbmVkIGxvbmcgaW5keCwgaW4gZmxvYXQg
eCwgaW4gZmxvYXQgeSwgaW4gZmxvYXQgeiwgaW4gZmxvYXQgdyk7CiAgICAgICAgIFtTdHJpY3RU
eXBlQ2hlY2tpbmcsIEN1c3RvbV0gdm9pZCAgICAgICAgIHZlcnRleEF0dHJpYjRmdihpbiB1bnNp
Z25lZCBsb25nIGluZHgsIGluIEZsb2F0MzJBcnJheSB2YWx1ZXMpOwogICAgICAgICBbU3RyaWN0
VHlwZUNoZWNraW5nXSB2b2lkICAgICAgICAgdmVydGV4QXR0cmliUG9pbnRlcihpbiB1bnNpZ25l
ZCBsb25nIGluZHgsIGluIGxvbmcgc2l6ZSwgaW4gdW5zaWduZWQgbG9uZyB0eXBlLCBpbiBib29s
ZWFuIG5vcm1hbGl6ZWQsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHN0cmlkZSwgaW4gbG9uZyBvZmZzZXQpIHJh
aXNlcyhET01FeGNlcHRpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHN0cmlkZSwgaW4gbG9uZyBsb25nIG9m
ZnNldCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKICAgICAgICAgW1N0cmljdFR5cGVDaGVja2lu
Z10gdm9pZCAgICAgICAgIHZpZXdwb3J0KGluIGxvbmcgeCwgaW4gbG9uZyB5LCBpbiBsb25nIHdp
ZHRoLCBpbiBsb25nIGhlaWdodCk7CiAgICAgfTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjE4NykK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDEyLTA1LTA0ICBaaGVueWFvIE1vICA8em1vQGdvb2dsZS5jb20+CisKKyAgICAgICAgdmVy
dGV4QXR0cmliUG9pbnRlciBuZWVkcyB0byByZWplY3QgbGFyZ2UgbmVnYXRpdmUgb2Zmc2V0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUxMTcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY2Fu
dmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
Y2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24uaHRtbDogQWRkIGEgdGVzdCBjYXNlIGZvciBs
YXJnZSBuZWdhdGl2ZSBvZmZzZXQuCisKIDIwMTItMDUtMDQgIEZpbGlwIFBpemxvICA8ZnBpemxv
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCB1cGRhdGluZyBleHBlY3RhdGlvbnMu
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9p
bmRleC12YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTE2MTI3KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTQsMjcgKzQsMjkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQQogCiBUZXN0aW5nIHdpdGggdmFsaWQgaW5kaWNlcwogUEFTUyBnbC5jaGVj
a0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSBpcyBnbC5GUkFNRUJVRkZFUl9DT01Q
TEVURQotUEFTUyBnbC5nZXRFcnJvcigpIGlzIDAKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IAogUEFTUyBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAz
LCBnbC5VTlNJR05FRF9TSE9SVCwgMCkgaXMgdW5kZWZpbmVkLgotUEFTUyBnbC5nZXRFcnJvcigp
IGlzIDAKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAogVGVz
dGluZyB3aXRoIG91dC1vZi1yYW5nZSBpbmRpY2VzCiBFbmFibGUgdmVydGljZXMsIHZhbGlkCi1Q
QVNTIGdsLmdldEVycm9yKCkgaXMgMAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogCiBQQVNTIGdsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVO
U0lHTkVEX1NIT1JULCAwKSBpcyB1bmRlZmluZWQuCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgMAor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCiBFbmFibGUgbm9y
bWFscywgb3V0LW9mLXJhbmdlCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgMAorUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCiBQQVNTIGdsLmRyYXdFbGVtZW50cyhn
bC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAwKSBpcyB1bmRlZmluZWQuCi1QQVNT
IGdsLmdldEVycm9yKCkgaXMgZ2wuSU5WQUxJRF9PUEVSQVRJT04KK1BBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IAogVGVzdCB3aXRoIGVuYWJsZWQg
YXR0cmlidXRlIHRoYXQgZG9lcyBub3QgYmVsb25nIHRvIGN1cnJlbnQgcHJvZ3JhbQogRW5hYmxl
IGFuIGV4dHJhIGF0dHJpYnV0ZSB3aXRoIG51bGwKLVBBU1MgZ2wuZ2V0RXJyb3IoKSBpcyAwCitQ
QVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiAKIFBBU1MgZ2wuZHJh
d0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfU0hPUlQsIDApIGlzIHVuZGVm
aW5lZC4KLVBBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBnbC5JTlZBTElEX09QRVJBVElPTgorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogCiBFbmFibGUg
YW4gZXh0cmEgYXR0cmlidXRlIHdpdGggaW5zdWZmaWNpZW50IGRhdGEgYnVmZmVyCi1QQVNTIGds
LmdldEVycm9yKCkgaXMgMAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDogCitQQVNTIGdsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVE
X1NIT1JULCAwKSBpcyB1bmRlZmluZWQuCitQYXNzIGxhcmdlIG5lZ2F0aXZlIGluZGV4IHRvIHZl
cnRleEF0dHJpYlBvaW50ZXIKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZB
TElEX1ZBTFVFIDogCiBQQVNTIGdsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVO
U0lHTkVEX1NIT1JULCAwKSBpcyB1bmRlZmluZWQuCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgMAog
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi5o
dG1sCShyZXZpc2lvbiAxMTYxMjcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9p
bmRleC12YWxpZGF0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw4IEBACis8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyIvPgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0
PgogPC9oZWFkPgpAQCAtNjAsOSArNjMsOSBAQCBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2
ZXJ0ZXhMb2MpOwogZ2wudmVydGV4QXR0cmliUG9pbnRlcihub3JtYWxMb2MsIDMsIGdsLkZMT0FU
LCBmYWxzZSwgNyAqIHNpemVJbkJ5dGVzKGdsLkZMT0FUKSwgNCAqIHNpemVJbkJ5dGVzKGdsLkZM
T0FUKSk7CiBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShub3JtYWxMb2MpOwogc2hvdWxkQmUo
J2dsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpJywgJ2dsLkZSQU1FQlVG
RkVSX0NPTVBMRVRFJyk7Ci1zaG91bGRCZSgnZ2wuZ2V0RXJyb3IoKScsICcwJyk7CitnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKIHNob3VsZEJlVW5kZWZpbmVkKCdnbC5kcmF3RWxl
bWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCknKTsKLXNob3VsZEJl
KCdnbC5nZXRFcnJvcigpJywgJzAnKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Ip
OwogCiBkZWJ1ZygiVGVzdGluZyB3aXRoIG91dC1vZi1yYW5nZSBpbmRpY2VzIik7CiAKQEAgLTcz
LDE1ICs3NiwxNSBAQCBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHZlcnRleExvYywgNCwgZ2wuCiBn
bC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2ZXJ0ZXhMb2MpOwogZ2wuZGlzYWJsZVZlcnRleEF0
dHJpYkFycmF5KG5vcm1hbExvYyk7CiBkZWJ1ZygiRW5hYmxlIHZlcnRpY2VzLCB2YWxpZCIpOwot
c2hvdWxkQmUoJ2dsLmdldEVycm9yKCknLCAnMCcpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5O
T19FUlJPUik7CiBzaG91bGRCZVVuZGVmaW5lZCgnZ2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgMywgZ2wuVU5TSUdORURfU0hPUlQsIDApJyk7Ci1zaG91bGRCZSgnZ2wuZ2V0RXJyb3IoKScs
ICcwJyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKIGRlYnVnKCJFbmFibGUg
bm9ybWFscywgb3V0LW9mLXJhbmdlIik7CiBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG5vcm1hbExv
YywgMywgZ2wuRkxPQVQsIGZhbHNlLCA3ICogc2l6ZUluQnl0ZXMoZ2wuRkxPQVQpLCA0ICogc2l6
ZUluQnl0ZXMoZ2wuRkxPQVQpKTsKIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KG5vcm1hbExv
Yyk7Ci1zaG91bGRCZSgnZ2wuZ2V0RXJyb3IoKScsICcwJyk7CitnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SKTsKIHNob3VsZEJlVW5kZWZpbmVkKCdnbC5kcmF3RWxlbWVudHMoZ2wuVFJJ
QU5HTEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCknKTsKLXNob3VsZEJlKCdnbC5nZXRFcnJv
cigpJywgJ2dsLklOVkFMSURfT1BFUkFUSU9OJyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklO
VkFMSURfT1BFUkFUSU9OKTsKIAogZGVidWcoIlRlc3Qgd2l0aCBlbmFibGVkIGF0dHJpYnV0ZSB0
aGF0IGRvZXMgbm90IGJlbG9uZyB0byBjdXJyZW50IHByb2dyYW0iKTsKIApAQCAtODksMTQgKzky
LDE5IEBAIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShub3JtYWxMb2MpOwogdmFyIGV4dHJh
TG9jID0gTWF0aC5tYXgodmVydGV4TG9jLCBub3JtYWxMb2MpICsgMTsKIGdsLmVuYWJsZVZlcnRl
eEF0dHJpYkFycmF5KGV4dHJhTG9jKTsKIGRlYnVnKCJFbmFibGUgYW4gZXh0cmEgYXR0cmlidXRl
IHdpdGggbnVsbCIpOwotc2hvdWxkQmUoJ2dsLmdldEVycm9yKCknLCAnMCcpOworZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CiBzaG91bGRCZVVuZGVmaW5lZCgnZ2wuZHJhd0VsZW1l
bnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfU0hPUlQsIDApJyk7Ci1zaG91bGRCZSgn
Z2wuZ2V0RXJyb3IoKScsICdnbC5JTlZBTElEX09QRVJBVElPTicpOworZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5JTlZBTElEX09QRVJBVElPTik7CiBkZWJ1ZygiRW5hYmxlIGFuIGV4dHJhIGF0dHJp
YnV0ZSB3aXRoIGluc3VmZmljaWVudCBkYXRhIGJ1ZmZlciIpOwogZ2wudmVydGV4QXR0cmliUG9p
bnRlcihleHRyYUxvYywgMywgZ2wuRkxPQVQsIGZhbHNlLCA3ICogc2l6ZUluQnl0ZXMoZ2wuRkxP
QVQpLCA0ICogc2l6ZUluQnl0ZXMoZ2wuRkxPQVQpKTsKLXNob3VsZEJlKCdnbC5nZXRFcnJvcigp
JywgJzAnKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOwogc2hvdWxkQmVVbmRl
ZmluZWQoJ2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JU
LCAwKScpOwotc2hvdWxkQmUoJ2dsLmdldEVycm9yKCknLCAnMCcpOworZGVidWcoIlBhc3MgbGFy
Z2UgbmVnYXRpdmUgaW5kZXggdG8gdmVydGV4QXR0cmliUG9pbnRlciIpOworZ2wudmVydGV4QXR0
cmliUG9pbnRlcihub3JtYWxMb2MsIDMsIGdsLkZMT0FULCBmYWxzZSwgNyAqIHNpemVJbkJ5dGVz
KGdsLkZMT0FUKSwgLTIwMDAwMDAwMDAgKiBzaXplSW5CeXRlcyhnbC5GTE9BVCkpOworZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCdnbC5k
cmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCknKTsKKwor
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKIDwvc2NyaXB0PgogCiA8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140538</attachid>
            <date>2012-05-07 09:36:28 -0700</date>
            <delta_ts>2012-05-07 13:03:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85117-20120507093627.patch</filename>
            <type>text/plain</type>
            <size>21508</size>
            <attacher name="Zhenyao Mo">zmo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjMxMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA1LTA0ICBaaGVueWFv
IE1vICA8em1vQGdvb2dsZS5jb20+CisKKyAgICAgICAgdmVydGV4QXR0cmliUG9pbnRlciBuZWVk
cyB0byByZWplY3QgbGFyZ2UgbmVnYXRpdmUgb2Zmc2V0cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUxMTcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHA6IFVzZSBsb25nIGxvbmcgZm9yIEdMc2l6ZWlwdHIgYW5kIEdMaW50cHRyCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6
YnVmZmVyRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJ1
ZmZlclN1YkRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpk
cmF3RWxlbWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpn
ZXRWZXJ0ZXhBdHRyaWJPZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0Ojp2ZXJ0ZXhBdHRyaWJQb2ludGVyKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuaDogRGl0dG8KKyAgICAgICAgKFdlYkdMUmVuZGVyaW5nQ29udGV4
dCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDogRGl0
dG8KKwogMjAxMi0wNS0wNyAgQWRhbSBCZXJna3Zpc3QgIDxhZGFtLmJlcmdrdmlzdEBlcmljc3Nv
bi5jb20+CiAKICAgICAgICAgTWVkaWFTdHJlYW0gc2hvdWxkIG5vdCBiZSBhbiBBY3RpdmVET01P
YmplY3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmNwcAkocmV2aXNpb24gMTE2MzEyKQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTAzNiw3ICsxMDM2LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmJsZW5kRnVuY1Nl
cAogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKLXZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpidWZmZXJEYXRhKEdDM0RlbnVtIHRhcmdldCwgR0MzRHNpemVpcHRy
IHNpemUsIEdDM0RlbnVtIHVzYWdlLCBFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpidWZmZXJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIHNpemUs
IEdDM0RlbnVtIHVzYWdlLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBVTlVTRURfUEFSQU0o
ZWMpOwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCkBAIC0xMDQ5LDEzICsxMDQ5LDEzIEBAIHZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpidWZmZXJEYXRhKEcKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICAgICBpZiAoIWlzRXJyb3JHZW5lcmF0ZWRPbk91dE9mQm91bmRzQWNjZXNzZXMoKSkg
ewotICAgICAgICBpZiAoIWJ1ZmZlci0+YXNzb2NpYXRlQnVmZmVyRGF0YShzaXplKSkgeworICAg
ICAgICBpZiAoIWJ1ZmZlci0+YXNzb2NpYXRlQnVmZmVyRGF0YShzdGF0aWNfY2FzdDxHQzNEc2l6
ZWlwdHI+KHNpemUpKSkgewogICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3ND
b250ZXh0M0Q6OklOVkFMSURfVkFMVUUsICJidWZmZXJEYXRhIiwgImludmFsaWQgYnVmZmVyIik7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtX2NvbnRleHQt
PmJ1ZmZlckRhdGEodGFyZ2V0LCBzaXplLCB1c2FnZSk7CisgICAgbV9jb250ZXh0LT5idWZmZXJE
YXRhKHRhcmdldCwgc3RhdGljX2Nhc3Q8R0MzRHNpemVpcHRyPihzaXplKSwgdXNhZ2UpOwogICAg
IGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTExMDUsNyArMTEwNSw3
IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpidWZmZXJEYXRhKEcKICAgICBjbGVhbnVw
QWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4
dDo6YnVmZmVyU3ViRGF0YShHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnRwdHIgb2Zmc2V0LCBBcnJh
eUJ1ZmZlciogZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6YnVmZmVyU3ViRGF0YShHQzNEZW51bSB0YXJnZXQsIGxvbmcgbG9uZyBvZmZzZXQsIEFy
cmF5QnVmZmVyKiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBVTlVTRURfUEFSQU0o
ZWMpOwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCkBAIC0xMTIwLDE3ICsxMTIwLDE3IEBAIHZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpidWZmZXJTdWJEYXQKICAgICBpZiAoIWRhdGEpCiAg
ICAgICAgIHJldHVybjsKICAgICBpZiAoIWlzRXJyb3JHZW5lcmF0ZWRPbk91dE9mQm91bmRzQWNj
ZXNzZXMoKSkgewotICAgICAgICBpZiAoIWJ1ZmZlci0+YXNzb2NpYXRlQnVmZmVyU3ViRGF0YShv
ZmZzZXQsIGRhdGEpKSB7CisgICAgICAgIGlmICghYnVmZmVyLT5hc3NvY2lhdGVCdWZmZXJTdWJE
YXRhKHN0YXRpY19jYXN0PEdDM0RpbnRwdHI+KG9mZnNldCksIGRhdGEpKSB7CiAgICAgICAgICAg
ICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgImJ1
ZmZlclN1YkRhdGEiLCAib2Zmc2V0IG91dCBvZiByYW5nZSIpOwogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAgICAgfQogCi0gICAgbV9jb250ZXh0LT5idWZmZXJTdWJEYXRhKHRhcmdl
dCwgb2Zmc2V0LCBkYXRhLT5ieXRlTGVuZ3RoKCksIGRhdGEtPmRhdGEoKSk7CisgICAgbV9jb250
ZXh0LT5idWZmZXJTdWJEYXRhKHRhcmdldCwgc3RhdGljX2Nhc3Q8R0MzRGludHB0cj4ob2Zmc2V0
KSwgZGF0YS0+Ynl0ZUxlbmd0aCgpLCBkYXRhLT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdy
YXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpidWZm
ZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludHB0ciBvZmZzZXQsIEFycmF5QnVmZmVy
VmlldyogZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4
dDo6YnVmZmVyU3ViRGF0YShHQzNEZW51bSB0YXJnZXQsIGxvbmcgbG9uZyBvZmZzZXQsIEFycmF5
QnVmZmVyVmlldyogZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgVU5VU0VEX1BBUkFN
KGVjKTsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpKQpAQCAtMTE0NSwxMyArMTE0NSwxMyBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6YnVmZmVyU3ViRGF0CiAgICAgaWYgKCFkYXRhKQog
ICAgICAgICByZXR1cm47CiAgICAgaWYgKCFpc0Vycm9yR2VuZXJhdGVkT25PdXRPZkJvdW5kc0Fj
Y2Vzc2VzKCkpIHsKLSAgICAgICAgaWYgKCFidWZmZXItPmFzc29jaWF0ZUJ1ZmZlclN1YkRhdGEo
b2Zmc2V0LCBkYXRhKSkgeworICAgICAgICBpZiAoIWJ1ZmZlci0+YXNzb2NpYXRlQnVmZmVyU3Vi
RGF0YShzdGF0aWNfY2FzdDxHQzNEaW50cHRyPihvZmZzZXQpLCBkYXRhKSkgewogICAgICAgICAg
ICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUsICJi
dWZmZXJTdWJEYXRhIiwgIm9mZnNldCBvdXQgb2YgcmFuZ2UiKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQogICAgIH0KIAotICAgIG1fY29udGV4dC0+YnVmZmVyU3ViRGF0YSh0YXJn
ZXQsIG9mZnNldCwgZGF0YS0+Ynl0ZUxlbmd0aCgpLCBkYXRhLT5iYXNlQWRkcmVzcygpKTsKKyAg
ICBtX2NvbnRleHQtPmJ1ZmZlclN1YkRhdGEodGFyZ2V0LCBzdGF0aWNfY2FzdDxHQzNEaW50cHRy
PihvZmZzZXQpLCBkYXRhLT5ieXRlTGVuZ3RoKCksIGRhdGEtPmJhc2VBZGRyZXNzKCkpOwogICAg
IGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTE4OTgsNyArMTg5OCw3
IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpkcmF3QXJyYXlzKEcKICAgICBjbGVhbnVw
QWZ0ZXJHcmFwaGljc0NhbGwodHJ1ZSk7CiB9CiAKLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0
OjpkcmF3RWxlbWVudHMoR0MzRGVudW0gbW9kZSwgR0MzRHNpemVpIGNvdW50LCBHQzNEZW51bSB0
eXBlLCBHQzNEaW50cHRyIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6ZHJhd0VsZW1lbnRzKEdDM0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjb3Vu
dCwgR0MzRGVudW0gdHlwZSwgbG9uZyBsb25nIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7
CiAgICAgVU5VU0VEX1BBUkFNKGVjKTsKIApAQCAtMTkzMywxNCArMTkzMywxNCBAQCB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6ZHJhd0VsZW1lbnRzCiAgICAgaW50IG51bUVsZW1lbnRzID0g
MDsKICAgICBpZiAoIWlzRXJyb3JHZW5lcmF0ZWRPbk91dE9mQm91bmRzQWNjZXNzZXMoKSkgewog
ICAgICAgICAvLyBFbnN1cmUgd2UgaGF2ZSBhIHZhbGlkIHJlbmRlcmluZyBzdGF0ZQotICAgICAg
ICBpZiAoIXZhbGlkYXRlRWxlbWVudEFycmF5U2l6ZShjb3VudCwgdHlwZSwgb2Zmc2V0KSkgewor
ICAgICAgICBpZiAoIXZhbGlkYXRlRWxlbWVudEFycmF5U2l6ZShjb3VudCwgdHlwZSwgc3RhdGlj
X2Nhc3Q8R0MzRGludHB0cj4ob2Zmc2V0KSkpIHsKICAgICAgICAgICAgIHN5bnRoZXNpemVHTEVy
cm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgImRyYXdFbGVtZW50cyIs
ICJyZXF1ZXN0IG91dCBvZiBib3VuZHMgZm9yIGN1cnJlbnQgRUxFTUVOVF9BUlJBWV9CVUZGRVIi
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBpZiAoIWNvdW50KQog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBpZiAoIXZhbGlkYXRlSW5kZXhBcnJheUNvbnNl
cnZhdGl2ZSh0eXBlLCBudW1FbGVtZW50cykgfHwgIXZhbGlkYXRlUmVuZGVyaW5nU3RhdGUobnVt
RWxlbWVudHMpKSB7Ci0gICAgICAgICAgICBpZiAoIXZhbGlkYXRlSW5kZXhBcnJheVByZWNpc2Uo
Y291bnQsIHR5cGUsIG9mZnNldCwgbnVtRWxlbWVudHMpIHx8ICF2YWxpZGF0ZVJlbmRlcmluZ1N0
YXRlKG51bUVsZW1lbnRzKSkgeworICAgICAgICAgICAgaWYgKCF2YWxpZGF0ZUluZGV4QXJyYXlQ
cmVjaXNlKGNvdW50LCB0eXBlLCBzdGF0aWNfY2FzdDxHQzNEaW50cHRyPihvZmZzZXQpLCBudW1F
bGVtZW50cykgfHwgIXZhbGlkYXRlUmVuZGVyaW5nU3RhdGUobnVtRWxlbWVudHMpKSB7CiAgICAg
ICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
T1BFUkFUSU9OLCAiZHJhd0VsZW1lbnRzIiwgImF0dGVtcHQgdG8gYWNjZXNzIG91dCBvZiBib3Vu
ZHMgYXJyYXlzIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQpAQCAt
MTk2MSwxMiArMTk2MSwxMiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6ZHJhd0VsZW1l
bnRzCiAgICAgYm9vbCB2ZXJ0ZXhBdHRyaWIwU2ltdWxhdGVkID0gZmFsc2U7CiAgICAgaWYgKCFp
c0dMRVMyQ29tcGxpYW50KCkpIHsKICAgICAgICAgaWYgKCFudW1FbGVtZW50cykKLSAgICAgICAg
ICAgIHZhbGlkYXRlSW5kZXhBcnJheVByZWNpc2UoY291bnQsIHR5cGUsIG9mZnNldCwgbnVtRWxl
bWVudHMpOworICAgICAgICAgICAgdmFsaWRhdGVJbmRleEFycmF5UHJlY2lzZShjb3VudCwgdHlw
ZSwgc3RhdGljX2Nhc3Q8R0MzRGludHB0cj4ob2Zmc2V0KSwgbnVtRWxlbWVudHMpOwogICAgICAg
ICB2ZXJ0ZXhBdHRyaWIwU2ltdWxhdGVkID0gc2ltdWxhdGVWZXJ0ZXhBdHRyaWIwKG51bUVsZW1l
bnRzKTsKICAgICB9CiAgICAgaWYgKCFpc0dMRVMyTlBPVFN0cmljdCgpKQogICAgICAgICBoYW5k
bGVOUE9UVGV4dHVyZXModHJ1ZSk7Ci0gICAgbV9jb250ZXh0LT5kcmF3RWxlbWVudHMobW9kZSwg
Y291bnQsIHR5cGUsIG9mZnNldCk7CisgICAgbV9jb250ZXh0LT5kcmF3RWxlbWVudHMobW9kZSwg
Y291bnQsIHR5cGUsIHN0YXRpY19jYXN0PEdDM0RpbnRwdHI+KG9mZnNldCkpOwogICAgIGlmICgh
aXNHTEVTMkNvbXBsaWFudCgpICYmIHZlcnRleEF0dHJpYjBTaW11bGF0ZWQpCiAgICAgICAgIHJl
c3RvcmVTdGF0ZXNBZnRlclZlcnRleEF0dHJpYjBTaW11bGF0aW9uKCk7CiAgICAgaWYgKCFpc0dM
RVMyTlBPVFN0cmljdCgpKQpAQCAtMzAzOCwxMyArMzAzOCwxMyBAQCBXZWJHTEdldEluZm8gV2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpnZXRWCiAgICAgfQogfQogCi1HQzNEc2l6ZWlwdHIgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpnZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoR0MzRHVpbnQgaW5kZXgsIEdD
M0RlbnVtIHBuYW1lKQorbG9uZyBsb25nIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0VmVydGV4
QXR0cmliT2Zmc2V0KEdDM0R1aW50IGluZGV4LCBHQzNEZW51bSBwbmFtZSkKIHsKICAgICBpZiAo
aXNDb250ZXh0TG9zdCgpKQogICAgICAgICByZXR1cm4gMDsKICAgICBHQzNEc2l6ZWlwdHIgcmVz
dWx0ID0gbV9jb250ZXh0LT5nZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoaW5kZXgsIHBuYW1lKTsKICAg
ICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwotICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PGxvbmcgbG9uZz4ocmVzdWx0KTsKIH0KIAogdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OmhpbnQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEZW51bSBtb2RlKQpA
QCAtNDI1MCw3ICs0MjUwLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZlcnRleEF0
dHJpYgogICAgIHZlcnRleEF0dHJpYmZ2SW1wbCgidmVydGV4QXR0cmliNGZ2IiwgaW5kZXgsIHYs
IHNpemUsIDQpOwogfQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmVydGV4QXR0cmli
UG9pbnRlcihHQzNEdWludCBpbmRleCwgR0MzRGludCBzaXplLCBHQzNEZW51bSB0eXBlLCBHQzNE
Ym9vbGVhbiBub3JtYWxpemVkLCBHQzNEc2l6ZWkgc3RyaWRlLCBHQzNEaW50cHRyIG9mZnNldCwg
RXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmVydGV4QXR0
cmliUG9pbnRlcihHQzNEdWludCBpbmRleCwgR0MzRGludCBzaXplLCBHQzNEZW51bSB0eXBlLCBH
QzNEYm9vbGVhbiBub3JtYWxpemVkLCBHQzNEc2l6ZWkgc3RyaWRlLCBsb25nIGxvbmcgb2Zmc2V0
LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBVTlVTRURfUEFSQU0oZWMpOwogICAgIGlmIChp
c0NvbnRleHRMb3N0KCkpCkBAIC00Mjg0LDcgKzQyODQsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5n
Q29udGV4dDo6dmVydGV4QXR0cmliCiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX0VOVU0sICJ2ZXJ0ZXhBdHRyaWJQb2ludGVyIiwgImludmFsaWQg
dHlwZSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlmICgoc3RyaWRlICUgdHlwZVNp
emUpIHx8IChvZmZzZXQgJSB0eXBlU2l6ZSkpIHsKKyAgICBpZiAoKHN0cmlkZSAlIHR5cGVTaXpl
KSB8fCAoc3RhdGljX2Nhc3Q8R0MzRGludHB0cj4ob2Zmc2V0KSAlIHR5cGVTaXplKSkgewogICAg
ICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJ
T04sICJ2ZXJ0ZXhBdHRyaWJQb2ludGVyIiwgInN0cmlkZSBvciBvZmZzZXQgbm90IHZhbGlkIGZv
ciB0eXBlIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC00MzAwLDggKzQzMDAsOCBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmVydGV4QXR0cmliCiAgICAgc3RhdGUubm9ybWFs
aXplZCA9IG5vcm1hbGl6ZWQ7CiAgICAgc3RhdGUuc3RyaWRlID0gdmFsaWRhdGVkU3RyaWRlOwog
ICAgIHN0YXRlLm9yaWdpbmFsU3RyaWRlID0gc3RyaWRlOwotICAgIHN0YXRlLm9mZnNldCA9IG9m
ZnNldDsKLSAgICBtX2NvbnRleHQtPnZlcnRleEF0dHJpYlBvaW50ZXIoaW5kZXgsIHNpemUsIHR5
cGUsIG5vcm1hbGl6ZWQsIHN0cmlkZSwgb2Zmc2V0KTsKKyAgICBzdGF0ZS5vZmZzZXQgPSBzdGF0
aWNfY2FzdDxHQzNEaW50cHRyPihvZmZzZXQpOworICAgIG1fY29udGV4dC0+dmVydGV4QXR0cmli
UG9pbnRlcihpbmRleCwgc2l6ZSwgdHlwZSwgbm9ybWFsaXplZCwgc3RyaWRlLCBzdGF0aWNfY2Fz
dDxHQzNEaW50cHRyPihvZmZzZXQpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFs
c2UpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuaAkocmV2aXNpb24gMTE2MzEyKQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTk2
LDExICs5NiwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBibGVuZEZ1bmMoR0MzRGVudW0gc2ZhY3Rv
ciwgR0MzRGVudW0gZGZhY3Rvcik7CiAgICAgdm9pZCBibGVuZEZ1bmNTZXBhcmF0ZShHQzNEZW51
bSBzcmNSR0IsIEdDM0RlbnVtIGRzdFJHQiwgR0MzRGVudW0gc3JjQWxwaGEsIEdDM0RlbnVtIGRz
dEFscGhhKTsKIAotICAgIHZvaWQgYnVmZmVyRGF0YShHQzNEZW51bSB0YXJnZXQsIEdDM0RzaXpl
aXB0ciBzaXplLCBHQzNEZW51bSB1c2FnZSwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgYnVm
ZmVyRGF0YShHQzNEZW51bSB0YXJnZXQsIGxvbmcgbG9uZyBzaXplLCBHQzNEZW51bSB1c2FnZSwg
RXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgYnVmZmVyRGF0YShHQzNEZW51bSB0YXJnZXQsIEFy
cmF5QnVmZmVyKiBkYXRhLCBHQzNEZW51bSB1c2FnZSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZv
aWQgYnVmZmVyRGF0YShHQzNEZW51bSB0YXJnZXQsIEFycmF5QnVmZmVyVmlldyogZGF0YSwgR0Mz
RGVudW0gdXNhZ2UsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIGJ1ZmZlclN1YkRhdGEoR0Mz
RGVudW0gdGFyZ2V0LCBHQzNEaW50cHRyIG9mZnNldCwgQXJyYXlCdWZmZXIqIGRhdGEsIEV4Y2Vw
dGlvbkNvZGUmKTsKLSAgICB2b2lkIGJ1ZmZlclN1YkRhdGEoR0MzRGVudW0gdGFyZ2V0LCBHQzNE
aW50cHRyIG9mZnNldCwgQXJyYXlCdWZmZXJWaWV3KiBkYXRhLCBFeGNlcHRpb25Db2RlJik7Cisg
ICAgdm9pZCBidWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIG9mZnNldCwg
QXJyYXlCdWZmZXIqIGRhdGEsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGJ1ZmZlclN1YkRh
dGEoR0MzRGVudW0gdGFyZ2V0LCBsb25nIGxvbmcgb2Zmc2V0LCBBcnJheUJ1ZmZlclZpZXcqIGRh
dGEsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIEdDM0RlbnVtIGNoZWNrRnJhbWVidWZmZXJTdGF0
dXMoR0MzRGVudW0gdGFyZ2V0KTsKICAgICB2b2lkIGNsZWFyKEdDM0RiaXRmaWVsZCBtYXNrKTsK
QEAgLTE0MSw3ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNhYmxlKEdDM0RlbnVtIGNh
cCk7CiAgICAgdm9pZCBkaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoR0MzRHVpbnQgaW5kZXgsIEV4
Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIGRyYXdBcnJheXMoR0MzRGVudW0gbW9kZSwgR0MzRGlu
dCBmaXJzdCwgR0MzRHNpemVpIGNvdW50LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCBkcmF3
RWxlbWVudHMoR0MzRGVudW0gbW9kZSwgR0MzRHNpemVpIGNvdW50LCBHQzNEZW51bSB0eXBlLCBH
QzNEaW50cHRyIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgZHJhd0VsZW1lbnRz
KEdDM0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjb3VudCwgR0MzRGVudW0gdHlwZSwgbG9uZyBsb25n
IG9mZnNldCwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgdm9pZCBlbmFibGUoR0MzRGVudW0gY2Fw
KTsKICAgICB2b2lkIGVuYWJsZVZlcnRleEF0dHJpYkFycmF5KEdDM0R1aW50IGluZGV4LCBFeGNl
cHRpb25Db2RlJik7CkBAIC0xNzQsNyArMTc0LDcgQEAgcHVibGljOgogICAgIFdlYkdMR2V0SW5m
byBnZXRVbmlmb3JtKFdlYkdMUHJvZ3JhbSosIGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiwg
RXhjZXB0aW9uQ29kZSYpOwogICAgIFBhc3NSZWZQdHI8V2ViR0xVbmlmb3JtTG9jYXRpb24+IGdl
dFVuaWZvcm1Mb2NhdGlvbihXZWJHTFByb2dyYW0qLCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25D
b2RlJik7CiAgICAgV2ViR0xHZXRJbmZvIGdldFZlcnRleEF0dHJpYihHQzNEdWludCBpbmRleCwg
R0MzRGVudW0gcG5hbWUsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBHQzNEc2l6ZWlwdHIgZ2V0VmVy
dGV4QXR0cmliT2Zmc2V0KEdDM0R1aW50IGluZGV4LCBHQzNEZW51bSBwbmFtZSk7CisgICAgbG9u
ZyBsb25nIGdldFZlcnRleEF0dHJpYk9mZnNldChHQzNEdWludCBpbmRleCwgR0MzRGVudW0gcG5h
bWUpOwogCiAgICAgdm9pZCBoaW50KEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gbW9kZSk7CiAg
ICAgR0MzRGJvb2xlYW4gaXNCdWZmZXIoV2ViR0xCdWZmZXIqKTsKQEAgLTI4MSw3ICsyODEsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCB2ZXJ0ZXhBdHRyaWI0ZnYoR0MzRHVpbnQgaW5kZXgsIEZsb2F0
MzJBcnJheSogdmFsdWVzKTsKICAgICB2b2lkIHZlcnRleEF0dHJpYjRmdihHQzNEdWludCBpbmRl
eCwgR0MzRGZsb2F0KiB2YWx1ZXMsIEdDM0RzaXplaSBzaXplKTsKICAgICB2b2lkIHZlcnRleEF0
dHJpYlBvaW50ZXIoR0MzRHVpbnQgaW5kZXgsIEdDM0RpbnQgc2l6ZSwgR0MzRGVudW0gdHlwZSwg
R0MzRGJvb2xlYW4gbm9ybWFsaXplZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Mz
RHNpemVpIHN0cmlkZSwgR0MzRGludHB0ciBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgR0MzRHNpemVpIHN0cmlkZSwgbG9uZyBsb25nIG9mZnNl
dCwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgdm9pZCB2aWV3cG9ydChHQzNEaW50IHgsIEdDM0Rp
bnQgeSwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0KTsKIApJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRs
CShyZXZpc2lvbiAxMTYzMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00NjMsOSArNDYzLDkgQEAgbW9k
dWxlIGh0bWwgewogICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAgICAgICAgYmxl
bmRGdW5jU2VwYXJhdGUoaW4gdW5zaWduZWQgbG9uZyBzcmNSR0IsIGluIHVuc2lnbmVkIGxvbmcg
ZHN0UkdCLCBpbiB1bnNpZ25lZCBsb25nIHNyY0FscGhhLCBpbiB1bnNpZ25lZCBsb25nIGRzdEFs
cGhhKTsKICAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCAgICAgICAgIGJ1ZmZlckRh
dGEoaW4gdW5zaWduZWQgbG9uZyB0YXJnZXQsIGluIEFycmF5QnVmZmVyIGRhdGEsIGluIHVuc2ln
bmVkIGxvbmcgdXNhZ2UpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgW1N0cmljdFR5
cGVDaGVja2luZ10gdm9pZCAgICAgICAgIGJ1ZmZlckRhdGEoaW4gdW5zaWduZWQgbG9uZyB0YXJn
ZXQsIGluIEFycmF5QnVmZmVyVmlldyBkYXRhLCBpbiB1bnNpZ25lZCBsb25nIHVzYWdlKSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAg
ICAgICBidWZmZXJEYXRhKGluIHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBpbiBsb25nIHNpemUsIGlu
IHVuc2lnbmVkIGxvbmcgdXNhZ2UpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgW1N0
cmljdFR5cGVDaGVja2luZ10gdm9pZCAgICAgICAgIGJ1ZmZlclN1YkRhdGEoaW4gdW5zaWduZWQg
bG9uZyB0YXJnZXQsIGluIGxvbmcgb2Zmc2V0LCBpbiBBcnJheUJ1ZmZlciBkYXRhKSByYWlzZXMg
KERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAg
ICBidWZmZXJTdWJEYXRhKGluIHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBpbiBsb25nIG9mZnNldCwg
aW4gQXJyYXlCdWZmZXJWaWV3IGRhdGEpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAg
W1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCAgICAgICAgIGJ1ZmZlckRhdGEoaW4gdW5zaWduZWQg
bG9uZyB0YXJnZXQsIGluIGxvbmcgbG9uZyBzaXplLCBpbiB1bnNpZ25lZCBsb25nIHVzYWdlKSBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQg
ICAgICAgICBidWZmZXJTdWJEYXRhKGluIHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBpbiBsb25nIGxv
bmcgb2Zmc2V0LCBpbiBBcnJheUJ1ZmZlciBkYXRhKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Cisg
ICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAgICBidWZmZXJTdWJEYXRhKGlu
IHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBpbiBsb25nIGxvbmcgb2Zmc2V0LCBpbiBBcnJheUJ1ZmZl
clZpZXcgZGF0YSkgcmFpc2VzIChET01FeGNlcHRpb24pOwogCiAgICAgICAgIFtTdHJpY3RUeXBl
Q2hlY2tpbmddIHVuc2lnbmVkIGxvbmcgY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhpbiB1bnNpZ25l
ZCBsb25nIHRhcmdldCk7CiAgICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAg
ICBjbGVhcihpbiB1bnNpZ25lZCBsb25nIG1hc2spOwpAQCAtNTA3LDcgKzUwNyw3IEBAIG1vZHVs
ZSBodG1sIHsKICAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCAgICAgICAgIGRpc2Fi
bGUoaW4gdW5zaWduZWQgbG9uZyBjYXApOwogICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2
b2lkICAgICAgICAgZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGluIHVuc2lnbmVkIGxvbmcgaW5k
ZXgpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2
b2lkICAgICAgICAgZHJhd0FycmF5cyhpbiB1bnNpZ25lZCBsb25nIG1vZGUsIGluIGxvbmcgZmly
c3QsIGluIGxvbmcgY291bnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAgICBbU3RyaWN0
VHlwZUNoZWNraW5nXSB2b2lkICAgICAgICAgZHJhd0VsZW1lbnRzKGluIHVuc2lnbmVkIGxvbmcg
bW9kZSwgaW4gbG9uZyBjb3VudCwgaW4gdW5zaWduZWQgbG9uZyB0eXBlLCBpbiBsb25nIG9mZnNl
dCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZv
aWQgICAgICAgICBkcmF3RWxlbWVudHMoaW4gdW5zaWduZWQgbG9uZyBtb2RlLCBpbiBsb25nIGNv
dW50LCBpbiB1bnNpZ25lZCBsb25nIHR5cGUsIGluIGxvbmcgbG9uZyBvZmZzZXQpIHJhaXNlcyhE
T01FeGNlcHRpb24pOwogCiAgICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAg
ICBlbmFibGUoaW4gdW5zaWduZWQgbG9uZyBjYXApOwogICAgICAgICBbU3RyaWN0VHlwZUNoZWNr
aW5nXSB2b2lkICAgICAgICAgZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoaW4gdW5zaWduZWQgbG9u
ZyBpbmRleCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CkBAIC01NjcsNyArNTY3LDcgQEAgbW9kdWxl
IGh0bWwgewogICAgICAgICAvLyBhbnkgZ2V0VmVydGV4QXR0cmliKGluIHVuc2lnbmVkIGxvbmcg
aW5kZXgsIGluIHVuc2lnbmVkIGxvbmcgcG5hbWUpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAg
ICAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBDdXN0b21dIHZvaWQgZ2V0VmVydGV4QXR0cmliKCk7
CiAKLSAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gbG9uZyBnZXRWZXJ0ZXhBdHRyaWJPZmZz
ZXQoaW4gdW5zaWduZWQgbG9uZyBpbmRleCwgaW4gdW5zaWduZWQgbG9uZyBwbmFtZSk7CisgICAg
ICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIGxvbmcgbG9uZyBnZXRWZXJ0ZXhBdHRyaWJPZmZzZXQo
aW4gdW5zaWduZWQgbG9uZyBpbmRleCwgaW4gdW5zaWduZWQgbG9uZyBwbmFtZSk7CiAKICAgICAg
ICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCAgICAgICAgIGhpbnQoaW4gdW5zaWduZWQgbG9u
ZyB0YXJnZXQsIGluIHVuc2lnbmVkIGxvbmcgbW9kZSk7CiAgICAgICAgIFtTdHJpY3RUeXBlQ2hl
Y2tpbmddIGJvb2xlYW4gICAgICBpc0J1ZmZlcihpbiBXZWJHTEJ1ZmZlciBidWZmZXIpOwpAQCAt
NjYxLDcgKzY2MSw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgW1N0cmljdFR5cGVDaGVja2lu
Z10gdm9pZCAgICAgICAgIHZlcnRleEF0dHJpYjRmKGluIHVuc2lnbmVkIGxvbmcgaW5keCwgaW4g
ZmxvYXQgeCwgaW4gZmxvYXQgeSwgaW4gZmxvYXQgeiwgaW4gZmxvYXQgdyk7CiAgICAgICAgIFtT
dHJpY3RUeXBlQ2hlY2tpbmcsIEN1c3RvbV0gdm9pZCAgICAgICAgIHZlcnRleEF0dHJpYjRmdihp
biB1bnNpZ25lZCBsb25nIGluZHgsIGluIEZsb2F0MzJBcnJheSB2YWx1ZXMpOwogICAgICAgICBb
U3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAgICAgICAgdmVydGV4QXR0cmliUG9pbnRlcihpbiB1
bnNpZ25lZCBsb25nIGluZHgsIGluIGxvbmcgc2l6ZSwgaW4gdW5zaWduZWQgbG9uZyB0eXBlLCBp
biBib29sZWFuIG5vcm1hbGl6ZWQsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHN0cmlkZSwgaW4gbG9uZyBvZmZz
ZXQpIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHN0cmlkZSwgaW4gbG9uZyBs
b25nIG9mZnNldCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKICAgICAgICAgW1N0cmljdFR5cGVD
aGVja2luZ10gdm9pZCAgICAgICAgIHZpZXdwb3J0KGluIGxvbmcgeCwgaW4gbG9uZyB5LCBpbiBs
b25nIHdpZHRoLCBpbiBsb25nIGhlaWdodCk7CiAgICAgfTsKSW5kZXg6IExheW91dFRlc3RzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEx
NjMxMikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEzIEBACisyMDEyLTA1LTA0ICBaaGVueWFvIE1vICA8em1vQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgdmVydGV4QXR0cmliUG9pbnRlciBuZWVkcyB0byByZWplY3QgbGFyZ2UgbmVnYXRpdmUgb2Zm
c2V0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUx
MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZh
c3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGZhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24uaHRtbDogQWRkIGEgdGVzdCBjYXNl
IGZvciBsYXJnZSBuZWdhdGl2ZSBvZmZzZXQuCisKIDIwMTItMDUtMDcgIFJhcGhhZWwgS3VibyBk
YSBDb3N0YSAgPHJha3Vjb0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtFRkxdIEdhcmRlbmluZywg
Zml4IGZhaWx1cmUgZXhwZWN0YXRpb24gZm9yIHRlc3QuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMTE2MzEyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
aW5kZXgtdmFsaWRhdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsMjcgKzQs
MjkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQQogCiBUZXN0aW5n
IHdpdGggdmFsaWQgaW5kaWNlcwogUEFTUyBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZS
QU1FQlVGRkVSKSBpcyBnbC5GUkFNRUJVRkZFUl9DT01QTEVURQotUEFTUyBnbC5nZXRFcnJvcigp
IGlzIDAKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAogUEFT
UyBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCkg
aXMgdW5kZWZpbmVkLgotUEFTUyBnbC5nZXRFcnJvcigpIGlzIDAKK1BBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IAogVGVzdGluZyB3aXRoIG91dC1vZi1yYW5nZSBp
bmRpY2VzCiBFbmFibGUgdmVydGljZXMsIHZhbGlkCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgMAor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCiBQQVNTIGdsLmRy
YXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAwKSBpcyB1bmRl
ZmluZWQuCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgMAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogCiBFbmFibGUgbm9ybWFscywgb3V0LW9mLXJhbmdlCi1QQVNT
IGdsLmdldEVycm9yKCkgaXMgMAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogCiBQQVNTIGdsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lH
TkVEX1NIT1JULCAwKSBpcyB1bmRlZmluZWQuCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wuSU5W
QUxJRF9PUEVSQVRJT04KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElE
X09QRVJBVElPTiA6IAogVGVzdCB3aXRoIGVuYWJsZWQgYXR0cmlidXRlIHRoYXQgZG9lcyBub3Qg
YmVsb25nIHRvIGN1cnJlbnQgcHJvZ3JhbQogRW5hYmxlIGFuIGV4dHJhIGF0dHJpYnV0ZSB3aXRo
IG51bGwKLVBBU1MgZ2wuZ2V0RXJyb3IoKSBpcyAwCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiAKIFBBU1MgZ2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywg
MywgZ2wuVU5TSUdORURfU0hPUlQsIDApIGlzIHVuZGVmaW5lZC4KLVBBU1MgZ2wuZ2V0RXJyb3Io
KSBpcyBnbC5JTlZBTElEX09QRVJBVElPTgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IElOVkFMSURfT1BFUkFUSU9OIDogCiBFbmFibGUgYW4gZXh0cmEgYXR0cmlidXRlIHdpdGgg
aW5zdWZmaWNpZW50IGRhdGEgYnVmZmVyCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgMAorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogCitQQVNTIGdsLmRyYXdFbGVt
ZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAwKSBpcyB1bmRlZmluZWQu
CitQYXNzIGxhcmdlIG5lZ2F0aXZlIGluZGV4IHRvIHZlcnRleEF0dHJpYlBvaW50ZXIKK1BBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX1ZBTFVFIDogCiBQQVNTIGdsLmRy
YXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAwKSBpcyB1bmRl
ZmluZWQuCi1QQVNTIGdsLmdldEVycm9yKCkgaXMgMAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93
ZWJnbC9pbmRleC12YWxpZGF0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi5odG1sCShyZXZpc2lvbiAxMTYzMTIpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsNSArMSw4IEBACis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgogPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgogPC9oZWFkPgpAQCAtNjAsOSArNjMs
OSBAQCBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2ZXJ0ZXhMb2MpOwogZ2wudmVydGV4QXR0
cmliUG9pbnRlcihub3JtYWxMb2MsIDMsIGdsLkZMT0FULCBmYWxzZSwgNyAqIHNpemVJbkJ5dGVz
KGdsLkZMT0FUKSwgNCAqIHNpemVJbkJ5dGVzKGdsLkZMT0FUKSk7CiBnbC5lbmFibGVWZXJ0ZXhB
dHRyaWJBcnJheShub3JtYWxMb2MpOwogc2hvdWxkQmUoJ2dsLmNoZWNrRnJhbWVidWZmZXJTdGF0
dXMoZ2wuRlJBTUVCVUZGRVIpJywgJ2dsLkZSQU1FQlVGRkVSX0NPTVBMRVRFJyk7Ci1zaG91bGRC
ZSgnZ2wuZ2V0RXJyb3IoKScsICcwJyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
KTsKIHNob3VsZEJlVW5kZWZpbmVkKCdnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBn
bC5VTlNJR05FRF9TSE9SVCwgMCknKTsKLXNob3VsZEJlKCdnbC5nZXRFcnJvcigpJywgJzAnKTsK
K2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOwogCiBkZWJ1ZygiVGVzdGluZyB3aXRo
IG91dC1vZi1yYW5nZSBpbmRpY2VzIik7CiAKQEAgLTczLDE1ICs3NiwxNSBAQCBnbC52ZXJ0ZXhB
dHRyaWJQb2ludGVyKHZlcnRleExvYywgNCwgZ2wuCiBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJh
eSh2ZXJ0ZXhMb2MpOwogZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KG5vcm1hbExvYyk7CiBk
ZWJ1ZygiRW5hYmxlIHZlcnRpY2VzLCB2YWxpZCIpOwotc2hvdWxkQmUoJ2dsLmdldEVycm9yKCkn
LCAnMCcpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CiBzaG91bGRCZVVuZGVm
aW5lZCgnZ2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfU0hPUlQs
IDApJyk7Ci1zaG91bGRCZSgnZ2wuZ2V0RXJyb3IoKScsICcwJyk7CitnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLk5PX0VSUk9SKTsKIGRlYnVnKCJFbmFibGUgbm9ybWFscywgb3V0LW9mLXJhbmdlIik7
CiBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG5vcm1hbExvYywgMywgZ2wuRkxPQVQsIGZhbHNlLCA3
ICogc2l6ZUluQnl0ZXMoZ2wuRkxPQVQpLCA0ICogc2l6ZUluQnl0ZXMoZ2wuRkxPQVQpKTsKIGds
LmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KG5vcm1hbExvYyk7Ci1zaG91bGRCZSgnZ2wuZ2V0RXJy
b3IoKScsICcwJyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKIHNob3VsZEJl
VW5kZWZpbmVkKCdnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9T
SE9SVCwgMCknKTsKLXNob3VsZEJlKCdnbC5nZXRFcnJvcigpJywgJ2dsLklOVkFMSURfT1BFUkFU
SU9OJyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OKTsKIAogZGVi
dWcoIlRlc3Qgd2l0aCBlbmFibGVkIGF0dHJpYnV0ZSB0aGF0IGRvZXMgbm90IGJlbG9uZyB0byBj
dXJyZW50IHByb2dyYW0iKTsKIApAQCAtODksMTQgKzkyLDE5IEBAIGdsLmRpc2FibGVWZXJ0ZXhB
dHRyaWJBcnJheShub3JtYWxMb2MpOwogdmFyIGV4dHJhTG9jID0gTWF0aC5tYXgodmVydGV4TG9j
LCBub3JtYWxMb2MpICsgMTsKIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KGV4dHJhTG9jKTsK
IGRlYnVnKCJFbmFibGUgYW4gZXh0cmEgYXR0cmlidXRlIHdpdGggbnVsbCIpOwotc2hvdWxkQmUo
J2dsLmdldEVycm9yKCknLCAnMCcpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7
CiBzaG91bGRCZVVuZGVmaW5lZCgnZ2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wu
VU5TSUdORURfU0hPUlQsIDApJyk7Ci1zaG91bGRCZSgnZ2wuZ2V0RXJyb3IoKScsICdnbC5JTlZB
TElEX09QRVJBVElPTicpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElP
Tik7CiBkZWJ1ZygiRW5hYmxlIGFuIGV4dHJhIGF0dHJpYnV0ZSB3aXRoIGluc3VmZmljaWVudCBk
YXRhIGJ1ZmZlciIpOwogZ2wudmVydGV4QXR0cmliUG9pbnRlcihleHRyYUxvYywgMywgZ2wuRkxP
QVQsIGZhbHNlLCA3ICogc2l6ZUluQnl0ZXMoZ2wuRkxPQVQpLCA0ICogc2l6ZUluQnl0ZXMoZ2wu
RkxPQVQpKTsKLXNob3VsZEJlKCdnbC5nZXRFcnJvcigpJywgJzAnKTsKK2dsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IpOwogc2hvdWxkQmVVbmRlZmluZWQoJ2dsLmRyYXdFbGVtZW50cyhn
bC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAwKScpOwotc2hvdWxkQmUoJ2dsLmdl
dEVycm9yKCknLCAnMCcpOworZGVidWcoIlBhc3MgbGFyZ2UgbmVnYXRpdmUgaW5kZXggdG8gdmVy
dGV4QXR0cmliUG9pbnRlciIpOworZ2wudmVydGV4QXR0cmliUG9pbnRlcihub3JtYWxMb2MsIDMs
IGdsLkZMT0FULCBmYWxzZSwgNyAqIHNpemVJbkJ5dGVzKGdsLkZMT0FUKSwgLTIwMDAwMDAwMDAg
KiBzaXplSW5CeXRlcyhnbC5GTE9BVCkpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElE
X1ZBTFVFKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCdnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCknKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKIDwvc2NyaXB0PgogCiA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="146444"
          type_id="1"
          status="+"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>