<?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>87535</bug_id>
          
          <creation_ts>2012-05-25 14:26:40 -0700</creation_ts>
          <short_desc>[Chromium] Re-enable handling of smooth scrolling on Chromium Linux/Windows</short_desc>
          <delta_ts>2012-06-06 22:56:35 -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>UI Events</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robert Kroeger">rjkroege</reporter>
          <assigned_to name="Robert Kroeger">rjkroege</assigned_to>
          <cc>jamesr</cc>
    
    <cc>rjkroege</cc>
    
    <cc>scottbyer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>634284</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-05-25 14:26:40 -0700</bug_when>
    <thetext>Very late in the implementation of ChromiumOS trackpad scrolling, we discovered that to also support smooth wheel scrolling Chromium Linux/Windows requires differentiating hasPreciseScrollingDeltas PlatformWheelEvents from !hasPreciseScrollingDeltas wheel events. Consequently, enable the hasPreciseScrollingDelta feature of PlatformWheelEvents for Chromium Linux/Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636013</commentid>
    <comment_count>1</comment_count>
      <attachid>144557</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-05-29 07:50:05 -0700</bug_when>
    <thetext>Created attachment 144557
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636014</commentid>
    <comment_count>2</comment_count>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-05-29 07:52:32 -0700</bug_when>
    <thetext>jamesr@: could you perhaps review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636607</commentid>
    <comment_count>3</comment_count>
      <attachid>144557</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-29 17:21:12 -0700</bug_when>
    <thetext>Comment on attachment 144557
Patch

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

&gt; Source/WebCore/platform/PlatformWheelEvent.h:71
&gt; +#if PLATFORM(MAC) || PLATFORM(CHROMIUM)

Do these phases make sense for CHROMIUM non-OS X platforms?

&gt; Source/WebCore/platform/PlatformWheelEvent.h:93
&gt; +#if PLATFORM(MAC) || PLATFORM(CHROMIUM)

I understand that hasPreciseScrollingDeltas makes sense for non-OS X chromium platforms, but do the other bits make any sense?

&gt; Source/WebCore/platform/ScrollAnimator.cpp:95
&gt; +    ScrollGranularity granularity = e.hasPreciseScrollingDeltas() ? ScrollByPrecisePixel : ScrollByPixel;

how is hasPreciseScrollingDeltas supposed to interact with PlatformWheelEvent::granularity() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637195</commentid>
    <comment_count>4</comment_count>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-05-30 07:28:56 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 144557 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=144557&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/PlatformWheelEvent.h:71
&gt; &gt; +#if PLATFORM(MAC) || PLATFORM(CHROMIUM)
&gt; 
&gt; Do these phases make sense for CHROMIUM non-OS X platforms?

Not at present. Something similar would probably be necessary when we go about writing support for inertial scroll. 

I couldn&apos;t decide here which would be better: more convoluted #ifs or just including the unused fields. I thought that doing it this way made the patch simpler. I&apos;ll do it the other way in p2.

&gt; 
&gt; &gt; Source/WebCore/platform/PlatformWheelEvent.h:93
&gt; &gt; +#if PLATFORM(MAC) || PLATFORM(CHROMIUM)
&gt; 
&gt; I understand that hasPreciseScrollingDeltas makes sense for non-OS X chromium platforms, but do the other bits make any sense?
&gt; 
&gt; &gt; Source/WebCore/platform/ScrollAnimator.cpp:95
&gt; &gt; +    ScrollGranularity granularity = e.hasPreciseScrollingDeltas() ? ScrollByPrecisePixel : ScrollByPixel;
&gt; 
&gt; how is hasPreciseScrollingDeltas supposed to interact with PlatformWheelEvent::granularity() ?

hasPreciseScrollingDeltas is ignored when granularity() != ScrollByPixelWheelEvent. If granularity == ScrollByPixelWheelEvent and hasPreciseScrollingDeltas is false, ScrollAnimatorNone should animate the scroll. Otherwise, ScrollAnimatorNone should simply scroll by the specified amount.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637250</commentid>
    <comment_count>5</comment_count>
      <attachid>144823</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-05-30 08:19:05 -0700</bug_when>
    <thetext>Created attachment 144823
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637255</commentid>
    <comment_count>6</comment_count>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-05-30 08:21:41 -0700</bug_when>
    <thetext>Note in passing: the gtk build fail would not seem to be caused by this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641033</commentid>
    <comment_count>7</comment_count>
      <attachid>144823</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-04 17:34:06 -0700</bug_when>
    <thetext>Comment on attachment 144823
Patch

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

R=me.  The ifdefs are pretty unfortunate, but I think they reflect fairly accurately the complexities of the different bits :(

&gt; Source/WebCore/platform/ScrollAnimatorNone.cpp:416
&gt; +

spurious newline</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642906</commentid>
    <comment_count>8</comment_count>
      <attachid>144823</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-06-06 15:43:30 -0700</bug_when>
    <thetext>Comment on attachment 144823
Patch

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

&gt;&gt; Source/WebCore/platform/ScrollAnimatorNone.cpp:416
&gt;&gt; +
&gt; 
&gt; spurious newline

fixed in p3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642916</commentid>
    <comment_count>9</comment_count>
      <attachid>146135</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-06-06 15:54:25 -0700</bug_when>
    <thetext>Created attachment 146135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643231</commentid>
    <comment_count>10</comment_count>
      <attachid>146135</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-06 22:56:30 -0700</bug_when>
    <thetext>Comment on attachment 146135
Patch

Clearing flags on attachment: 146135

Committed r119684: &lt;http://trac.webkit.org/changeset/119684&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643232</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-06 22:56:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144557</attachid>
            <date>2012-05-29 07:50:05 -0700</date>
            <delta_ts>2012-05-30 08:19:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87535-20120529105003.patch</filename>
            <type>text/plain</type>
            <size>11939</size>
            <attacher name="Robert Kroeger">rjkroege</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4Mzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2VmNzk5MTZkNTQwZmY2
ZjZkMzFiNDNjNTc5NTQ0MWViOTAzZjFmMS4uMTlhZjVkZGYwMTc3NjczNmI5ZTJmNTA1M2JmNjQy
MWY5YzFjYzRhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA1LTI5ICBSb2Jl
cnQgS3JvZWdlciAgPHJqa3JvZWdlQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1d
IFJlLWVuYWJsZSBoYW5kbGluZyBvZiBzbW9vdGggc2Nyb2xsaW5nIG9uIENocm9taXVtIExpbnV4
L1dpbmRvd3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg3NTM1IGJ5IGFkZGluZyBzdXBwb3J0IGZvcgorICAgICAgICBtX2hhc1ByZWNpc2VTY3JvbGxp
bmdEZWx0YSBvbiBhbGwgQ2hyb21pdW0gcGxhdGZvcm1zIGFuZCBhZGp1c3RpbmcgU2Nyb2xsQW5p
bWF0b3IKKyAgICAgICAgYW5kIFNjcm9sbEFuaW1hdG9yTm9uZSBhY2NvcmRpbmdseSB0byBsZXQg
bV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGEgPT0gdHJ1ZQorICAgICAgICBmb3JjZSBleGFjdCAo
bm9uLWFuaW1hdGVkKSBzY3JvbGxpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVXBkYXRlZCBXZWJLaXQgdW5pdCB0ZXN0cyB0byB2YWxpZGF0ZSBj
aGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KTogQWRq
dXN0ZWQgI2lmZGVmcyB0bworICAgICAgICBtYWtlIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRh
IGF2YWlsYWJsZSBvbiBhbGwgQ2hyb21pdW0gcGxhdGZvcm1zLgorICAgICAgICAoUGxhdGZvcm1X
aGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudCk6IERlZmF1bHQg
c2Nyb2xsIHR5cGUgaXMgc2V0IGJhc2VkIG9uIAorICAgICAgICBtX2hhc1ByZWNpc2VTY3JvbGxp
bmdEZWx0YSB2YWx1ZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjpzY3JvbGwpOiBTY3JvbGwg
cHJlY2lzZWx5IHdoZW4gbmVjZXNzYXJ5LgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVz
Lmg6IEFkZGVkIGFkZGl0aW9uYWwgcGl4ZWwgc2Nyb2xsaW5nIHN1YnR5cGUuCisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJs
ZUFyZWE6OnNjcm9sbCk6IFVwZGF0ZWQgZm9yIGFkZGl0aW9uYWwgcGl4ZWwgc2Nyb2xsIHN1YnR5
cGUuCisKIDIwMTItMDUtMjQgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgW2Nocm9taXVtXSBPbmx5IGRpc3BsYXkgZnJhbWVzIGNyZWF0ZWQgd2l0aCBtZW1v
cnkgYWxsb2NhdGlvbnMgbWVhbnQgdG8gYmUgZGlzcGxheWVkCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IDdmNzljODUwMWZmYTBiNDMwOGY1N2FkZmU2MzhkOWE1NjdkY2UzYjAuLmI0ZmUx
ZGNkYjZhMDBkMDkyNzI2Mjk2M2RkODdmOGM4OGQyYjg2NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUtMjkgIFJvYmVydCBLcm9lZ2VyICA8cmpr
cm9lZ2VAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gUmUtZW5hYmxlIGhhbmRs
aW5nIG9mIHNtb290aCBzY3JvbGxpbmcgb24gQ2hyb21pdW0gTGludXgvV2luZG93cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc1MzUgYnkgYWRkaW5n
IHN1cHBvcnQgZm9yIHByZWNpc2UKKyAgICAgICAgc2Nyb2xsaW5nIGRlbHRhcyBvbiBhbGwgQ2hy
b21pdW0gcGxhdGZvcm1zLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6UGxhdGZvcm1XaGVlbEV2ZW50QnVpbGRlcjo6UGxhdGZvcm1XaGVlbEV2ZW50QnVpbGRl
cik6IENyZWF0ZSBQbGF0Zm9ybVdoZWVsRXZlbnRzCisgICAgICAgIHdpdGggbV9oYXNQcmVjaXNl
U2Nyb2xsaW5nRGVsdGEgZmxhZyBhcyByZXF1aXJlZC4KKyAgICAgICAgKiB0ZXN0cy9TY3JvbGxB
bmltYXRvck5vbmVUZXN0LmNwcDogQWRkZWQgbmV3IHVuaXQgdGVzdCBjb25kaWl0b24gZm9yIHBy
ZWNpc2Ugc2Nyb2xsaW5nLgorICAgICAgICAoVEVTVCk6CisKIDIwMTItMDUtMjQgIE1hcmsgUGls
Z3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gTW92ZSBx
dWVyeUxvY2FsaXplZFN0cmluZyB0byBQbGF0Zm9ybS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCmluZGV4IDI3OWUxY2YyMzU3YzNmYTVmYzc5MDVlNTNj
OTA1ZTllY2I4YjI5MmEuLmJjNDA5NDNkYmY4MjEyMTc0Yzg2NWIzMzQyN2M2ZTEwMDY2ODA5MTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCkBAIC02
OCw3ICs2OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgU2Nyb2xsQnlQaXhlbFZl
bG9jaXR5V2hlZWxFdmVudAogICAgIH07CiAKLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9S
TShDSFJPTUlVTSkgJiYgT1MoREFSV0lOKSkKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KENIUk9NSVVNKQogICAgIGVudW0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgewogICAgICAgICBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmUgICAgICAgID0gMCwKICAgICAgICAgUGxhdGZvcm1X
aGVlbEV2ZW50UGhhc2VCZWdhbiAgICAgICA9IDEgPDwgMCwKQEAgLTkwLDcgKzkwLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgLCBtX3doZWVsVGlja3NZKDApCiAgICAgICAg
ICAgICAsIG1fZ3JhbnVsYXJpdHkoU2Nyb2xsQnlQaXhlbFdoZWVsRXZlbnQpCiAgICAgICAgICAg
ICAsIG1fZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlKGZhbHNlKQotI2lmIFBMQVRGT1JNKE1B
QykgfHwgKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pKQorI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgICAgICAgICAsIG1faGFzUHJlY2lzZVNjcm9s
bGluZ0RlbHRhcyhmYWxzZSkKICAgICAgICAgICAgICwgbV9waGFzZShQbGF0Zm9ybVdoZWVsRXZl
bnRQaGFzZU5vbmUpCiAgICAgICAgICAgICAsIG1fbW9tZW50dW1QaGFzZShQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZU5vbmUpCkBAIC0xMTEsNyArMTExLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICAgICAgLCBtX3doZWVsVGlja3NZKHdoZWVsVGlja3NZKQogICAgICAgICAgICAgLCBt
X2dyYW51bGFyaXR5KGdyYW51bGFyaXR5KQogICAgICAgICAgICAgLCBtX2RpcmVjdGlvbkludmVy
dGVkRnJvbURldmljZShmYWxzZSkKLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShDSFJP
TUlVTSkgJiYgT1MoREFSV0lOKSkKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKENIUk9N
SVVNKQogICAgICAgICAgICAgLCBtX2hhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoZmFsc2UpCiAg
ICAgICAgICAgICAsIG1fcGhhc2UoUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKQogICAgICAg
ICAgICAgLCBtX21vbWVudHVtUGhhc2UoUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKQpAQCAt
MTU1LDcgKzE1NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUGxhdGZvcm1XaGVl
bEV2ZW50KGNvbnN0IEV2YXNfRXZlbnRfTW91c2VfV2hlZWwqKTsKICNlbmRpZgogCi0jaWYgUExB
VEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikpCisjaWYgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShDSFJPTUlVTSkKICAgICAgICAgUGxhdGZvcm1XaGVlbEV2
ZW50UGhhc2UgcGhhc2UoKSBjb25zdCB7IHJldHVybiBtX3BoYXNlOyB9CiAgICAgICAgIFBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlIG1vbWVudHVtUGhhc2UoKSBjb25zdCB7IHJldHVybiBtX21vbWVu
dHVtUGhhc2U7IH0KICAgICAgICAgYm9vbCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCkgY29u
c3QgeyByZXR1cm4gbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzOyB9CkBAIC0xODcsNyArMTg3
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBmbG9hdCBtX3doZWVsVGlja3NZOwog
ICAgICAgICBQbGF0Zm9ybVdoZWVsRXZlbnRHcmFudWxhcml0eSBtX2dyYW51bGFyaXR5OwogICAg
ICAgICBib29sIG1fZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlOwotI2lmIFBMQVRGT1JNKE1B
QykgfHwgKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pKQorI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgICAgIGJvb2wgbV9oYXNQcmVjaXNlU2Nyb2xs
aW5nRGVsdGFzOwogICAgICAgICBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBtX3BoYXNlOwogICAg
ICAgICBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBtX21vbWVudHVtUGhhc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKaW5kZXggMWNkNGZmMWU5Yjg0YTg4OTEz
ODRhNzVkN2NjYThjNGVhMjU0YWIyMC4uMTVjNDZhMTE2YzljODk3MDM3MzRhMGVhYTdlZjM1OGE5
ZWY4MmJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApA
QCAtOTEsNiArOTEsMTIgQEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudChj
b25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAKICAgICBib29sIGhhbmRsZWQgPSBmYWxzZTsK
IAorI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorICAgIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFy
aXR5ID0gZS5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKCkgPyBTY3JvbGxCeVByZWNpc2VQaXhl
bCA6IFNjcm9sbEJ5UGl4ZWw7CisjZWxzZQorICAgIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFy
aXR5ID0gU2Nyb2xsQnlQaXhlbDsKKyNlbmRpZgorCiAgICAgSW50U2l6ZSBtYXhGb3J3YXJkU2Ny
b2xsRGVsdGEgPSBtX3Njcm9sbGFibGVBcmVhLT5tYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSAtIG1f
c2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFBvc2l0aW9uKCk7CiAgICAgSW50U2l6ZSBtYXhCYWNrd2Fy
ZFNjcm9sbERlbHRhID0gbV9zY3JvbGxhYmxlQXJlYS0+c2Nyb2xsUG9zaXRpb24oKSAtIG1fc2Ny
b2xsYWJsZUFyZWEtPm1pbmltdW1TY3JvbGxQb3NpdGlvbigpOwogICAgIGlmICgoZGVsdGFYIDwg
MCAmJiBtYXhGb3J3YXJkU2Nyb2xsRGVsdGEud2lkdGgoKSA+IDApCkBAIC0xMTEsNyArMTE3LDcg
QEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmIGUpCiAgICAgICAgICAgICAgICAgaWYgKG5lZ2F0aXZlKQogICAgICAgICAgICAg
ICAgICAgICBkZWx0YVkgPSAtZGVsdGFZOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc2Ny
b2xsKFZlcnRpY2FsU2Nyb2xsYmFyLCBTY3JvbGxCeVBpeGVsLCB2ZXJ0aWNhbFNjcm9sbGJhci0+
cGl4ZWxTdGVwKCksIC1kZWx0YVkpOworICAgICAgICAgICAgc2Nyb2xsKFZlcnRpY2FsU2Nyb2xs
YmFyLCBncmFudWxhcml0eSwgdmVydGljYWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZ
KTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChkZWx0YVgpIHsKQEAgLTEyMSw3ICsxMjcsNyBA
QCBib29sIFNjcm9sbEFuaW1hdG9yOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYgZSkKICAgICAgICAgICAgICAgICBpZiAobmVnYXRpdmUpCiAgICAgICAgICAgICAg
ICAgICAgIGRlbHRhWCA9IC1kZWx0YVg7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzY3Jv
bGwoSG9yaXpvbnRhbFNjcm9sbGJhciwgU2Nyb2xsQnlQaXhlbCwgaG9yaXpvbnRhbFNjcm9sbGJh
ci0+cGl4ZWxTdGVwKCksIC1kZWx0YVgpOworICAgICAgICAgICAgc2Nyb2xsKEhvcml6b250YWxT
Y3JvbGxiYXIsIGdyYW51bGFyaXR5LCBob3Jpem9udGFsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwg
LWRlbHRhWCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGhhbmRsZWQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcAppbmRleCAyNzdkZDk0
MmRmODFlZTRlOGI1NDQzYmM5YTU4ZTJmNzIwMWFkZmZjLi5iNTMwOWU0ZmY3OTkwZWQ2YTQ3NmEy
ZjMyODFjMTNjNjc0NjVhZDY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxBbmltYXRvck5vbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yTm9uZS5jcHAKQEAgLTQxMyw2ICs0MTMsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9y
Tm9uZTo6ZmlyZVVwQW5BbmltYXRpb24oRmxvYXRQb2ludCBmcCkKIAogYm9vbCBTY3JvbGxBbmlt
YXRvck5vbmU6OnNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgU2Nyb2xs
R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGZsb2F0IHN0ZXAsIGZsb2F0IG11bHRpcGxpZXIpCiB7
CisKICAgICBpZiAoIW1fc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbEFuaW1hdG9yRW5hYmxlZCgpKQog
ICAgICAgICByZXR1cm4gU2Nyb2xsQW5pbWF0b3I6OnNjcm9sbChvcmllbnRhdGlvbiwgZ3JhbnVs
YXJpdHksIHN0ZXAsIG11bHRpcGxpZXIpOwogCkBAIC00MzQsMTMgKzQzNSwxMCBAQCBib29sIFNj
cm9sbEFuaW1hdG9yTm9uZTo6c2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9u
LCBTY3JvbGxHcmFudWxhcgogICAgICAgICBwYXJhbWV0ZXJzID0gUGFyYW1ldGVycyh0cnVlLCAx
NSAqIGtUaWNrVGltZSwgMTAgKiBrVGlja1RpbWUsIEN1YmljLCA1ICoga1RpY2tUaW1lLCBDdWJp
YywgNSAqIGtUaWNrVGltZSwgTGluZWFyLCAxKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBT
Y3JvbGxCeVBpeGVsOgotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgICAgICAvLyBGSVhNRTog
cGx1bWIgYSBmbGFnIHNwZWNpZnlpbmcgcHJlY2lzZSBkZWx0YXMuCi0gICAgICAgIHJldHVybiBT
Y3JvbGxBbmltYXRvcjo6c2Nyb2xsKG9yaWVudGF0aW9uLCBncmFudWxhcml0eSwgc3RlcCwgbXVs
dGlwbGllcik7Ci0jZWxzZQogICAgICAgICBwYXJhbWV0ZXJzID0gUGFyYW1ldGVycyh0cnVlLCAx
MSAqIGtUaWNrVGltZSwgMiAqIGtUaWNrVGltZSwgQ3ViaWMsIDMgKiBrVGlja1RpbWUsIEN1Ymlj
LCAzICoga1RpY2tUaW1lLCBRdWFkcmF0aWMsIDEuMjUpOwogICAgICAgICBicmVhazsKLSNlbmRp
ZgorICAgIGNhc2UgU2Nyb2xsQnlQcmVjaXNlUGl4ZWw6CisgICAgICAgIHJldHVybiBTY3JvbGxB
bmltYXRvcjo6c2Nyb2xsKG9yaWVudGF0aW9uLCBncmFudWxhcml0eSwgc3RlcCwgbXVsdGlwbGll
cik7CiAgICAgY2FzZSBTY3JvbGxCeVBpeGVsVmVsb2NpdHk6CiAgICAgICAgIC8vIEZJWE1FOiBH
ZW5lcmFsaXplIHRoZSBzY3JvbGwgaW50ZXJmYWNlIHRvIHN1cHBvcnQgYSByaWNoZXIgc2V0IG9m
IHBhcmFtZXRlcnMuCiAgICAgICAgIGlmIChtX2ZpcnN0VmVsb2NpdHlTZXQpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDA4N2I1MGQxZTBjZTFmMzZiNmYwOWY3OTBk
MTU1MDU5ODMwMzQ4YzQuLmVlMTE5ZmJjYWExNmQyNjA1ZDk5NGY0YjI4NmY2YWFmY2JiYWVjNGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtMTA2LDcgKzEwNiw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgU2Nyb2xsQnlQYWdlLAogICAgICAgICBTY3Jv
bGxCeURvY3VtZW50LAogICAgICAgICBTY3JvbGxCeVBpeGVsLAotICAgICAgICBTY3JvbGxCeVBp
eGVsVmVsb2NpdHkKKyAgICAgICAgU2Nyb2xsQnlQaXhlbFZlbG9jaXR5LAorICAgICAgICBTY3Jv
bGxCeVByZWNpc2VQaXhlbAogICAgIH07CiAKICAgICBlbnVtIFNjcm9sbEVsYXN0aWNpdHkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IGZlZDM3Y2Y5
ZmUwNjI0YTc4YTdkODkzN2JhZjQyZmM2M2FhMTEyZjEuLjM1MDZlNTU5MjdhOWQ4MGI4ZDQwMDRl
OGJiODI0MmFkZmQ3NGU1NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5jcHAKQEAgLTEwOCw2ICsxMDgsNyBAQCBib29sIFNjcm9sbGFibGVBcmVhOjpzY3JvbGwo
U2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYQogICAg
ICAgICBzdGVwID0gc2Nyb2xsYmFyLT50b3RhbFNpemUoKTsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBTY3JvbGxCeVBpeGVsOgorICAgIGNhc2UgU2Nyb2xsQnlQcmVjaXNlUGl4ZWw6CiAgICAg
ICAgIHN0ZXAgPSBzY3JvbGxiYXItPnBpeGVsU3RlcCgpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFNjcm9sbEJ5UGl4ZWxWZWxvY2l0eToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcAppbmRleCBhNDVjYWUxMDI2NDNi
ZGM1Zjc1ODExYjRkMmNlYWJjNzE0NmI5ZGRjLi40ODQzNmEwN2I5ODUzNTU0M2I4OTcxYTgwNGE1
ZDg4M2Q0Y2YyZmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJ
bnB1dEV2ZW50Q29udmVyc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3BwCkBAIC0xMjMsNyArMTIzLDYgQEAgUGxhdGZvcm1X
aGVlbEV2ZW50QnVpbGRlcjo6UGxhdGZvcm1XaGVlbEV2ZW50QnVpbGRlcihXaWRnZXQqIHdpZGdl
dCwgY29uc3QgV2ViTW8KICAgICBpZiAoZS5tb2RpZmllcnMgJiBXZWJJbnB1dEV2ZW50OjpNZXRh
S2V5KQogICAgICAgICBtX21vZGlmaWVycyB8PSBQbGF0Zm9ybUV2ZW50OjpNZXRhS2V5OwogCi0j
aWYgT1MoREFSV0lOKQogICAgIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcyA9IGUuaGFzUHJl
Y2lzZVNjcm9sbGluZ0RlbHRhczsKICAgICBtX3BoYXNlID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6
UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U+KGUucGhhc2UpOwogICAgIG1fbW9tZW50dW1QaGFzZSA9
IHN0YXRpY19jYXN0PFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudFBoYXNlPihlLm1vbWVudHVt
UGhhc2UpOwpAQCAtMTMxLDcgKzEzMCw2IEBAIFBsYXRmb3JtV2hlZWxFdmVudEJ1aWxkZXI6OlBs
YXRmb3JtV2hlZWxFdmVudEJ1aWxkZXIoV2lkZ2V0KiB3aWRnZXQsIGNvbnN0IFdlYk1vCiAgICAg
bV9zY3JvbGxDb3VudCA9IDA7CiAgICAgbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFYID0g
ZS5kZWx0YVg7CiAgICAgbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFZID0gZS5kZWx0YVk7
Ci0jZW5kaWYKIH0KIAogLy8gUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Njcm9sbEFuaW1hdG9yTm9uZVRlc3QuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxBbmltYXRvck5vbmVUZXN0LmNwcAppbmRl
eCAwODI3MjY3ZWQwNGVhMjA3Y2FiZjNhMDA1OTg5MTI0NWRiZWFmMWVlLi42YzZjMzU5YTk4N2Mw
Zjg1ZTRiZjgzZDg3NjMxNzRjNTM1MmM2MGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL1Njcm9sbEFuaW1hdG9yTm9uZVRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsQW5pbWF0b3JOb25lVGVzdC5jcHAKQEAgLTExMCw3ICsx
MTAsNyBAQCBURVNUKFNjcm9sbEFuaW1hdG9yRW5hYmxlZCwgRW5hYmxlZCkKICAgICBNb2NrU2Ny
b2xsQW5pbWF0b3JOb25lIHNjcm9sbEFuaW1hdG9yTm9uZSgmc2Nyb2xsYWJsZUFyZWEpOwogCiAg
ICAgRVhQRUNUX0NBTEwoc2Nyb2xsYWJsZUFyZWEsIHNjcm9sbFNpemUoXykpLlRpbWVzKEF0TGVh
c3QoMSkpLldpbGxSZXBlYXRlZGx5KFJldHVybigxMDAwKSk7Ci0gICAgRVhQRUNUX0NBTEwoc2Ny
b2xsYWJsZUFyZWEsIHNldFNjcm9sbE9mZnNldChfKSkuVGltZXMoMyk7CisgICAgRVhQRUNUX0NB
TEwoc2Nyb2xsYWJsZUFyZWEsIHNldFNjcm9sbE9mZnNldChfKSkuVGltZXMoNCk7CiAKICAgICBz
Y3JvbGxBbmltYXRvck5vbmUuc2Nyb2xsKEhvcml6b250YWxTY3JvbGxiYXIsIFNjcm9sbEJ5TGlu
ZSwgMTAwLCAxKTsKICAgICBFWFBFQ1RfTkUoMTAwLCBzY3JvbGxBbmltYXRvck5vbmUuY3VycmVu
dFgoKSk7CkBAIC0xMjUsNiArMTI1LDEyIEBAIFRFU1QoU2Nyb2xsQW5pbWF0b3JFbmFibGVkLCBF
bmFibGVkKQogICAgIHNjcm9sbEFuaW1hdG9yTm9uZS5yZXNldCgpOwogCiAgICAgc2Nyb2xsQW5p
bWF0b3JOb25lLnNjcm9sbChIb3Jpem9udGFsU2Nyb2xsYmFyLCBTY3JvbGxCeVBpeGVsLCA0LCAy
NSk7CisgICAgRVhQRUNUX05FKDEwMCwgc2Nyb2xsQW5pbWF0b3JOb25lLmN1cnJlbnRYKCkpOwor
ICAgIEVYUEVDVF9ORSgwLCBzY3JvbGxBbmltYXRvck5vbmUuY3VycmVudFgoKSk7CisgICAgRVhQ
RUNUX0VRKDAsIHNjcm9sbEFuaW1hdG9yTm9uZS5jdXJyZW50WSgpKTsKKyAgICBzY3JvbGxBbmlt
YXRvck5vbmUucmVzZXQoKTsKKworICAgIHNjcm9sbEFuaW1hdG9yTm9uZS5zY3JvbGwoSG9yaXpv
bnRhbFNjcm9sbGJhciwgU2Nyb2xsQnlQcmVjaXNlUGl4ZWwsIDQsIDI1KTsKICAgICBFWFBFQ1Rf
RVEoMTAwLCBzY3JvbGxBbmltYXRvck5vbmUuY3VycmVudFgoKSk7CiAgICAgRVhQRUNUX05FKDAs
IHNjcm9sbEFuaW1hdG9yTm9uZS5jdXJyZW50WCgpKTsKICAgICBFWFBFQ1RfRVEoMCwgc2Nyb2xs
QW5pbWF0b3JOb25lLmN1cnJlbnRZKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144823</attachid>
            <date>2012-05-30 08:19:05 -0700</date>
            <delta_ts>2012-06-06 15:54:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87535-20120530111904.patch</filename>
            <type>text/plain</type>
            <size>12337</size>
            <attacher name="Robert Kroeger">rjkroege</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4Mzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2VmNzk5MTZkNTQwZmY2
ZjZkMzFiNDNjNTc5NTQ0MWViOTAzZjFmMS4uMTlhZjVkZGYwMTc3NjczNmI5ZTJmNTA1M2JmNjQy
MWY5YzFjYzRhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA1LTI5ICBSb2Jl
cnQgS3JvZWdlciAgPHJqa3JvZWdlQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1d
IFJlLWVuYWJsZSBoYW5kbGluZyBvZiBzbW9vdGggc2Nyb2xsaW5nIG9uIENocm9taXVtIExpbnV4
L1dpbmRvd3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg3NTM1IGJ5IGFkZGluZyBzdXBwb3J0IGZvcgorICAgICAgICBtX2hhc1ByZWNpc2VTY3JvbGxp
bmdEZWx0YSBvbiBhbGwgQ2hyb21pdW0gcGxhdGZvcm1zIGFuZCBhZGp1c3RpbmcgU2Nyb2xsQW5p
bWF0b3IKKyAgICAgICAgYW5kIFNjcm9sbEFuaW1hdG9yTm9uZSBhY2NvcmRpbmdseSB0byBsZXQg
bV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGEgPT0gdHJ1ZQorICAgICAgICBmb3JjZSBleGFjdCAo
bm9uLWFuaW1hdGVkKSBzY3JvbGxpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVXBkYXRlZCBXZWJLaXQgdW5pdCB0ZXN0cyB0byB2YWxpZGF0ZSBj
aGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KTogQWRq
dXN0ZWQgI2lmZGVmcyB0bworICAgICAgICBtYWtlIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRh
IGF2YWlsYWJsZSBvbiBhbGwgQ2hyb21pdW0gcGxhdGZvcm1zLgorICAgICAgICAoUGxhdGZvcm1X
aGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudCk6IERlZmF1bHQg
c2Nyb2xsIHR5cGUgaXMgc2V0IGJhc2VkIG9uIAorICAgICAgICBtX2hhc1ByZWNpc2VTY3JvbGxp
bmdEZWx0YSB2YWx1ZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjpzY3JvbGwpOiBTY3JvbGwg
cHJlY2lzZWx5IHdoZW4gbmVjZXNzYXJ5LgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVz
Lmg6IEFkZGVkIGFkZGl0aW9uYWwgcGl4ZWwgc2Nyb2xsaW5nIHN1YnR5cGUuCisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJs
ZUFyZWE6OnNjcm9sbCk6IFVwZGF0ZWQgZm9yIGFkZGl0aW9uYWwgcGl4ZWwgc2Nyb2xsIHN1YnR5
cGUuCisKIDIwMTItMDUtMjQgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgW2Nocm9taXVtXSBPbmx5IGRpc3BsYXkgZnJhbWVzIGNyZWF0ZWQgd2l0aCBtZW1v
cnkgYWxsb2NhdGlvbnMgbWVhbnQgdG8gYmUgZGlzcGxheWVkCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IDdmNzljODUwMWZmYTBiNDMwOGY1N2FkZmU2MzhkOWE1NjdkY2UzYjAuLmI0ZmUx
ZGNkYjZhMDBkMDkyNzI2Mjk2M2RkODdmOGM4OGQyYjg2NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUtMjkgIFJvYmVydCBLcm9lZ2VyICA8cmpr
cm9lZ2VAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gUmUtZW5hYmxlIGhhbmRs
aW5nIG9mIHNtb290aCBzY3JvbGxpbmcgb24gQ2hyb21pdW0gTGludXgvV2luZG93cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc1MzUgYnkgYWRkaW5n
IHN1cHBvcnQgZm9yIHByZWNpc2UKKyAgICAgICAgc2Nyb2xsaW5nIGRlbHRhcyBvbiBhbGwgQ2hy
b21pdW0gcGxhdGZvcm1zLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6UGxhdGZvcm1XaGVlbEV2ZW50QnVpbGRlcjo6UGxhdGZvcm1XaGVlbEV2ZW50QnVpbGRl
cik6IENyZWF0ZSBQbGF0Zm9ybVdoZWVsRXZlbnRzCisgICAgICAgIHdpdGggbV9oYXNQcmVjaXNl
U2Nyb2xsaW5nRGVsdGEgZmxhZyBhcyByZXF1aXJlZC4KKyAgICAgICAgKiB0ZXN0cy9TY3JvbGxB
bmltYXRvck5vbmVUZXN0LmNwcDogQWRkZWQgbmV3IHVuaXQgdGVzdCBjb25kaWl0b24gZm9yIHBy
ZWNpc2Ugc2Nyb2xsaW5nLgorICAgICAgICAoVEVTVCk6CisKIDIwMTItMDUtMjQgIE1hcmsgUGls
Z3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gTW92ZSBx
dWVyeUxvY2FsaXplZFN0cmluZyB0byBQbGF0Zm9ybS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCmluZGV4IDI3OWUxY2YyMzU3YzNmYTVmYzc5MDVlNTNj
OTA1ZTllY2I4YjI5MmEuLjlhYWNjZjk5NTk3ZWM2Mzc5YjE2NDhjMWE1ZWUwOTU1YzFlODIzN2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCkBAIC05
MCw4ICs5MCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAsIG1fd2hlZWxU
aWNrc1koMCkKICAgICAgICAgICAgICwgbV9ncmFudWxhcml0eShTY3JvbGxCeVBpeGVsV2hlZWxF
dmVudCkKICAgICAgICAgICAgICwgbV9kaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UoZmFsc2Up
Ci0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikp
CisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShDSFJPTUlVTSkKICAgICAgICAgICAgICwg
bV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKGZhbHNlKQorI2VuZGlmCisjaWYgUExBVEZPUk0o
TUFDKSB8fCAoUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikpCiAgICAgICAgICAgICAs
IG1fcGhhc2UoUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKQogICAgICAgICAgICAgLCBtX21v
bWVudHVtUGhhc2UoUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKQogICAgICAgICAgICAgLCBt
X3Njcm9sbENvdW50KDApCkBAIC0xMTEsOSArMTEzLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgICAgICwgbV93aGVlbFRpY2tzWSh3aGVlbFRpY2tzWSkKICAgICAgICAgICAgICwg
bV9ncmFudWxhcml0eShncmFudWxhcml0eSkKICAgICAgICAgICAgICwgbV9kaXJlY3Rpb25JbnZl
cnRlZEZyb21EZXZpY2UoZmFsc2UpCi0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oQ0hS
T01JVU0pICYmIE9TKERBUldJTikpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShDSFJP
TUlVTSkKICAgICAgICAgICAgICwgbV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKGZhbHNlKQot
ICAgICAgICAgICAgLCBtX3BoYXNlKFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZSkKKyNlbmRp
ZgorI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4p
KQorICAgICAgICAgICAsIG1fcGhhc2UoUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKQogICAg
ICAgICAgICAgLCBtX21vbWVudHVtUGhhc2UoUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKQog
ICAgICAgICAgICAgLCBtX3Njcm9sbENvdW50KDApCiAgICAgICAgICAgICAsIG1fdW5hY2NlbGVy
YXRlZFNjcm9sbGluZ0RlbHRhWCgwKQpAQCAtMTU1LDExICsxNTksMTIgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBQbGF0Zm9ybVdoZWVsRXZlbnQoY29uc3QgRXZhc19FdmVudF9Nb3Vz
ZV9XaGVlbCopOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKENIUk9N
SVVNKQorICAgICAgIGJvb2wgaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcygpIGNvbnN0IHsgcmV0
dXJuIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhczsgfQorI2VuZGlmCiAjaWYgUExBVEZPUk0o
TUFDKSB8fCAoUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikpCi0gICAgICAgIFBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlIHBoYXNlKCkgY29uc3QgeyByZXR1cm4gbV9waGFzZTsgfQotICAg
ICAgICBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBtb21lbnR1bVBoYXNlKCkgY29uc3QgeyByZXR1
cm4gbV9tb21lbnR1bVBoYXNlOyB9Ci0gICAgICAgIGJvb2wgaGFzUHJlY2lzZVNjcm9sbGluZ0Rl
bHRhcygpIGNvbnN0IHsgcmV0dXJuIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhczsgfQotCisg
ICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgcGhhc2UoKSBjb25zdCB7IHJldHVybiBtX3Bo
YXNlOyB9CisgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgbW9tZW50dW1QaGFzZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbW9tZW50dW1QaGFzZTsgfQogICAgICAgICB1bnNpZ25lZCBzY3JvbGxD
b3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsQ291bnQ7IH0KICAgICAgICAgZmxvYXQgdW5h
Y2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWCgpIGNvbnN0IHsgcmV0dXJuIG1fdW5hY2NlbGVyYXRl
ZFNjcm9sbGluZ0RlbHRhWDsgfQogICAgICAgICBmbG9hdCB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5n
RGVsdGFZKCkgY29uc3QgeyByZXR1cm4gbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFZOyB9
CkBAIC0xODcsOSArMTkyLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgZmxvYXQg
bV93aGVlbFRpY2tzWTsKICAgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50R3JhbnVsYXJpdHkgbV9n
cmFudWxhcml0eTsKICAgICAgICAgYm9vbCBtX2RpcmVjdGlvbkludmVydGVkRnJvbURldmljZTsK
LSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFSV0lOKSkK
KyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKENIUk9NSVVNKQogICAgICAgICBib29sIG1f
aGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhczsKLSAgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2UgbV9waGFzZTsKKyNlbmRpZgorI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKENIUk9N
SVVNKSAmJiBPUyhEQVJXSU4pKQorICAgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgbV9w
aGFzZTsKICAgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgbV9tb21lbnR1bVBoYXNlOwog
ICAgICAgICB1bnNpZ25lZCBtX3Njcm9sbENvdW50OwogICAgICAgICBmbG9hdCBtX3VuYWNjZWxl
cmF0ZWRTY3JvbGxpbmdEZWx0YVg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRvci5jcHAKaW5kZXggMWNkNGZmMWU5Yjg0YTg4OTEzODRhNzVkN2NjYThjNGVhMjU0YWIyMC4u
MTVjNDZhMTE2YzljODk3MDM3MzRhMGVhYTdlZjM1OGE5ZWY4MmJhMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApAQCAtOTEsNiArOTEsMTIgQEAgYm9vbCBT
Y3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQm
IGUpCiAKICAgICBib29sIGhhbmRsZWQgPSBmYWxzZTsKIAorI2lmIFBMQVRGT1JNKENIUk9NSVVN
KQorICAgIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5ID0gZS5oYXNQcmVjaXNlU2Nyb2xs
aW5nRGVsdGFzKCkgPyBTY3JvbGxCeVByZWNpc2VQaXhlbCA6IFNjcm9sbEJ5UGl4ZWw7CisjZWxz
ZQorICAgIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlQaXhlbDsKKyNl
bmRpZgorCiAgICAgSW50U2l6ZSBtYXhGb3J3YXJkU2Nyb2xsRGVsdGEgPSBtX3Njcm9sbGFibGVB
cmVhLT5tYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSAtIG1fc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFBv
c2l0aW9uKCk7CiAgICAgSW50U2l6ZSBtYXhCYWNrd2FyZFNjcm9sbERlbHRhID0gbV9zY3JvbGxh
YmxlQXJlYS0+c2Nyb2xsUG9zaXRpb24oKSAtIG1fc2Nyb2xsYWJsZUFyZWEtPm1pbmltdW1TY3Jv
bGxQb3NpdGlvbigpOwogICAgIGlmICgoZGVsdGFYIDwgMCAmJiBtYXhGb3J3YXJkU2Nyb2xsRGVs
dGEud2lkdGgoKSA+IDApCkBAIC0xMTEsNyArMTE3LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6
aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAgICAgICAgICAg
ICAgICAgaWYgKG5lZ2F0aXZlKQogICAgICAgICAgICAgICAgICAgICBkZWx0YVkgPSAtZGVsdGFZ
OwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc2Nyb2xsKFZlcnRpY2FsU2Nyb2xsYmFyLCBT
Y3JvbGxCeVBpeGVsLCB2ZXJ0aWNhbFNjcm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVkpOwor
ICAgICAgICAgICAgc2Nyb2xsKFZlcnRpY2FsU2Nyb2xsYmFyLCBncmFudWxhcml0eSwgdmVydGlj
YWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZKTsKICAgICAgICAgfQogCiAgICAgICAg
IGlmIChkZWx0YVgpIHsKQEAgLTEyMSw3ICsxMjcsNyBAQCBib29sIFNjcm9sbEFuaW1hdG9yOjpo
YW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZSkKICAgICAgICAgICAg
ICAgICBpZiAobmVnYXRpdmUpCiAgICAgICAgICAgICAgICAgICAgIGRlbHRhWCA9IC1kZWx0YVg7
CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzY3JvbGwoSG9yaXpvbnRhbFNjcm9sbGJhciwg
U2Nyb2xsQnlQaXhlbCwgaG9yaXpvbnRhbFNjcm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVgp
OworICAgICAgICAgICAgc2Nyb2xsKEhvcml6b250YWxTY3JvbGxiYXIsIGdyYW51bGFyaXR5LCBo
b3Jpem9udGFsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwgLWRlbHRhWCk7CiAgICAgICAgIH0KICAg
ICB9CiAgICAgcmV0dXJuIGhhbmRsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0b3JOb25lLmNwcAppbmRleCAyNzdkZDk0MmRmODFlZTRlOGI1NDQzYmM5YTU4ZTJm
NzIwMWFkZmZjLi5iNTMwOWU0ZmY3OTkwZWQ2YTQ3NmEyZjMyODFjMTNjNjc0NjVhZDY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAKQEAgLTQx
Myw2ICs0MTMsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6ZmlyZVVwQW5BbmltYXRpb24o
RmxvYXRQb2ludCBmcCkKIAogYm9vbCBTY3JvbGxBbmltYXRvck5vbmU6OnNjcm9sbChTY3JvbGxi
YXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHks
IGZsb2F0IHN0ZXAsIGZsb2F0IG11bHRpcGxpZXIpCiB7CisKICAgICBpZiAoIW1fc2Nyb2xsYWJs
ZUFyZWEtPnNjcm9sbEFuaW1hdG9yRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gU2Nyb2xsQW5p
bWF0b3I6OnNjcm9sbChvcmllbnRhdGlvbiwgZ3JhbnVsYXJpdHksIHN0ZXAsIG11bHRpcGxpZXIp
OwogCkBAIC00MzQsMTMgKzQzNSwxMCBAQCBib29sIFNjcm9sbEFuaW1hdG9yTm9uZTo6c2Nyb2xs
KFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcgogICAgICAg
ICBwYXJhbWV0ZXJzID0gUGFyYW1ldGVycyh0cnVlLCAxNSAqIGtUaWNrVGltZSwgMTAgKiBrVGlj
a1RpbWUsIEN1YmljLCA1ICoga1RpY2tUaW1lLCBDdWJpYywgNSAqIGtUaWNrVGltZSwgTGluZWFy
LCAxKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTY3JvbGxCeVBpeGVsOgotI2lmIFBMQVRG
T1JNKENIUk9NSVVNKQotICAgICAgICAvLyBGSVhNRTogcGx1bWIgYSBmbGFnIHNwZWNpZnlpbmcg
cHJlY2lzZSBkZWx0YXMuCi0gICAgICAgIHJldHVybiBTY3JvbGxBbmltYXRvcjo6c2Nyb2xsKG9y
aWVudGF0aW9uLCBncmFudWxhcml0eSwgc3RlcCwgbXVsdGlwbGllcik7Ci0jZWxzZQogICAgICAg
ICBwYXJhbWV0ZXJzID0gUGFyYW1ldGVycyh0cnVlLCAxMSAqIGtUaWNrVGltZSwgMiAqIGtUaWNr
VGltZSwgQ3ViaWMsIDMgKiBrVGlja1RpbWUsIEN1YmljLCAzICoga1RpY2tUaW1lLCBRdWFkcmF0
aWMsIDEuMjUpOwogICAgICAgICBicmVhazsKLSNlbmRpZgorICAgIGNhc2UgU2Nyb2xsQnlQcmVj
aXNlUGl4ZWw6CisgICAgICAgIHJldHVybiBTY3JvbGxBbmltYXRvcjo6c2Nyb2xsKG9yaWVudGF0
aW9uLCBncmFudWxhcml0eSwgc3RlcCwgbXVsdGlwbGllcik7CiAgICAgY2FzZSBTY3JvbGxCeVBp
eGVsVmVsb2NpdHk6CiAgICAgICAgIC8vIEZJWE1FOiBHZW5lcmFsaXplIHRoZSBzY3JvbGwgaW50
ZXJmYWNlIHRvIHN1cHBvcnQgYSByaWNoZXIgc2V0IG9mIHBhcmFtZXRlcnMuCiAgICAgICAgIGlm
IChtX2ZpcnN0VmVsb2NpdHlTZXQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5o
CmluZGV4IDA4N2I1MGQxZTBjZTFmMzZiNmYwOWY3OTBkMTU1MDU5ODMwMzQ4YzQuLmVlMTE5ZmJj
YWExNmQyNjA1ZDk5NGY0YjI4NmY2YWFmY2JiYWVjNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVHlwZXMuaApAQCAtMTA2LDcgKzEwNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgU2Nyb2xsQnlQYWdlLAogICAgICAgICBTY3JvbGxCeURvY3VtZW50LAogICAgICAgICBT
Y3JvbGxCeVBpeGVsLAotICAgICAgICBTY3JvbGxCeVBpeGVsVmVsb2NpdHkKKyAgICAgICAgU2Ny
b2xsQnlQaXhlbFZlbG9jaXR5LAorICAgICAgICBTY3JvbGxCeVByZWNpc2VQaXhlbAogICAgIH07
CiAKICAgICBlbnVtIFNjcm9sbEVsYXN0aWNpdHkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IGZlZDM3Y2Y5ZmUwNjI0YTc4YTdkODkzN2JhZjQyZmM2
M2FhMTEyZjEuLjM1MDZlNTU5MjdhOWQ4MGI4ZDQwMDRlOGJiODI0MmFkZmQ3NGU1NmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTEwOCw2ICsxMDgs
NyBAQCBib29sIFNjcm9sbGFibGVBcmVhOjpzY3JvbGwoU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlv
biwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYQogICAgICAgICBzdGVwID0gc2Nyb2xsYmFyLT50
b3RhbFNpemUoKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTY3JvbGxCeVBpeGVsOgorICAg
IGNhc2UgU2Nyb2xsQnlQcmVjaXNlUGl4ZWw6CiAgICAgICAgIHN0ZXAgPSBzY3JvbGxiYXItPnBp
eGVsU3RlcCgpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNjcm9sbEJ5UGl4ZWxWZWxvY2l0
eToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRD
b252ZXJzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRD
b252ZXJzaW9uLmNwcAppbmRleCBhNDVjYWUxMDI2NDNiZGM1Zjc1ODExYjRkMmNlYWJjNzE0NmI5
ZGRjLi45YjYwMjM1ZjM1ZjYzMzliYjgyMTA2YjQ5M2E0OWZkZDI4ZGFlNjM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24u
Y3BwCkBAIC0xMjMsOCArMTIzLDggQEAgUGxhdGZvcm1XaGVlbEV2ZW50QnVpbGRlcjo6UGxhdGZv
cm1XaGVlbEV2ZW50QnVpbGRlcihXaWRnZXQqIHdpZGdldCwgY29uc3QgV2ViTW8KICAgICBpZiAo
ZS5tb2RpZmllcnMgJiBXZWJJbnB1dEV2ZW50OjpNZXRhS2V5KQogICAgICAgICBtX21vZGlmaWVy
cyB8PSBQbGF0Zm9ybUV2ZW50OjpNZXRhS2V5OwogCi0jaWYgT1MoREFSV0lOKQogICAgIG1faGFz
UHJlY2lzZVNjcm9sbGluZ0RlbHRhcyA9IGUuaGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhczsKKyNp
ZiBPUyhEQVJXSU4pCiAgICAgbV9waGFzZSA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OlBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlPihlLnBoYXNlKTsKICAgICBtX21vbWVudHVtUGhhc2UgPSBzdGF0aWNf
Y2FzdDxXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZT4oZS5tb21lbnR1bVBoYXNlKTsK
ICAgICBtX3RpbWVzdGFtcCA9IGUudGltZVN0YW1wU2Vjb25kczsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsQW5pbWF0b3JOb25lVGVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Njcm9sbEFuaW1hdG9yTm9uZVRlc3QuY3BwCmluZGV4
IDA4MjcyNjdlZDA0ZWEyMDdjYWJmM2EwMDU5ODkxMjQ1ZGJlYWYxZWUuLjZjNmMzNTlhOTg3YzBm
ODVlNGJmODNkODc2MzE3NGM1MzUyYzYwYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvU2Nyb2xsQW5pbWF0b3JOb25lVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxBbmltYXRvck5vbmVUZXN0LmNwcApAQCAtMTEwLDcgKzEx
MCw3IEBAIFRFU1QoU2Nyb2xsQW5pbWF0b3JFbmFibGVkLCBFbmFibGVkKQogICAgIE1vY2tTY3Jv
bGxBbmltYXRvck5vbmUgc2Nyb2xsQW5pbWF0b3JOb25lKCZzY3JvbGxhYmxlQXJlYSk7CiAKICAg
ICBFWFBFQ1RfQ0FMTChzY3JvbGxhYmxlQXJlYSwgc2Nyb2xsU2l6ZShfKSkuVGltZXMoQXRMZWFz
dCgxKSkuV2lsbFJlcGVhdGVkbHkoUmV0dXJuKDEwMDApKTsKLSAgICBFWFBFQ1RfQ0FMTChzY3Jv
bGxhYmxlQXJlYSwgc2V0U2Nyb2xsT2Zmc2V0KF8pKS5UaW1lcygzKTsKKyAgICBFWFBFQ1RfQ0FM
TChzY3JvbGxhYmxlQXJlYSwgc2V0U2Nyb2xsT2Zmc2V0KF8pKS5UaW1lcyg0KTsKIAogICAgIHNj
cm9sbEFuaW1hdG9yTm9uZS5zY3JvbGwoSG9yaXpvbnRhbFNjcm9sbGJhciwgU2Nyb2xsQnlMaW5l
LCAxMDAsIDEpOwogICAgIEVYUEVDVF9ORSgxMDAsIHNjcm9sbEFuaW1hdG9yTm9uZS5jdXJyZW50
WCgpKTsKQEAgLTEyNSw2ICsxMjUsMTIgQEAgVEVTVChTY3JvbGxBbmltYXRvckVuYWJsZWQsIEVu
YWJsZWQpCiAgICAgc2Nyb2xsQW5pbWF0b3JOb25lLnJlc2V0KCk7CiAKICAgICBzY3JvbGxBbmlt
YXRvck5vbmUuc2Nyb2xsKEhvcml6b250YWxTY3JvbGxiYXIsIFNjcm9sbEJ5UGl4ZWwsIDQsIDI1
KTsKKyAgICBFWFBFQ1RfTkUoMTAwLCBzY3JvbGxBbmltYXRvck5vbmUuY3VycmVudFgoKSk7Cisg
ICAgRVhQRUNUX05FKDAsIHNjcm9sbEFuaW1hdG9yTm9uZS5jdXJyZW50WCgpKTsKKyAgICBFWFBF
Q1RfRVEoMCwgc2Nyb2xsQW5pbWF0b3JOb25lLmN1cnJlbnRZKCkpOworICAgIHNjcm9sbEFuaW1h
dG9yTm9uZS5yZXNldCgpOworCisgICAgc2Nyb2xsQW5pbWF0b3JOb25lLnNjcm9sbChIb3Jpem9u
dGFsU2Nyb2xsYmFyLCBTY3JvbGxCeVByZWNpc2VQaXhlbCwgNCwgMjUpOwogICAgIEVYUEVDVF9F
USgxMDAsIHNjcm9sbEFuaW1hdG9yTm9uZS5jdXJyZW50WCgpKTsKICAgICBFWFBFQ1RfTkUoMCwg
c2Nyb2xsQW5pbWF0b3JOb25lLmN1cnJlbnRYKCkpOwogICAgIEVYUEVDVF9FUSgwLCBzY3JvbGxB
bmltYXRvck5vbmUuY3VycmVudFkoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146135</attachid>
            <date>2012-06-06 15:54:25 -0700</date>
            <delta_ts>2012-06-06 22:56:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87535-20120606185424.patch</filename>
            <type>text/plain</type>
            <size>11871</size>
            <attacher name="Robert Kroeger">rjkroege</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWExZDg4NTU0NTQyNjc4
ZDZhYzA4M2I2M2ZmM2M3NTFkOTBlMjNhZS4uNDg1N2EzMWIwZDk3NjI0ODYwN2UzZDBlMWEwY2Ux
OGFiNDIxNWI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA1LTI5ICBSb2Jl
cnQgS3JvZWdlciAgPHJqa3JvZWdlQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1d
IFJlLWVuYWJsZSBoYW5kbGluZyBvZiBzbW9vdGggc2Nyb2xsaW5nIG9uIENocm9taXVtIExpbnV4
L1dpbmRvd3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg3NTM1IGJ5IGFkZGluZyBzdXBwb3J0IGZvcgorICAgICAgICBtX2hhc1ByZWNpc2VTY3JvbGxp
bmdEZWx0YSBvbiBhbGwgQ2hyb21pdW0gcGxhdGZvcm1zIGFuZCBhZGp1c3RpbmcgU2Nyb2xsQW5p
bWF0b3IKKyAgICAgICAgYW5kIFNjcm9sbEFuaW1hdG9yTm9uZSBhY2NvcmRpbmdseSB0byBsZXQg
bV9oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGEgPT0gdHJ1ZQorICAgICAgICBmb3JjZSBleGFjdCAo
bm9uLWFuaW1hdGVkKSBzY3JvbGxpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9i
aW5zb24uCisKKyAgICAgICAgVXBkYXRlZCBXZWJLaXQgdW5pdCB0ZXN0cyB0byB2YWxpZGF0ZSBj
aGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KTogQWRq
dXN0ZWQgI2lmZGVmcyB0bworICAgICAgICBtYWtlIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRh
IGF2YWlsYWJsZSBvbiBhbGwgQ2hyb21pdW0gcGxhdGZvcm1zLgorICAgICAgICAoUGxhdGZvcm1X
aGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudCk6IERlZmF1bHQg
c2Nyb2xsIHR5cGUgaXMgc2V0IGJhc2VkIG9uIAorICAgICAgICBtX2hhc1ByZWNpc2VTY3JvbGxp
bmdEZWx0YSB2YWx1ZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjpzY3JvbGwpOiBTY3JvbGwg
cHJlY2lzZWx5IHdoZW4gbmVjZXNzYXJ5LgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVz
Lmg6IEFkZGVkIGFkZGl0aW9uYWwgcGl4ZWwgc2Nyb2xsaW5nIHN1YnR5cGUuCisgICAgICAgICog
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJs
ZUFyZWE6OnNjcm9sbCk6IFVwZGF0ZWQgZm9yIGFkZGl0aW9uYWwgcGl4ZWwgc2Nyb2xsIHN1YnR5
cGUuCisKIDIwMTItMDYtMDYgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNv
bT4KIAogICAgICAgICBXb3JrZXIgdGVhci1kb3duIGNhbiByZS1lbnRlciBKU0MgZHVyaW5nIEdD
IGZpbmFsaXphdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAxODRkZTA2ZTBjMzUy
ZmY4ZDkxMjI4N2E3NGM3YmVjNjZkYzY5ZmQ1Li41ODk3MTc2NTZmYjY3MGY0YzRjN2RkM2EyYmVh
ZjRmZGU0NDhhZGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDEyLTA1LTI5ICBSb2JlcnQgS3JvZWdlciAgPHJqa3JvZWdlQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbQ2hyb21pdW1dIFJlLWVuYWJsZSBoYW5kbGluZyBvZiBzbW9vdGggc2Nyb2xsaW5n
IG9uIENocm9taXVtIExpbnV4L1dpbmRvd3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg3NTM1IGJ5IGFkZGluZyBzdXBwb3J0IGZvciBwcmVjaXNlCisg
ICAgICAgIHNjcm9sbGluZyBkZWx0YXMgb24gYWxsIENocm9taXVtIHBsYXRmb3Jtcy4KKworICAg
ICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KKworICAgICAgICAqIHNyYy9XZWJJbnB1
dEV2ZW50Q29udmVyc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtV2hlZWxFdmVu
dEJ1aWxkZXI6OlBsYXRmb3JtV2hlZWxFdmVudEJ1aWxkZXIpOiBDcmVhdGUgUGxhdGZvcm1XaGVl
bEV2ZW50cworICAgICAgICB3aXRoIG1faGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhIGZsYWcgYXMg
cmVxdWlyZWQuCisgICAgICAgICogdGVzdHMvU2Nyb2xsQW5pbWF0b3JOb25lVGVzdC5jcHA6IEFk
ZGVkIG5ldyB1bml0IHRlc3QgY29uZGlpdG9uIGZvciBwcmVjaXNlIHNjcm9sbGluZy4KKyAgICAg
ICAgKFRFU1QpOgorCiAyMDEyLTA2LTA2ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVs
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIEF2b2lkIGxpbWl0aW5nIHBhZ2Ut
c2NhbGUtZmFjdG9yIHdoZW4gZGV2aWNlLXNjYWxlLWZhY3RvciBpcyBhcHBsaWVkIGluIHRoZSBj
b21wb3NpdG9yLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1X
aGVlbEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQu
aAppbmRleCAyNzllMWNmMjM1N2MzZmE1ZmM3OTA1ZTUzYzkwNWU5ZWNiOGIyOTJhLi4zOTk3MjU1
ZGE2ODNmNjUwZGIyYjc0NDNiM2ZiNDJlN2ZkOTU1N2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaApAQCAtOTAsOCArOTAsMTAgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgLCBtX3doZWVsVGlja3NZKDApCiAgICAgICAgICAgICAs
IG1fZ3JhbnVsYXJpdHkoU2Nyb2xsQnlQaXhlbFdoZWVsRXZlbnQpCiAgICAgICAgICAgICAsIG1f
ZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlKGZhbHNlKQotI2lmIFBMQVRGT1JNKE1BQykgfHwg
KFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pKQorI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oQ0hST01JVU0pCiAgICAgICAgICAgICAsIG1faGFzUHJlY2lzZVNjcm9sbGluZ0Rl
bHRhcyhmYWxzZSkKKyNlbmRpZgorI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKENIUk9N
SVVNKSAmJiBPUyhEQVJXSU4pKQogICAgICAgICAgICAgLCBtX3BoYXNlKFBsYXRmb3JtV2hlZWxF
dmVudFBoYXNlTm9uZSkKICAgICAgICAgICAgICwgbV9tb21lbnR1bVBoYXNlKFBsYXRmb3JtV2hl
ZWxFdmVudFBoYXNlTm9uZSkKICAgICAgICAgICAgICwgbV9zY3JvbGxDb3VudCgwKQpAQCAtMTEx
LDkgKzExMywxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAsIG1fd2hlZWxU
aWNrc1kod2hlZWxUaWNrc1kpCiAgICAgICAgICAgICAsIG1fZ3JhbnVsYXJpdHkoZ3JhbnVsYXJp
dHkpCiAgICAgICAgICAgICAsIG1fZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlKGZhbHNlKQot
I2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhEQVJXSU4pKQor
I2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgICAgICAgICAsIG1f
aGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhcyhmYWxzZSkKLSAgICAgICAgICAgICwgbV9waGFzZShQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmUpCisjZW5kaWYKKyNpZiBQTEFURk9STShNQUMpIHx8
IChQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFSV0lOKSkKKyAgICAgICAgICAgLCBtX3BoYXNl
KFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZSkKICAgICAgICAgICAgICwgbV9tb21lbnR1bVBo
YXNlKFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZSkKICAgICAgICAgICAgICwgbV9zY3JvbGxD
b3VudCgwKQogICAgICAgICAgICAgLCBtX3VuYWNjZWxlcmF0ZWRTY3JvbGxpbmdEZWx0YVgoMCkK
QEAgLTE1NSwxMSArMTU5LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUGxhdGZv
cm1XaGVlbEV2ZW50KGNvbnN0IEV2YXNfRXZlbnRfTW91c2VfV2hlZWwqKTsKICNlbmRpZgogCisj
aWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShDSFJPTUlVTSkKKyAgICAgICBib29sIGhhc1By
ZWNpc2VTY3JvbGxpbmdEZWx0YXMoKSBjb25zdCB7IHJldHVybiBtX2hhc1ByZWNpc2VTY3JvbGxp
bmdEZWx0YXM7IH0KKyNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKENIUk9N
SVVNKSAmJiBPUyhEQVJXSU4pKQogICAgICAgICBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBwaGFz
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGhhc2U7IH0KICAgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2UgbW9tZW50dW1QaGFzZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9tZW50dW1QaGFzZTsgfQot
ICAgICAgICBib29sIGhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMoKSBjb25zdCB7IHJldHVybiBt
X2hhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXM7IH0KLQogICAgICAgICB1bnNpZ25lZCBzY3JvbGxD
b3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsQ291bnQ7IH0KICAgICAgICAgZmxvYXQgdW5h
Y2NlbGVyYXRlZFNjcm9sbGluZ0RlbHRhWCgpIGNvbnN0IHsgcmV0dXJuIG1fdW5hY2NlbGVyYXRl
ZFNjcm9sbGluZ0RlbHRhWDsgfQogICAgICAgICBmbG9hdCB1bmFjY2VsZXJhdGVkU2Nyb2xsaW5n
RGVsdGFZKCkgY29uc3QgeyByZXR1cm4gbV91bmFjY2VsZXJhdGVkU2Nyb2xsaW5nRGVsdGFZOyB9
CkBAIC0xODcsOSArMTkyLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgZmxvYXQg
bV93aGVlbFRpY2tzWTsKICAgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50R3JhbnVsYXJpdHkgbV9n
cmFudWxhcml0eTsKICAgICAgICAgYm9vbCBtX2RpcmVjdGlvbkludmVydGVkRnJvbURldmljZTsK
LSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFSV0lOKSkK
KyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKENIUk9NSVVNKQogICAgICAgICBib29sIG1f
aGFzUHJlY2lzZVNjcm9sbGluZ0RlbHRhczsKLSAgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2UgbV9waGFzZTsKKyNlbmRpZgorI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKENIUk9N
SVVNKSAmJiBPUyhEQVJXSU4pKQorICAgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgbV9w
aGFzZTsKICAgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgbV9tb21lbnR1bVBoYXNlOwog
ICAgICAgICB1bnNpZ25lZCBtX3Njcm9sbENvdW50OwogICAgICAgICBmbG9hdCBtX3VuYWNjZWxl
cmF0ZWRTY3JvbGxpbmdEZWx0YVg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmlt
YXRvci5jcHAKaW5kZXggMWNkNGZmMWU5Yjg0YTg4OTEzODRhNzVkN2NjYThjNGVhMjU0YWIyMC4u
MTVjNDZhMTE2YzljODk3MDM3MzRhMGVhYTdlZjM1OGE5ZWY4MmJhMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcApAQCAtOTEsNiArOTEsMTIgQEAgYm9vbCBT
Y3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQm
IGUpCiAKICAgICBib29sIGhhbmRsZWQgPSBmYWxzZTsKIAorI2lmIFBMQVRGT1JNKENIUk9NSVVN
KQorICAgIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5ID0gZS5oYXNQcmVjaXNlU2Nyb2xs
aW5nRGVsdGFzKCkgPyBTY3JvbGxCeVByZWNpc2VQaXhlbCA6IFNjcm9sbEJ5UGl4ZWw7CisjZWxz
ZQorICAgIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5ID0gU2Nyb2xsQnlQaXhlbDsKKyNl
bmRpZgorCiAgICAgSW50U2l6ZSBtYXhGb3J3YXJkU2Nyb2xsRGVsdGEgPSBtX3Njcm9sbGFibGVB
cmVhLT5tYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSAtIG1fc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbFBv
c2l0aW9uKCk7CiAgICAgSW50U2l6ZSBtYXhCYWNrd2FyZFNjcm9sbERlbHRhID0gbV9zY3JvbGxh
YmxlQXJlYS0+c2Nyb2xsUG9zaXRpb24oKSAtIG1fc2Nyb2xsYWJsZUFyZWEtPm1pbmltdW1TY3Jv
bGxQb3NpdGlvbigpOwogICAgIGlmICgoZGVsdGFYIDwgMCAmJiBtYXhGb3J3YXJkU2Nyb2xsRGVs
dGEud2lkdGgoKSA+IDApCkBAIC0xMTEsNyArMTE3LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6
aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiAgICAgICAgICAg
ICAgICAgaWYgKG5lZ2F0aXZlKQogICAgICAgICAgICAgICAgICAgICBkZWx0YVkgPSAtZGVsdGFZ
OwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc2Nyb2xsKFZlcnRpY2FsU2Nyb2xsYmFyLCBT
Y3JvbGxCeVBpeGVsLCB2ZXJ0aWNhbFNjcm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVkpOwor
ICAgICAgICAgICAgc2Nyb2xsKFZlcnRpY2FsU2Nyb2xsYmFyLCBncmFudWxhcml0eSwgdmVydGlj
YWxTY3JvbGxiYXItPnBpeGVsU3RlcCgpLCAtZGVsdGFZKTsKICAgICAgICAgfQogCiAgICAgICAg
IGlmIChkZWx0YVgpIHsKQEAgLTEyMSw3ICsxMjcsNyBAQCBib29sIFNjcm9sbEFuaW1hdG9yOjpo
YW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZSkKICAgICAgICAgICAg
ICAgICBpZiAobmVnYXRpdmUpCiAgICAgICAgICAgICAgICAgICAgIGRlbHRhWCA9IC1kZWx0YVg7
CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzY3JvbGwoSG9yaXpvbnRhbFNjcm9sbGJhciwg
U2Nyb2xsQnlQaXhlbCwgaG9yaXpvbnRhbFNjcm9sbGJhci0+cGl4ZWxTdGVwKCksIC1kZWx0YVgp
OworICAgICAgICAgICAgc2Nyb2xsKEhvcml6b250YWxTY3JvbGxiYXIsIGdyYW51bGFyaXR5LCBo
b3Jpem9udGFsU2Nyb2xsYmFyLT5waXhlbFN0ZXAoKSwgLWRlbHRhWCk7CiAgICAgICAgIH0KICAg
ICB9CiAgICAgcmV0dXJuIGhhbmRsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0b3JOb25lLmNwcAppbmRleCAyNzdkZDk0MmRmODFlZTRlOGI1NDQzYmM5YTU4ZTJm
NzIwMWFkZmZjLi5iODA0YTkyODE4ZTU4NDQ2NTNiNmIzODBjMjc3MGVmNDRkY2Q1NzBjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAKQEAgLTQz
NCwxMyArNDM0LDEwIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JOb25lOjpzY3JvbGwoU2Nyb2xsYmFy
T3JpZW50YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyCiAgICAgICAgIHBhcmFtZXRl
cnMgPSBQYXJhbWV0ZXJzKHRydWUsIDE1ICoga1RpY2tUaW1lLCAxMCAqIGtUaWNrVGltZSwgQ3Vi
aWMsIDUgKiBrVGlja1RpbWUsIEN1YmljLCA1ICoga1RpY2tUaW1lLCBMaW5lYXIsIDEpOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFNjcm9sbEJ5UGl4ZWw6Ci0jaWYgUExBVEZPUk0oQ0hST01J
VU0pCi0gICAgICAgIC8vIEZJWE1FOiBwbHVtYiBhIGZsYWcgc3BlY2lmeWluZyBwcmVjaXNlIGRl
bHRhcy4KLSAgICAgICAgcmV0dXJuIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGwob3JpZW50YXRpb24s
IGdyYW51bGFyaXR5LCBzdGVwLCBtdWx0aXBsaWVyKTsKLSNlbHNlCiAgICAgICAgIHBhcmFtZXRl
cnMgPSBQYXJhbWV0ZXJzKHRydWUsIDExICoga1RpY2tUaW1lLCAyICoga1RpY2tUaW1lLCBDdWJp
YywgMyAqIGtUaWNrVGltZSwgQ3ViaWMsIDMgKiBrVGlja1RpbWUsIFF1YWRyYXRpYywgMS4yNSk7
CiAgICAgICAgIGJyZWFrOwotI2VuZGlmCisgICAgY2FzZSBTY3JvbGxCeVByZWNpc2VQaXhlbDoK
KyAgICAgICAgcmV0dXJuIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGwob3JpZW50YXRpb24sIGdyYW51
bGFyaXR5LCBzdGVwLCBtdWx0aXBsaWVyKTsKICAgICBjYXNlIFNjcm9sbEJ5UGl4ZWxWZWxvY2l0
eToKICAgICAgICAgLy8gRklYTUU6IEdlbmVyYWxpemUgdGhlIHNjcm9sbCBpbnRlcmZhY2UgdG8g
c3VwcG9ydCBhIHJpY2hlciBzZXQgb2YgcGFyYW1ldGVycy4KICAgICAgICAgaWYgKG1fZmlyc3RW
ZWxvY2l0eVNldCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggMDg3
YjUwZDFlMGNlMWYzNmI2ZjA5Zjc5MGQxNTUwNTk4MzAzNDhjNC4uZWUxMTlmYmNhYTE2ZDI2MDVk
OTk0ZjRiMjg2ZjZhYWZjYmJhZWM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBl
cy5oCkBAIC0xMDYsNyArMTA2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTY3Jv
bGxCeVBhZ2UsCiAgICAgICAgIFNjcm9sbEJ5RG9jdW1lbnQsCiAgICAgICAgIFNjcm9sbEJ5UGl4
ZWwsCi0gICAgICAgIFNjcm9sbEJ5UGl4ZWxWZWxvY2l0eQorICAgICAgICBTY3JvbGxCeVBpeGVs
VmVsb2NpdHksCisgICAgICAgIFNjcm9sbEJ5UHJlY2lzZVBpeGVsCiAgICAgfTsKIAogICAgIGVu
dW0gU2Nyb2xsRWxhc3RpY2l0eSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5jcHAKaW5kZXggZmVkMzdjZjlmZTA2MjRhNzhhN2Q4OTM3YmFmNDJmYzYzYWExMTJmMS4u
MzUwNmU1NTkyN2E5ZDgwYjhkNDAwNGU4YmI4MjQyYWRmZDc0ZTU2YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcApAQCAtMTA4LDYgKzEwOCw3IEBAIGJvb2wg
U2Nyb2xsYWJsZUFyZWE6OnNjcm9sbChTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxH
cmFudWxhcml0eSBncmFudWxhCiAgICAgICAgIHN0ZXAgPSBzY3JvbGxiYXItPnRvdGFsU2l6ZSgp
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNjcm9sbEJ5UGl4ZWw6CisgICAgY2FzZSBTY3Jv
bGxCeVByZWNpc2VQaXhlbDoKICAgICAgICAgc3RlcCA9IHNjcm9sbGJhci0+cGl4ZWxTdGVwKCk7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Nyb2xsQnlQaXhlbFZlbG9jaXR5OgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24u
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24u
Y3BwCmluZGV4IGZiNWU5ODY1ODI5NGVlOTI1NGIwZGVjNDUzNjdjMDQxZmQ3OTBkMjguLjIwN2Q4
MWNhMzg0ZDM2YzgzYTRkMTAxZTQ3MGRhOWUwOTIyMjM0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5jcHAKQEAgLTEy
Myw4ICsxMjMsOCBAQCBQbGF0Zm9ybVdoZWVsRXZlbnRCdWlsZGVyOjpQbGF0Zm9ybVdoZWVsRXZl
bnRCdWlsZGVyKFdpZGdldCogd2lkZ2V0LCBjb25zdCBXZWJNbwogICAgIGlmIChlLm1vZGlmaWVy
cyAmIFdlYklucHV0RXZlbnQ6Ok1ldGFLZXkpCiAgICAgICAgIG1fbW9kaWZpZXJzIHw9IFBsYXRm
b3JtRXZlbnQ6Ok1ldGFLZXk7CiAKLSNpZiBPUyhEQVJXSU4pCiAgICAgbV9oYXNQcmVjaXNlU2Ny
b2xsaW5nRGVsdGFzID0gZS5oYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzOworI2lmIE9TKERBUldJ
TikKICAgICBtX3BoYXNlID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2U+KGUucGhhc2UpOwogICAgIG1fbW9tZW50dW1QaGFzZSA9IHN0YXRpY19jYXN0PFdlYkNv
cmU6OlBsYXRmb3JtV2hlZWxFdmVudFBoYXNlPihlLm1vbWVudHVtUGhhc2UpOwogICAgIG1fdGlt
ZXN0YW1wID0gZS50aW1lU3RhbXBTZWNvbmRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9TY3JvbGxBbmltYXRvck5vbmVUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvU2Nyb2xsQW5pbWF0b3JOb25lVGVzdC5jcHAKaW5kZXggMDgyNzI2N2Vk
MDRlYTIwN2NhYmYzYTAwNTk4OTEyNDVkYmVhZjFlZS4uNmM2YzM1OWE5ODdjMGY4NWU0YmY4M2Q4
NzYzMTc0YzUzNTJjNjBhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9TY3JvbGxBbmltYXRvck5vbmVUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL1Njcm9sbEFuaW1hdG9yTm9uZVRlc3QuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgVEVT
VChTY3JvbGxBbmltYXRvckVuYWJsZWQsIEVuYWJsZWQpCiAgICAgTW9ja1Njcm9sbEFuaW1hdG9y
Tm9uZSBzY3JvbGxBbmltYXRvck5vbmUoJnNjcm9sbGFibGVBcmVhKTsKIAogICAgIEVYUEVDVF9D
QUxMKHNjcm9sbGFibGVBcmVhLCBzY3JvbGxTaXplKF8pKS5UaW1lcyhBdExlYXN0KDEpKS5XaWxs
UmVwZWF0ZWRseShSZXR1cm4oMTAwMCkpOwotICAgIEVYUEVDVF9DQUxMKHNjcm9sbGFibGVBcmVh
LCBzZXRTY3JvbGxPZmZzZXQoXykpLlRpbWVzKDMpOworICAgIEVYUEVDVF9DQUxMKHNjcm9sbGFi
bGVBcmVhLCBzZXRTY3JvbGxPZmZzZXQoXykpLlRpbWVzKDQpOwogCiAgICAgc2Nyb2xsQW5pbWF0
b3JOb25lLnNjcm9sbChIb3Jpem9udGFsU2Nyb2xsYmFyLCBTY3JvbGxCeUxpbmUsIDEwMCwgMSk7
CiAgICAgRVhQRUNUX05FKDEwMCwgc2Nyb2xsQW5pbWF0b3JOb25lLmN1cnJlbnRYKCkpOwpAQCAt
MTI1LDYgKzEyNSwxMiBAQCBURVNUKFNjcm9sbEFuaW1hdG9yRW5hYmxlZCwgRW5hYmxlZCkKICAg
ICBzY3JvbGxBbmltYXRvck5vbmUucmVzZXQoKTsKIAogICAgIHNjcm9sbEFuaW1hdG9yTm9uZS5z
Y3JvbGwoSG9yaXpvbnRhbFNjcm9sbGJhciwgU2Nyb2xsQnlQaXhlbCwgNCwgMjUpOworICAgIEVY
UEVDVF9ORSgxMDAsIHNjcm9sbEFuaW1hdG9yTm9uZS5jdXJyZW50WCgpKTsKKyAgICBFWFBFQ1Rf
TkUoMCwgc2Nyb2xsQW5pbWF0b3JOb25lLmN1cnJlbnRYKCkpOworICAgIEVYUEVDVF9FUSgwLCBz
Y3JvbGxBbmltYXRvck5vbmUuY3VycmVudFkoKSk7CisgICAgc2Nyb2xsQW5pbWF0b3JOb25lLnJl
c2V0KCk7CisKKyAgICBzY3JvbGxBbmltYXRvck5vbmUuc2Nyb2xsKEhvcml6b250YWxTY3JvbGxi
YXIsIFNjcm9sbEJ5UHJlY2lzZVBpeGVsLCA0LCAyNSk7CiAgICAgRVhQRUNUX0VRKDEwMCwgc2Ny
b2xsQW5pbWF0b3JOb25lLmN1cnJlbnRYKCkpOwogICAgIEVYUEVDVF9ORSgwLCBzY3JvbGxBbmlt
YXRvck5vbmUuY3VycmVudFgoKSk7CiAgICAgRVhQRUNUX0VRKDAsIHNjcm9sbEFuaW1hdG9yTm9u
ZS5jdXJyZW50WSgpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>