<?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>128477</bug_id>
          
          <creation_ts>2014-02-08 15:32:47 -0800</creation_ts>
          <short_desc>Subpixel rendering: Switch repaint rect from IntRect to LayoutRect to be able to repaint on device pixel boundaries.</short_desc>
          <delta_ts>2014-02-11 20:45:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>MathML</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>jonlee</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>978451</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2014-02-08 15:32:47 -0800</bug_when>
    <thetext>This is required to do render layer subpixel offsetting from the integral positioned graphics layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978455</commentid>
    <comment_count>1</comment_count>
      <attachid>223591</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-02-08 15:44:54 -0800</bug_when>
    <thetext>Created attachment 223591
Patch

This patch depends on code from bug 128460. no EWSing yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978456</commentid>
    <comment_count>2</comment_count>
      <attachid>223592</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-02-08 15:46:15 -0800</bug_when>
    <thetext>Created attachment 223592
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979753</commentid>
    <comment_count>3</comment_count>
      <attachid>223592</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-11 20:45:53 -0800</bug_when>
    <thetext>Comment on attachment 223592
Patch

Clearing flags on attachment: 223592

Committed r163944: &lt;http://trac.webkit.org/changeset/163944&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979754</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-11 20:45:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>223591</attachid>
            <date>2014-02-08 15:44:54 -0800</date>
            <delta_ts>2014-02-08 15:45:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>application/octet-stream</type>
            <size>16144</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjZWYyYzMwLi4yYjlmMzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzYg
QEAKIDIwMTQtMDItMDggIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAorICAgICAg
ICBTdWJwaXhlbCByZW5kZXJpbmc6IFN3aXRjaCByZXBhaW50IHJlY3QgZnJvbSBJbnRSZWN0IHRv
IExheW91dFJlY3QgdG8gYmUgYWJsZSB0bworICAgICAgICByZXBhaW50IG9uIGRldmljZSBwaXhl
bCBib3VuZGFyaWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI4NDc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVuZGVyTGF5ZXIgbmVlZHMgdG8gYmUgYWJsZSB0byByZXBhaW50IG9uIGRldmljZSBw
aXhlbCBib3VuZGFyaWVzLiBSZW5kZXJWaWV3IHN0aWxsCisgICAgICAgIHJlcGFpbnRzIG9uIGlu
dGVncmFsIHBvc2l0aW9uLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5Lgor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmxheW91dFJ1bnNBbmRGbG9hdHMpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OnJlcGFpbnRBZnRlckxheW91dElmTmVlZGVkKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0
ZUxheWVyUG9zaXRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjbGVhclJl
cGFpbnRSZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG8pOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXlJblJlY3QpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6cmVw
YWludFVzaW5nQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6cmVw
YWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnJlcGFpbnRSZWN0YW5nbGUp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKworMjAxNC0wMi0wOCAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCiAgICAgICAgIFN1YnBpeGVsIHJlbmRlcmlu
ZzogTWFrZSBHcmFwaGljc0xheWVyQ2xpZW50OjpwYWludENvbnRlbnRzJ3MgY2xpcCByZWN0IHN1
YnBpeGVsIGJhc2VkLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI4NDYwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrTGluZUxheW91dC5jcHAKaW5kZXggMzUzN2M2YjAuLjc3NGZjYWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCkBAIC0xMDU5
LDcgKzEwNTksNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0UnVuc0FuZEZsb2F0cyhM
aW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBib29sIGhhcwogICAgICAgICAgICAgLy8gdGhh
dCB0aGUgYmxvY2sgcmVhbGx5IG5lZWRlZCBhIGZ1bGwgbGF5b3V0LCB3ZSBtaXNzZWQgb3VyIGNo
YW5jZSB0byByZXBhaW50IHRoZSBsYXllcgogICAgICAgICAgICAgLy8gYmVmb3JlIGxheW91dCBz
dGFydGVkLiAgTHVja2lseSB0aGUgbGF5ZXIgaGFzIGNhY2hlZCB0aGUgcmVwYWludCByZWN0IGZv
ciBpdHMgb3JpZ2luYWwKICAgICAgICAgICAgIC8vIHBvc2l0aW9uIGFuZCBzaXplLCBhbmQgc28g
d2UgY2FuIHVzZSB0aGF0IHRvIG1ha2UgYSByZXBhaW50IGhhcHBlbiBub3cuCi0gICAgICAgICAg
ICByZXBhaW50VXNpbmdDb250YWluZXIoY29udGFpbmVyRm9yUmVwYWludCgpLCBwaXhlbFNuYXBw
ZWRJbnRSZWN0KGxheWVyKCktPnJlcGFpbnRSZWN0KCkpKTsKKyAgICAgICAgICAgIHJlcGFpbnRV
c2luZ0NvbnRhaW5lcihjb250YWluZXJGb3JSZXBhaW50KCksIGxheWVyKCktPnJlcGFpbnRSZWN0
KCkpOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5jcHAKaW5kZXggMTdlZDQyMi4uMDRkMTVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMTE4Miw5ICsxMTgyLDkgQEAgYm9vbCBSZW5k
ZXJFbGVtZW50OjpyZXBhaW50QWZ0ZXJMYXlvdXRJZk5lZWRlZChjb25zdCBSZW5kZXJMYXllck1v
ZGVsT2JqZWN0KiByZXAKICAgICAgICAgcmVwYWludENvbnRhaW5lciA9ICZ2aWV3KCk7CiAKICAg
ICBpZiAoZnVsbFJlcGFpbnQpIHsKLSAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFp
bnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3Qob2xkQm91bmRzKSk7CisgICAgICAgIHJl
cGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCBvbGRCb3VuZHMpOwogICAgICAg
ICBpZiAobmV3Qm91bmRzICE9IG9sZEJvdW5kcykKLSAgICAgICAgICAgIHJlcGFpbnRVc2luZ0Nv
bnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCBwaXhlbFNuYXBwZWRJbnRSZWN0KG5ld0JvdW5kcykp
OworICAgICAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIG5l
d0JvdW5kcyk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApAQCAtMTE5MywyNyArMTE5
MywyNyBAQCBib29sIFJlbmRlckVsZW1lbnQ6OnJlcGFpbnRBZnRlckxheW91dElmTmVlZGVkKGNv
bnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcAogCiAgICAgTGF5b3V0VW5pdCBkZWx0YUxl
ZnQgPSBuZXdCb3VuZHMueCgpIC0gb2xkQm91bmRzLngoKTsKICAgICBpZiAoZGVsdGFMZWZ0ID4g
MCkKLSAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIHBpeGVs
U25hcHBlZEludFJlY3Qob2xkQm91bmRzLngoKSwgb2xkQm91bmRzLnkoKSwgZGVsdGFMZWZ0LCBv
bGRCb3VuZHMuaGVpZ2h0KCkpKTsKKyAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFp
bnRDb250YWluZXIsIExheW91dFJlY3Qob2xkQm91bmRzLngoKSwgb2xkQm91bmRzLnkoKSwgZGVs
dGFMZWZ0LCBvbGRCb3VuZHMuaGVpZ2h0KCkpKTsKICAgICBlbHNlIGlmIChkZWx0YUxlZnQgPCAw
KQotICAgICAgICByZXBhaW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgcGl4ZWxT
bmFwcGVkSW50UmVjdChuZXdCb3VuZHMueCgpLCBuZXdCb3VuZHMueSgpLCAtZGVsdGFMZWZ0LCBu
ZXdCb3VuZHMuaGVpZ2h0KCkpKTsKKyAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFp
bnRDb250YWluZXIsIExheW91dFJlY3QobmV3Qm91bmRzLngoKSwgbmV3Qm91bmRzLnkoKSwgLWRl
bHRhTGVmdCwgbmV3Qm91bmRzLmhlaWdodCgpKSk7CiAKICAgICBMYXlvdXRVbml0IGRlbHRhUmln
aHQgPSBuZXdCb3VuZHMubWF4WCgpIC0gb2xkQm91bmRzLm1heFgoKTsKICAgICBpZiAoZGVsdGFS
aWdodCA+IDApCi0gICAgICAgIHJlcGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVy
LCBwaXhlbFNuYXBwZWRJbnRSZWN0KG9sZEJvdW5kcy5tYXhYKCksIG5ld0JvdW5kcy55KCksIGRl
bHRhUmlnaHQsIG5ld0JvdW5kcy5oZWlnaHQoKSkpOworICAgICAgICByZXBhaW50VXNpbmdDb250
YWluZXIocmVwYWludENvbnRhaW5lciwgTGF5b3V0UmVjdChvbGRCb3VuZHMubWF4WCgpLCBuZXdC
b3VuZHMueSgpLCBkZWx0YVJpZ2h0LCBuZXdCb3VuZHMuaGVpZ2h0KCkpKTsKICAgICBlbHNlIGlm
IChkZWx0YVJpZ2h0IDwgMCkKLSAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRD
b250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3QobmV3Qm91bmRzLm1heFgoKSwgb2xkQm91bmRz
LnkoKSwgLWRlbHRhUmlnaHQsIG9sZEJvdW5kcy5oZWlnaHQoKSkpOworICAgICAgICByZXBhaW50
VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgTGF5b3V0UmVjdChuZXdCb3VuZHMubWF4
WCgpLCBvbGRCb3VuZHMueSgpLCAtZGVsdGFSaWdodCwgb2xkQm91bmRzLmhlaWdodCgpKSk7CiAK
ICAgICBMYXlvdXRVbml0IGRlbHRhVG9wID0gbmV3Qm91bmRzLnkoKSAtIG9sZEJvdW5kcy55KCk7
CiAgICAgaWYgKGRlbHRhVG9wID4gMCkKLSAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJl
cGFpbnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3Qob2xkQm91bmRzLngoKSwgb2xkQm91
bmRzLnkoKSwgb2xkQm91bmRzLndpZHRoKCksIGRlbHRhVG9wKSk7CisgICAgICAgIHJlcGFpbnRV
c2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCBMYXlvdXRSZWN0KG9sZEJvdW5kcy54KCks
IG9sZEJvdW5kcy55KCksIG9sZEJvdW5kcy53aWR0aCgpLCBkZWx0YVRvcCkpOwogICAgIGVsc2Ug
aWYgKGRlbHRhVG9wIDwgMCkKLSAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRD
b250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3QobmV3Qm91bmRzLngoKSwgbmV3Qm91bmRzLnko
KSwgbmV3Qm91bmRzLndpZHRoKCksIC1kZWx0YVRvcCkpOworICAgICAgICByZXBhaW50VXNpbmdD
b250YWluZXIocmVwYWludENvbnRhaW5lciwgTGF5b3V0UmVjdChuZXdCb3VuZHMueCgpLCBuZXdC
b3VuZHMueSgpLCBuZXdCb3VuZHMud2lkdGgoKSwgLWRlbHRhVG9wKSk7CiAKICAgICBMYXlvdXRV
bml0IGRlbHRhQm90dG9tID0gbmV3Qm91bmRzLm1heFkoKSAtIG9sZEJvdW5kcy5tYXhZKCk7CiAg
ICAgaWYgKGRlbHRhQm90dG9tID4gMCkKLSAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJl
cGFpbnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3QobmV3Qm91bmRzLngoKSwgb2xkQm91
bmRzLm1heFkoKSwgbmV3Qm91bmRzLndpZHRoKCksIGRlbHRhQm90dG9tKSk7CisgICAgICAgIHJl
cGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCBMYXlvdXRSZWN0KG5ld0JvdW5k
cy54KCksIG9sZEJvdW5kcy5tYXhZKCksIG5ld0JvdW5kcy53aWR0aCgpLCBkZWx0YUJvdHRvbSkp
OwogICAgIGVsc2UgaWYgKGRlbHRhQm90dG9tIDwgMCkKLSAgICAgICAgcmVwYWludFVzaW5nQ29u
dGFpbmVyKHJlcGFpbnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3Qob2xkQm91bmRzLngo
KSwgbmV3Qm91bmRzLm1heFkoKSwgb2xkQm91bmRzLndpZHRoKCksIC1kZWx0YUJvdHRvbSkpOwor
ICAgICAgICByZXBhaW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgTGF5b3V0UmVj
dChvbGRCb3VuZHMueCgpLCBuZXdCb3VuZHMubWF4WSgpLCBvbGRCb3VuZHMud2lkdGgoKSwgLWRl
bHRhQm90dG9tKSk7CiAKICAgICBpZiAobmV3T3V0bGluZUJveCA9PSBvbGRPdXRsaW5lQm94KQog
ICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMjQwLDcgKzEyNDAsNyBAQCBib29sIFJlbmRlckVs
ZW1lbnQ6OnJlcGFpbnRBZnRlckxheW91dElmTmVlZGVkKGNvbnN0IFJlbmRlckxheWVyTW9kZWxP
YmplY3QqIHJlcAogICAgICAgICBMYXlvdXRVbml0IHJpZ2h0ID0gc3RkOjptaW48TGF5b3V0VW5p
dD4obmV3Qm91bmRzLm1heFgoKSwgb2xkQm91bmRzLm1heFgoKSk7CiAgICAgICAgIGlmIChyaWdo
dFJlY3QueCgpIDwgcmlnaHQpIHsKICAgICAgICAgICAgIHJpZ2h0UmVjdC5zZXRXaWR0aChzdGQ6
Om1pbihyaWdodFJlY3Qud2lkdGgoKSwgcmlnaHQgLSByaWdodFJlY3QueCgpKSk7Ci0gICAgICAg
ICAgICByZXBhaW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgcGl4ZWxTbmFwcGVk
SW50UmVjdChyaWdodFJlY3QpKTsKKyAgICAgICAgICAgIHJlcGFpbnRVc2luZ0NvbnRhaW5lcihy
ZXBhaW50Q29udGFpbmVyLCByaWdodFJlY3QpOwogICAgICAgICB9CiAgICAgfQogICAgIExheW91
dFVuaXQgaGVpZ2h0ID0gYWJzb2x1dGVWYWx1ZShuZXdPdXRsaW5lQm94LmhlaWdodCgpIC0gb2xk
T3V0bGluZUJveC5oZWlnaHQoKSk7CkBAIC0xMjYwLDcgKzEyNjAsNyBAQCBib29sIFJlbmRlckVs
ZW1lbnQ6OnJlcGFpbnRBZnRlckxheW91dElmTmVlZGVkKGNvbnN0IFJlbmRlckxheWVyTW9kZWxP
YmplY3QqIHJlcAogICAgICAgICBMYXlvdXRVbml0IGJvdHRvbSA9IHN0ZDo6bWluKG5ld0JvdW5k
cy5tYXhZKCksIG9sZEJvdW5kcy5tYXhZKCkpOwogICAgICAgICBpZiAoYm90dG9tUmVjdC55KCkg
PCBib3R0b20pIHsKICAgICAgICAgICAgIGJvdHRvbVJlY3Quc2V0SGVpZ2h0KHN0ZDo6bWluKGJv
dHRvbVJlY3QuaGVpZ2h0KCksIGJvdHRvbSAtIGJvdHRvbVJlY3QueSgpKSk7Ci0gICAgICAgICAg
ICByZXBhaW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgcGl4ZWxTbmFwcGVkSW50
UmVjdChib3R0b21SZWN0KSk7CisgICAgICAgICAgICByZXBhaW50VXNpbmdDb250YWluZXIocmVw
YWludENvbnRhaW5lciwgYm90dG9tUmVjdCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJu
IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggYWUw
NjUzZS4uNTBhNTIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CkBAIC00MjEsOSArNDIxLDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlTGF5ZXJQb3NpdGlv
bnMoUmVuZGVyR2VvbWV0cnlNYXAqIGdlb21ldHJ5TWFwLCBVcGRhdGVMYXkKICAgICAgICAgICAg
IGlmICghcmVuZGVyZXIoKS52aWV3KCkucHJpbnRpbmcoKSkgewogICAgICAgICAgICAgICAgIGJv
b2wgZGlkUmVwYWludCA9IGZhbHNlOwogICAgICAgICAgICAgICAgIGlmIChtX3JlcGFpbnRTdGF0
dXMgJiBOZWVkc0Z1bGxSZXBhaW50KSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyKCku
cmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJl
Y3Qob2xkUmVwYWludFJlY3QpKTsKKyAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS5yZXBh
aW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgb2xkUmVwYWludFJlY3QpOwogICAg
ICAgICAgICAgICAgICAgICBpZiAobV9yZXBhaW50UmVjdCAhPSBvbGRSZXBhaW50UmVjdCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS5yZXBhaW50VXNpbmdDb250YWluZXIo
cmVwYWludENvbnRhaW5lciwgcGl4ZWxTbmFwcGVkSW50UmVjdChtX3JlcGFpbnRSZWN0KSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJlcigpLnJlcGFpbnRVc2luZ0NvbnRhaW5lcihy
ZXBhaW50Q29udGFpbmVyLCBtX3JlcGFpbnRSZWN0KTsKICAgICAgICAgICAgICAgICAgICAgICAg
IGRpZFJlcGFpbnQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgfSBlbHNlIGlmIChzaG91bGRSZXBhaW50QWZ0ZXJMYXlvdXQoKSkgewpAQCAtNzA3LDggKzcw
Nyw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmNsZWFyUmVwYWludFJlY3RzKCkKICAgICBBU1NFUlQo
IW1faGFzVmlzaWJsZUNvbnRlbnQpOwogICAgIEFTU0VSVCghbV92aXNpYmxlQ29udGVudFN0YXR1
c0RpcnR5KTsKIAotICAgIG1fcmVwYWludFJlY3QgPSBJbnRSZWN0KCk7Ci0gICAgbV9vdXRsaW5l
Qm94ID0gSW50UmVjdCgpOworICAgIG1fcmVwYWludFJlY3QgPSBMYXlvdXRSZWN0KCk7CisgICAg
bV9vdXRsaW5lQm94ID0gTGF5b3V0UmVjdCgpOwogfQogCiB2b2lkIFJlbmRlckxheWVyOjp1cGRh
dGVMYXllclBvc2l0aW9uc0FmdGVyRG9jdW1lbnRTY3JvbGwoKQpAQCAtMjI4OSw3ICsyMjg5LDcg
QEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8oaW50IHgsIGludCB5KQogI2Vsc2UKICAgICBp
ZiAocmVxdWlyZXNSZXBhaW50KQogI2VuZGlmCi0gICAgICAgIHJlbmRlcmVyKCkucmVwYWludFVz
aW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3QobV9yZXBh
aW50UmVjdCkpOworICAgICAgICByZW5kZXJlcigpLnJlcGFpbnRVc2luZ0NvbnRhaW5lcihyZXBh
aW50Q29udGFpbmVyLCBtX3JlcGFpbnRSZWN0KTsKIAogICAgIC8vIFNjaGVkdWxlIHRoZSBzY3Jv
bGwgRE9NIGV2ZW50LgogICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVt
ZW50KCkpCkBAIC02MjAwLDEzICs2MjAwLDEzIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNldEJhY2tp
bmdOZWVkc1JlcGFpbnRJblJlY3QoY29uc3QgTGF5b3V0UmVjdCYgciwgR3JhcGhpY3NMYXllCiAK
ICAgICAgICAgcmVuZGVyZXIoKS52aWV3KCkucmVwYWludFZpZXdSZWN0YW5nbGUoYWJzUmVjdCk7
CiAgICAgfSBlbHNlCi0gICAgICAgIGJhY2tpbmcoKS0+c2V0Q29udGVudHNOZWVkRGlzcGxheUlu
UmVjdChwaXhlbFNuYXBwZWRJbnRSZWN0KHIpLCBzaG91bGRDbGlwKTsKKyAgICAgICAgYmFja2lu
ZygpLT5zZXRDb250ZW50c05lZWREaXNwbGF5SW5SZWN0KHIsIHNob3VsZENsaXApOwogfQogCiAv
LyBTaW5jZSB3ZSdyZSBvbmx5IHBhaW50aW5nIG5vbi1jb21wb3NpdGVkIGxheWVycywgd2Uga25v
dyB0aGF0IHRoZXkgYWxsIHNoYXJlIHRoZSBzYW1lIHJlcGFpbnRDb250YWluZXIuCiB2b2lkIFJl
bmRlckxheWVyOjpyZXBhaW50SW5jbHVkaW5nTm9uQ29tcG9zaXRpbmdEZXNjZW5kYW50cyhSZW5k
ZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKQogewotICAgIHJlbmRlcmVyKCku
cmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJl
Y3QocmVuZGVyZXIoKS5jbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChyZXBhaW50Q29udGFp
bmVyKSkpOworICAgIHJlbmRlcmVyKCkucmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250
YWluZXIsIHJlbmRlcmVyKCkuY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQocmVwYWludENv
bnRhaW5lcikpOwogCiAgICAgZm9yIChSZW5kZXJMYXllciogY3VyciA9IGZpcnN0Q2hpbGQoKTsg
Y3VycjsgY3VyciA9IGN1cnItPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgaWYgKCFjdXJyLT5p
c0NvbXBvc2l0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHAKaW5kZXggNzk4YWFlYi4uNDJjYjVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTIwODIsNDEgKzIwODIsNDIg
QEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkoR3JhcGhp
Y3NMYXllcjo6U2hvdWxkQ2xpcFRvTGF5ZXIKIH0KIAogLy8gciBpcyBpbiB0aGUgY29vcmRpbmF0
ZSBzcGFjZSBvZiB0aGUgbGF5ZXIncyByZW5kZXIgb2JqZWN0Ci12b2lkIFJlbmRlckxheWVyQmFj
a2luZzo6c2V0Q29udGVudHNOZWVkRGlzcGxheUluUmVjdChjb25zdCBJbnRSZWN0JiByLCBHcmFw
aGljc0xheWVyOjpTaG91bGRDbGlwVG9MYXllciBzaG91bGRDbGlwKQordm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXlJblJlY3QoY29uc3QgTGF5b3V0UmVjdCYg
ciwgR3JhcGhpY3NMYXllcjo6U2hvdWxkQ2xpcFRvTGF5ZXIgc2hvdWxkQ2xpcCkKIHsKICAgICBB
U1NFUlQoIXBhaW50c0ludG9Db21wb3NpdGVkQW5jZXN0b3IoKSk7CiAKKyAgICBGbG9hdFJlY3Qg
cGl4ZWxTbmFwcGVkUmVjdEZvclBhaW50aW5nID0gcGl4ZWxTbmFwcGVkRm9yUGFpbnRpbmcociwg
ZGV2aWNlU2NhbGVGYWN0b3IoKSk7CiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSBvd25pbmdM
YXllcigpLnJlbmRlcmVyKCkudmlldygpLmZyYW1lVmlldygpOwogICAgIGlmIChtX2lzTWFpbkZy
YW1lUmVuZGVyVmlld0xheWVyICYmIGZyYW1lVmlldy5pc1RyYWNraW5nUmVwYWludHMoKSkKICAg
ICAgICAgZnJhbWVWaWV3LmFkZFRyYWNrZWRSZXBhaW50UmVjdChwaXhlbFNuYXBwZWRJbnRSZWN0
KHIpKTsKIAogICAgIGlmIChtX2dyYXBoaWNzTGF5ZXIgJiYgbV9ncmFwaGljc0xheWVyLT5kcmF3
c0NvbnRlbnQoKSkgewotICAgICAgICBJbnRSZWN0IGxheWVyRGlydHlSZWN0ID0gcjsKKyAgICAg
ICAgRmxvYXRSZWN0IGxheWVyRGlydHlSZWN0ID0gcGl4ZWxTbmFwcGVkUmVjdEZvclBhaW50aW5n
OwogICAgICAgICBsYXllckRpcnR5UmVjdC5tb3ZlKC1tX2dyYXBoaWNzTGF5ZXItPm9mZnNldEZy
b21SZW5kZXJlcigpKTsKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXROZWVkc0Rpc3BsYXlJ
blJlY3QobGF5ZXJEaXJ0eVJlY3QsIHNob3VsZENsaXApOwogICAgIH0KIAogICAgIGlmIChtX2Zv
cmVncm91bmRMYXllciAmJiBtX2ZvcmVncm91bmRMYXllci0+ZHJhd3NDb250ZW50KCkpIHsKLSAg
ICAgICAgSW50UmVjdCBsYXllckRpcnR5UmVjdCA9IHI7CisgICAgICAgIEZsb2F0UmVjdCBsYXll
ckRpcnR5UmVjdCA9IHBpeGVsU25hcHBlZFJlY3RGb3JQYWludGluZzsKICAgICAgICAgbGF5ZXJE
aXJ0eVJlY3QubW92ZSgtbV9mb3JlZ3JvdW5kTGF5ZXItPm9mZnNldEZyb21SZW5kZXJlcigpKTsK
ICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldE5lZWRzRGlzcGxheUluUmVjdChsYXllckRp
cnR5UmVjdCwgc2hvdWxkQ2xpcCk7CiAgICAgfQogCiAgICAgLy8gRklYTUU6IG5lZWQgdG8gc3Bs
aXQgb3V0IHJlcGFpbnRzIGZvciB0aGUgYmFja2dyb3VuZC4KICAgICBpZiAobV9iYWNrZ3JvdW5k
TGF5ZXIgJiYgbV9iYWNrZ3JvdW5kTGF5ZXItPmRyYXdzQ29udGVudCgpKSB7Ci0gICAgICAgIElu
dFJlY3QgbGF5ZXJEaXJ0eVJlY3QgPSByOworICAgICAgICBGbG9hdFJlY3QgbGF5ZXJEaXJ0eVJl
Y3QgPSBwaXhlbFNuYXBwZWRSZWN0Rm9yUGFpbnRpbmc7CiAgICAgICAgIGxheWVyRGlydHlSZWN0
Lm1vdmUoLW1fYmFja2dyb3VuZExheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKSk7CiAgICAgICAg
IG1fYmFja2dyb3VuZExheWVyLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QobGF5ZXJEaXJ0eVJlY3Qs
IHNob3VsZENsaXApOwogICAgIH0KIAogICAgIGlmIChtX21hc2tMYXllciAmJiBtX21hc2tMYXll
ci0+ZHJhd3NDb250ZW50KCkpIHsKLSAgICAgICAgSW50UmVjdCBsYXllckRpcnR5UmVjdCA9IHI7
CisgICAgICAgIEZsb2F0UmVjdCBsYXllckRpcnR5UmVjdCA9IHBpeGVsU25hcHBlZFJlY3RGb3JQ
YWludGluZzsKICAgICAgICAgbGF5ZXJEaXJ0eVJlY3QubW92ZSgtbV9tYXNrTGF5ZXItPm9mZnNl
dEZyb21SZW5kZXJlcigpKTsKICAgICAgICAgbV9tYXNrTGF5ZXItPnNldE5lZWRzRGlzcGxheUlu
UmVjdChsYXllckRpcnR5UmVjdCwgc2hvdWxkQ2xpcCk7CiAgICAgfQogCiAgICAgaWYgKG1fc2Ny
b2xsaW5nQ29udGVudHNMYXllciAmJiBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPmRyYXdzQ29u
dGVudCgpKSB7Ci0gICAgICAgIEludFJlY3QgbGF5ZXJEaXJ0eVJlY3QgPSByOworICAgICAgICBG
bG9hdFJlY3QgbGF5ZXJEaXJ0eVJlY3QgPSBwaXhlbFNuYXBwZWRSZWN0Rm9yUGFpbnRpbmc7CiAg
ICAgICAgIGxheWVyRGlydHlSZWN0Lm1vdmUoLW1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+b2Zm
c2V0RnJvbVJlbmRlcmVyKCkpOwogI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAgLy8gQWNjb3Vu
dCBmb3IgdGhlIGZhY3QgdGhhdCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5
ZXJHZW9tZXRyeSgpIGJha2VzIHNjcm9sbE9mZnNldCBpbnRvIG9mZnNldEZyb21SZW5kZXJlciBv
biBpT1MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgK
aW5kZXggZmJjN2ZjZS4uMmZjNjViMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuaApAQCAtMTI2LDcgKzEyNiw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgc2V0Q29udGVudHNOZWVkRGlzcGxheShHcmFwaGljc0xheWVyOjpTaG91bGRDbGlwVG9MYXll
ciA9IEdyYXBoaWNzTGF5ZXI6OkNsaXBUb0xheWVyKTsKICAgICAvLyByIGlzIGluIHRoZSBjb29y
ZGluYXRlIHNwYWNlIG9mIHRoZSBsYXllcidzIHJlbmRlciBvYmplY3QKLSAgICB2b2lkIHNldENv
bnRlbnRzTmVlZERpc3BsYXlJblJlY3QoY29uc3QgSW50UmVjdCYsIEdyYXBoaWNzTGF5ZXI6OlNo
b3VsZENsaXBUb0xheWVyID0gR3JhcGhpY3NMYXllcjo6Q2xpcFRvTGF5ZXIpOworICAgIHZvaWQg
c2V0Q29udGVudHNOZWVkRGlzcGxheUluUmVjdChjb25zdCBMYXlvdXRSZWN0JiwgR3JhcGhpY3NM
YXllcjo6U2hvdWxkQ2xpcFRvTGF5ZXIgPSBHcmFwaGljc0xheWVyOjpDbGlwVG9MYXllcik7CiAK
ICAgICAvLyBOb3RpZmljYXRpb24gZnJvbSB0aGUgcmVuZGVyZXIgdGhhdCBpdHMgY29udGVudCBj
aGFuZ2VkLgogICAgIHZvaWQgY29udGVudENoYW5nZWQoQ29udGVudENoYW5nZVR5cGUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBiMjZmYmNlLi43Y2U5
NWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTIz
NCw3ICsxMjM0LDcgQEAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogUmVuZGVyT2JqZWN0Ojpjb250
YWluZXJGb3JSZXBhaW50KCkgY29uc3QKICAgICByZXR1cm4gcmVwYWludENvbnRhaW5lcjsKIH0K
IAotdm9pZCBSZW5kZXJPYmplY3Q6OnJlcGFpbnRVc2luZ0NvbnRhaW5lcihjb25zdCBSZW5kZXJM
YXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBjb25zdCBJbnRSZWN0JiByLCBib29s
IGltbWVkaWF0ZSwgYm9vbCBzaG91bGRDbGlwVG9MYXllcikgY29uc3QKK3ZvaWQgUmVuZGVyT2Jq
ZWN0OjpyZXBhaW50VXNpbmdDb250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lciwgY29uc3QgTGF5b3V0UmVjdCYgciwgYm9vbCBpbW1lZGlhdGUsIGJv
b2wgc2hvdWxkQ2xpcFRvTGF5ZXIpIGNvbnN0CiB7CiAgICAgaWYgKCFyZXBhaW50Q29udGFpbmVy
KSB7CiAgICAgICAgIHZpZXcoKS5yZXBhaW50Vmlld1JlY3RhbmdsZShyLCBpbW1lZGlhdGUpOwpA
QCAtMTI4MCw3ICsxMjgwLDcgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OnJlcGFpbnQoYm9vbCBpbW1l
ZGlhdGUpIGNvbnN0CiAgICAgICAgIHJldHVybjsgLy8gRG9uJ3QgcmVwYWludCBpZiB3ZSdyZSBw
cmludGluZy4KIAogICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIg
PSBjb250YWluZXJGb3JSZXBhaW50KCk7Ci0gICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFp
bnRDb250YWluZXIgPyByZXBhaW50Q29udGFpbmVyIDogdmlldywgcGl4ZWxTbmFwcGVkSW50UmVj
dChjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChyZXBhaW50Q29udGFpbmVyKSksIGltbWVk
aWF0ZSk7CisgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIgPyByZXBh
aW50Q29udGFpbmVyIDogdmlldywgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQocmVwYWlu
dENvbnRhaW5lciksIGltbWVkaWF0ZSk7CiB9CiAKIHZvaWQgUmVuZGVyT2JqZWN0OjpyZXBhaW50
UmVjdGFuZ2xlKGNvbnN0IExheW91dFJlY3QmIHIsIGJvb2wgaW1tZWRpYXRlLCBib29sIHNob3Vs
ZENsaXBUb0xheWVyKSBjb25zdApAQCAtMTMwMSw3ICsxMzAxLDcgQEAgdm9pZCBSZW5kZXJPYmpl
Y3Q6OnJlcGFpbnRSZWN0YW5nbGUoY29uc3QgTGF5b3V0UmVjdCYgciwgYm9vbCBpbW1lZGlhdGUs
IGJvb2wgc2gKIAogICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIg
PSBjb250YWluZXJGb3JSZXBhaW50KCk7CiAgICAgY29tcHV0ZVJlY3RGb3JSZXBhaW50KHJlcGFp
bnRDb250YWluZXIsIGRpcnR5UmVjdCk7Ci0gICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFp
bnRDb250YWluZXIgPyByZXBhaW50Q29udGFpbmVyIDogdmlldywgcGl4ZWxTbmFwcGVkSW50UmVj
dChkaXJ0eVJlY3QpLCBpbW1lZGlhdGUsIHNob3VsZENsaXBUb0xheWVyKTsKKyAgICByZXBhaW50
VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciA/IHJlcGFpbnRDb250YWluZXIgOiB2aWV3
LCBkaXJ0eVJlY3QsIGltbWVkaWF0ZSwgc2hvdWxkQ2xpcFRvTGF5ZXIpOwogfQogCiB2b2lkIFJl
bmRlck9iamVjdDo6cmVwYWludFNsb3dSZXBhaW50T2JqZWN0KCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA5MTg3MmFjLi45NjdjMDAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC03MjQsNyArNzI0LDcgQEAgcHVi
bGljOgogICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGNvbnRhaW5lckZvclJlcGFpbnQoKSBj
b25zdDsKICAgICAvLyBBY3R1YWxseSBkbyB0aGUgcmVwYWludCBvZiByZWN0IHIgZm9yIHRoaXMg
b2JqZWN0IHdoaWNoIGhhcyBiZWVuIGNvbXB1dGVkIGluIHRoZSBjb29yZGluYXRlIHNwYWNlCiAg
ICAgLy8gb2YgcmVwYWludENvbnRhaW5lci4gSWYgcmVwYWludENvbnRhaW5lciBpcyAwLCByZXBh
aW50IHZpYSB0aGUgdmlldy4KLSAgICB2b2lkIHJlcGFpbnRVc2luZ0NvbnRhaW5lcihjb25zdCBS
ZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBjb25zdCBJbnRSZWN0Jiwg
Ym9vbCBpbW1lZGlhdGUgPSBmYWxzZSwgYm9vbCBzaG91bGRDbGlwVG9MYXllciA9IHRydWUpIGNv
bnN0OworICAgIHZvaWQgcmVwYWludFVzaW5nQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGNvbnN0IExheW91dFJlY3QmLCBib29sIGltbWVk
aWF0ZSA9IGZhbHNlLCBib29sIHNob3VsZENsaXBUb0xheWVyID0gdHJ1ZSkgY29uc3Q7CiAgICAg
CiAgICAgLy8gUmVwYWludCB0aGUgZW50aXJlIG9iamVjdC4gIENhbGxlZCB3aGVuLCBlLmcuLCB0
aGUgY29sb3Igb2YgYSBib3JkZXIgY2hhbmdlcywgb3Igd2hlbiBhIGJvcmRlcgogICAgIC8vIHN0
eWxlIGNoYW5nZXMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223592</attachid>
            <date>2014-02-08 15:46:15 -0800</date>
            <delta_ts>2014-02-11 20:45:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>16144</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjZWYyYzMwLi4yYjlmMzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzYg
QEAKIDIwMTQtMDItMDggIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAorICAgICAg
ICBTdWJwaXhlbCByZW5kZXJpbmc6IFN3aXRjaCByZXBhaW50IHJlY3QgZnJvbSBJbnRSZWN0IHRv
IExheW91dFJlY3QgdG8gYmUgYWJsZSB0bworICAgICAgICByZXBhaW50IG9uIGRldmljZSBwaXhl
bCBib3VuZGFyaWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI4NDc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVuZGVyTGF5ZXIgbmVlZHMgdG8gYmUgYWJsZSB0byByZXBhaW50IG9uIGRldmljZSBw
aXhlbCBib3VuZGFyaWVzLiBSZW5kZXJWaWV3IHN0aWxsCisgICAgICAgIHJlcGFpbnRzIG9uIGlu
dGVncmFsIHBvc2l0aW9uLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5Lgor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmxheW91dFJ1bnNBbmRGbG9hdHMpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OnJlcGFpbnRBZnRlckxheW91dElmTmVlZGVkKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0
ZUxheWVyUG9zaXRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjbGVhclJl
cGFpbnRSZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsVG8pOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXlJblJlY3QpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6cmVw
YWludFVzaW5nQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6cmVw
YWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnJlcGFpbnRSZWN0YW5nbGUp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKworMjAxNC0wMi0wOCAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCiAgICAgICAgIFN1YnBpeGVsIHJlbmRlcmlu
ZzogTWFrZSBHcmFwaGljc0xheWVyQ2xpZW50OjpwYWludENvbnRlbnRzJ3MgY2xpcCByZWN0IHN1
YnBpeGVsIGJhc2VkLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI4NDYwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrTGluZUxheW91dC5jcHAKaW5kZXggMzUzN2M2YjAuLjc3NGZjYWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCkBAIC0xMDU5
LDcgKzEwNTksNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0UnVuc0FuZEZsb2F0cyhM
aW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBib29sIGhhcwogICAgICAgICAgICAgLy8gdGhh
dCB0aGUgYmxvY2sgcmVhbGx5IG5lZWRlZCBhIGZ1bGwgbGF5b3V0LCB3ZSBtaXNzZWQgb3VyIGNo
YW5jZSB0byByZXBhaW50IHRoZSBsYXllcgogICAgICAgICAgICAgLy8gYmVmb3JlIGxheW91dCBz
dGFydGVkLiAgTHVja2lseSB0aGUgbGF5ZXIgaGFzIGNhY2hlZCB0aGUgcmVwYWludCByZWN0IGZv
ciBpdHMgb3JpZ2luYWwKICAgICAgICAgICAgIC8vIHBvc2l0aW9uIGFuZCBzaXplLCBhbmQgc28g
d2UgY2FuIHVzZSB0aGF0IHRvIG1ha2UgYSByZXBhaW50IGhhcHBlbiBub3cuCi0gICAgICAgICAg
ICByZXBhaW50VXNpbmdDb250YWluZXIoY29udGFpbmVyRm9yUmVwYWludCgpLCBwaXhlbFNuYXBw
ZWRJbnRSZWN0KGxheWVyKCktPnJlcGFpbnRSZWN0KCkpKTsKKyAgICAgICAgICAgIHJlcGFpbnRV
c2luZ0NvbnRhaW5lcihjb250YWluZXJGb3JSZXBhaW50KCksIGxheWVyKCktPnJlcGFpbnRSZWN0
KCkpOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5jcHAKaW5kZXggMTdlZDQyMi4uMDRkMTVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMTE4Miw5ICsxMTgyLDkgQEAgYm9vbCBSZW5k
ZXJFbGVtZW50OjpyZXBhaW50QWZ0ZXJMYXlvdXRJZk5lZWRlZChjb25zdCBSZW5kZXJMYXllck1v
ZGVsT2JqZWN0KiByZXAKICAgICAgICAgcmVwYWludENvbnRhaW5lciA9ICZ2aWV3KCk7CiAKICAg
ICBpZiAoZnVsbFJlcGFpbnQpIHsKLSAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFp
bnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3Qob2xkQm91bmRzKSk7CisgICAgICAgIHJl
cGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCBvbGRCb3VuZHMpOwogICAgICAg
ICBpZiAobmV3Qm91bmRzICE9IG9sZEJvdW5kcykKLSAgICAgICAgICAgIHJlcGFpbnRVc2luZ0Nv
bnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCBwaXhlbFNuYXBwZWRJbnRSZWN0KG5ld0JvdW5kcykp
OworICAgICAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIG5l
d0JvdW5kcyk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApAQCAtMTE5MywyNyArMTE5
MywyNyBAQCBib29sIFJlbmRlckVsZW1lbnQ6OnJlcGFpbnRBZnRlckxheW91dElmTmVlZGVkKGNv
bnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcAogCiAgICAgTGF5b3V0VW5pdCBkZWx0YUxl
ZnQgPSBuZXdCb3VuZHMueCgpIC0gb2xkQm91bmRzLngoKTsKICAgICBpZiAoZGVsdGFMZWZ0ID4g
MCkKLSAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIHBpeGVs
U25hcHBlZEludFJlY3Qob2xkQm91bmRzLngoKSwgb2xkQm91bmRzLnkoKSwgZGVsdGFMZWZ0LCBv
bGRCb3VuZHMuaGVpZ2h0KCkpKTsKKyAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFp
bnRDb250YWluZXIsIExheW91dFJlY3Qob2xkQm91bmRzLngoKSwgb2xkQm91bmRzLnkoKSwgZGVs
dGFMZWZ0LCBvbGRCb3VuZHMuaGVpZ2h0KCkpKTsKICAgICBlbHNlIGlmIChkZWx0YUxlZnQgPCAw
KQotICAgICAgICByZXBhaW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgcGl4ZWxT
bmFwcGVkSW50UmVjdChuZXdCb3VuZHMueCgpLCBuZXdCb3VuZHMueSgpLCAtZGVsdGFMZWZ0LCBu
ZXdCb3VuZHMuaGVpZ2h0KCkpKTsKKyAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFp
bnRDb250YWluZXIsIExheW91dFJlY3QobmV3Qm91bmRzLngoKSwgbmV3Qm91bmRzLnkoKSwgLWRl
bHRhTGVmdCwgbmV3Qm91bmRzLmhlaWdodCgpKSk7CiAKICAgICBMYXlvdXRVbml0IGRlbHRhUmln
aHQgPSBuZXdCb3VuZHMubWF4WCgpIC0gb2xkQm91bmRzLm1heFgoKTsKICAgICBpZiAoZGVsdGFS
aWdodCA+IDApCi0gICAgICAgIHJlcGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVy
LCBwaXhlbFNuYXBwZWRJbnRSZWN0KG9sZEJvdW5kcy5tYXhYKCksIG5ld0JvdW5kcy55KCksIGRl
bHRhUmlnaHQsIG5ld0JvdW5kcy5oZWlnaHQoKSkpOworICAgICAgICByZXBhaW50VXNpbmdDb250
YWluZXIocmVwYWludENvbnRhaW5lciwgTGF5b3V0UmVjdChvbGRCb3VuZHMubWF4WCgpLCBuZXdC
b3VuZHMueSgpLCBkZWx0YVJpZ2h0LCBuZXdCb3VuZHMuaGVpZ2h0KCkpKTsKICAgICBlbHNlIGlm
IChkZWx0YVJpZ2h0IDwgMCkKLSAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRD
b250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3QobmV3Qm91bmRzLm1heFgoKSwgb2xkQm91bmRz
LnkoKSwgLWRlbHRhUmlnaHQsIG9sZEJvdW5kcy5oZWlnaHQoKSkpOworICAgICAgICByZXBhaW50
VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgTGF5b3V0UmVjdChuZXdCb3VuZHMubWF4
WCgpLCBvbGRCb3VuZHMueSgpLCAtZGVsdGFSaWdodCwgb2xkQm91bmRzLmhlaWdodCgpKSk7CiAK
ICAgICBMYXlvdXRVbml0IGRlbHRhVG9wID0gbmV3Qm91bmRzLnkoKSAtIG9sZEJvdW5kcy55KCk7
CiAgICAgaWYgKGRlbHRhVG9wID4gMCkKLSAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJl
cGFpbnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3Qob2xkQm91bmRzLngoKSwgb2xkQm91
bmRzLnkoKSwgb2xkQm91bmRzLndpZHRoKCksIGRlbHRhVG9wKSk7CisgICAgICAgIHJlcGFpbnRV
c2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCBMYXlvdXRSZWN0KG9sZEJvdW5kcy54KCks
IG9sZEJvdW5kcy55KCksIG9sZEJvdW5kcy53aWR0aCgpLCBkZWx0YVRvcCkpOwogICAgIGVsc2Ug
aWYgKGRlbHRhVG9wIDwgMCkKLSAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRD
b250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3QobmV3Qm91bmRzLngoKSwgbmV3Qm91bmRzLnko
KSwgbmV3Qm91bmRzLndpZHRoKCksIC1kZWx0YVRvcCkpOworICAgICAgICByZXBhaW50VXNpbmdD
b250YWluZXIocmVwYWludENvbnRhaW5lciwgTGF5b3V0UmVjdChuZXdCb3VuZHMueCgpLCBuZXdC
b3VuZHMueSgpLCBuZXdCb3VuZHMud2lkdGgoKSwgLWRlbHRhVG9wKSk7CiAKICAgICBMYXlvdXRV
bml0IGRlbHRhQm90dG9tID0gbmV3Qm91bmRzLm1heFkoKSAtIG9sZEJvdW5kcy5tYXhZKCk7CiAg
ICAgaWYgKGRlbHRhQm90dG9tID4gMCkKLSAgICAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJl
cGFpbnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3QobmV3Qm91bmRzLngoKSwgb2xkQm91
bmRzLm1heFkoKSwgbmV3Qm91bmRzLndpZHRoKCksIGRlbHRhQm90dG9tKSk7CisgICAgICAgIHJl
cGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCBMYXlvdXRSZWN0KG5ld0JvdW5k
cy54KCksIG9sZEJvdW5kcy5tYXhZKCksIG5ld0JvdW5kcy53aWR0aCgpLCBkZWx0YUJvdHRvbSkp
OwogICAgIGVsc2UgaWYgKGRlbHRhQm90dG9tIDwgMCkKLSAgICAgICAgcmVwYWludFVzaW5nQ29u
dGFpbmVyKHJlcGFpbnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3Qob2xkQm91bmRzLngo
KSwgbmV3Qm91bmRzLm1heFkoKSwgb2xkQm91bmRzLndpZHRoKCksIC1kZWx0YUJvdHRvbSkpOwor
ICAgICAgICByZXBhaW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgTGF5b3V0UmVj
dChvbGRCb3VuZHMueCgpLCBuZXdCb3VuZHMubWF4WSgpLCBvbGRCb3VuZHMud2lkdGgoKSwgLWRl
bHRhQm90dG9tKSk7CiAKICAgICBpZiAobmV3T3V0bGluZUJveCA9PSBvbGRPdXRsaW5lQm94KQog
ICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMjQwLDcgKzEyNDAsNyBAQCBib29sIFJlbmRlckVs
ZW1lbnQ6OnJlcGFpbnRBZnRlckxheW91dElmTmVlZGVkKGNvbnN0IFJlbmRlckxheWVyTW9kZWxP
YmplY3QqIHJlcAogICAgICAgICBMYXlvdXRVbml0IHJpZ2h0ID0gc3RkOjptaW48TGF5b3V0VW5p
dD4obmV3Qm91bmRzLm1heFgoKSwgb2xkQm91bmRzLm1heFgoKSk7CiAgICAgICAgIGlmIChyaWdo
dFJlY3QueCgpIDwgcmlnaHQpIHsKICAgICAgICAgICAgIHJpZ2h0UmVjdC5zZXRXaWR0aChzdGQ6
Om1pbihyaWdodFJlY3Qud2lkdGgoKSwgcmlnaHQgLSByaWdodFJlY3QueCgpKSk7Ci0gICAgICAg
ICAgICByZXBhaW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgcGl4ZWxTbmFwcGVk
SW50UmVjdChyaWdodFJlY3QpKTsKKyAgICAgICAgICAgIHJlcGFpbnRVc2luZ0NvbnRhaW5lcihy
ZXBhaW50Q29udGFpbmVyLCByaWdodFJlY3QpOwogICAgICAgICB9CiAgICAgfQogICAgIExheW91
dFVuaXQgaGVpZ2h0ID0gYWJzb2x1dGVWYWx1ZShuZXdPdXRsaW5lQm94LmhlaWdodCgpIC0gb2xk
T3V0bGluZUJveC5oZWlnaHQoKSk7CkBAIC0xMjYwLDcgKzEyNjAsNyBAQCBib29sIFJlbmRlckVs
ZW1lbnQ6OnJlcGFpbnRBZnRlckxheW91dElmTmVlZGVkKGNvbnN0IFJlbmRlckxheWVyTW9kZWxP
YmplY3QqIHJlcAogICAgICAgICBMYXlvdXRVbml0IGJvdHRvbSA9IHN0ZDo6bWluKG5ld0JvdW5k
cy5tYXhZKCksIG9sZEJvdW5kcy5tYXhZKCkpOwogICAgICAgICBpZiAoYm90dG9tUmVjdC55KCkg
PCBib3R0b20pIHsKICAgICAgICAgICAgIGJvdHRvbVJlY3Quc2V0SGVpZ2h0KHN0ZDo6bWluKGJv
dHRvbVJlY3QuaGVpZ2h0KCksIGJvdHRvbSAtIGJvdHRvbVJlY3QueSgpKSk7Ci0gICAgICAgICAg
ICByZXBhaW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgcGl4ZWxTbmFwcGVkSW50
UmVjdChib3R0b21SZWN0KSk7CisgICAgICAgICAgICByZXBhaW50VXNpbmdDb250YWluZXIocmVw
YWludENvbnRhaW5lciwgYm90dG9tUmVjdCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJu
IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggYWUw
NjUzZS4uNTBhNTIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CkBAIC00MjEsOSArNDIxLDkgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlTGF5ZXJQb3NpdGlv
bnMoUmVuZGVyR2VvbWV0cnlNYXAqIGdlb21ldHJ5TWFwLCBVcGRhdGVMYXkKICAgICAgICAgICAg
IGlmICghcmVuZGVyZXIoKS52aWV3KCkucHJpbnRpbmcoKSkgewogICAgICAgICAgICAgICAgIGJv
b2wgZGlkUmVwYWludCA9IGZhbHNlOwogICAgICAgICAgICAgICAgIGlmIChtX3JlcGFpbnRTdGF0
dXMgJiBOZWVkc0Z1bGxSZXBhaW50KSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyKCku
cmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJl
Y3Qob2xkUmVwYWludFJlY3QpKTsKKyAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS5yZXBh
aW50VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciwgb2xkUmVwYWludFJlY3QpOwogICAg
ICAgICAgICAgICAgICAgICBpZiAobV9yZXBhaW50UmVjdCAhPSBvbGRSZXBhaW50UmVjdCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS5yZXBhaW50VXNpbmdDb250YWluZXIo
cmVwYWludENvbnRhaW5lciwgcGl4ZWxTbmFwcGVkSW50UmVjdChtX3JlcGFpbnRSZWN0KSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJlcigpLnJlcGFpbnRVc2luZ0NvbnRhaW5lcihy
ZXBhaW50Q29udGFpbmVyLCBtX3JlcGFpbnRSZWN0KTsKICAgICAgICAgICAgICAgICAgICAgICAg
IGRpZFJlcGFpbnQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgfSBlbHNlIGlmIChzaG91bGRSZXBhaW50QWZ0ZXJMYXlvdXQoKSkgewpAQCAtNzA3LDggKzcw
Nyw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmNsZWFyUmVwYWludFJlY3RzKCkKICAgICBBU1NFUlQo
IW1faGFzVmlzaWJsZUNvbnRlbnQpOwogICAgIEFTU0VSVCghbV92aXNpYmxlQ29udGVudFN0YXR1
c0RpcnR5KTsKIAotICAgIG1fcmVwYWludFJlY3QgPSBJbnRSZWN0KCk7Ci0gICAgbV9vdXRsaW5l
Qm94ID0gSW50UmVjdCgpOworICAgIG1fcmVwYWludFJlY3QgPSBMYXlvdXRSZWN0KCk7CisgICAg
bV9vdXRsaW5lQm94ID0gTGF5b3V0UmVjdCgpOwogfQogCiB2b2lkIFJlbmRlckxheWVyOjp1cGRh
dGVMYXllclBvc2l0aW9uc0FmdGVyRG9jdW1lbnRTY3JvbGwoKQpAQCAtMjI4OSw3ICsyMjg5LDcg
QEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8oaW50IHgsIGludCB5KQogI2Vsc2UKICAgICBp
ZiAocmVxdWlyZXNSZXBhaW50KQogI2VuZGlmCi0gICAgICAgIHJlbmRlcmVyKCkucmVwYWludFVz
aW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJlY3QobV9yZXBh
aW50UmVjdCkpOworICAgICAgICByZW5kZXJlcigpLnJlcGFpbnRVc2luZ0NvbnRhaW5lcihyZXBh
aW50Q29udGFpbmVyLCBtX3JlcGFpbnRSZWN0KTsKIAogICAgIC8vIFNjaGVkdWxlIHRoZSBzY3Jv
bGwgRE9NIGV2ZW50LgogICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gcmVuZGVyZXIoKS5lbGVt
ZW50KCkpCkBAIC02MjAwLDEzICs2MjAwLDEzIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNldEJhY2tp
bmdOZWVkc1JlcGFpbnRJblJlY3QoY29uc3QgTGF5b3V0UmVjdCYgciwgR3JhcGhpY3NMYXllCiAK
ICAgICAgICAgcmVuZGVyZXIoKS52aWV3KCkucmVwYWludFZpZXdSZWN0YW5nbGUoYWJzUmVjdCk7
CiAgICAgfSBlbHNlCi0gICAgICAgIGJhY2tpbmcoKS0+c2V0Q29udGVudHNOZWVkRGlzcGxheUlu
UmVjdChwaXhlbFNuYXBwZWRJbnRSZWN0KHIpLCBzaG91bGRDbGlwKTsKKyAgICAgICAgYmFja2lu
ZygpLT5zZXRDb250ZW50c05lZWREaXNwbGF5SW5SZWN0KHIsIHNob3VsZENsaXApOwogfQogCiAv
LyBTaW5jZSB3ZSdyZSBvbmx5IHBhaW50aW5nIG5vbi1jb21wb3NpdGVkIGxheWVycywgd2Uga25v
dyB0aGF0IHRoZXkgYWxsIHNoYXJlIHRoZSBzYW1lIHJlcGFpbnRDb250YWluZXIuCiB2b2lkIFJl
bmRlckxheWVyOjpyZXBhaW50SW5jbHVkaW5nTm9uQ29tcG9zaXRpbmdEZXNjZW5kYW50cyhSZW5k
ZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKQogewotICAgIHJlbmRlcmVyKCku
cmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIsIHBpeGVsU25hcHBlZEludFJl
Y3QocmVuZGVyZXIoKS5jbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChyZXBhaW50Q29udGFp
bmVyKSkpOworICAgIHJlbmRlcmVyKCkucmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250
YWluZXIsIHJlbmRlcmVyKCkuY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQocmVwYWludENv
bnRhaW5lcikpOwogCiAgICAgZm9yIChSZW5kZXJMYXllciogY3VyciA9IGZpcnN0Q2hpbGQoKTsg
Y3VycjsgY3VyciA9IGN1cnItPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgaWYgKCFjdXJyLT5p
c0NvbXBvc2l0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHAKaW5kZXggNzk4YWFlYi4uNDJjYjVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTIwODIsNDEgKzIwODIsNDIg
QEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkoR3JhcGhp
Y3NMYXllcjo6U2hvdWxkQ2xpcFRvTGF5ZXIKIH0KIAogLy8gciBpcyBpbiB0aGUgY29vcmRpbmF0
ZSBzcGFjZSBvZiB0aGUgbGF5ZXIncyByZW5kZXIgb2JqZWN0Ci12b2lkIFJlbmRlckxheWVyQmFj
a2luZzo6c2V0Q29udGVudHNOZWVkRGlzcGxheUluUmVjdChjb25zdCBJbnRSZWN0JiByLCBHcmFw
aGljc0xheWVyOjpTaG91bGRDbGlwVG9MYXllciBzaG91bGRDbGlwKQordm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXlJblJlY3QoY29uc3QgTGF5b3V0UmVjdCYg
ciwgR3JhcGhpY3NMYXllcjo6U2hvdWxkQ2xpcFRvTGF5ZXIgc2hvdWxkQ2xpcCkKIHsKICAgICBB
U1NFUlQoIXBhaW50c0ludG9Db21wb3NpdGVkQW5jZXN0b3IoKSk7CiAKKyAgICBGbG9hdFJlY3Qg
cGl4ZWxTbmFwcGVkUmVjdEZvclBhaW50aW5nID0gcGl4ZWxTbmFwcGVkRm9yUGFpbnRpbmcociwg
ZGV2aWNlU2NhbGVGYWN0b3IoKSk7CiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSBvd25pbmdM
YXllcigpLnJlbmRlcmVyKCkudmlldygpLmZyYW1lVmlldygpOwogICAgIGlmIChtX2lzTWFpbkZy
YW1lUmVuZGVyVmlld0xheWVyICYmIGZyYW1lVmlldy5pc1RyYWNraW5nUmVwYWludHMoKSkKICAg
ICAgICAgZnJhbWVWaWV3LmFkZFRyYWNrZWRSZXBhaW50UmVjdChwaXhlbFNuYXBwZWRJbnRSZWN0
KHIpKTsKIAogICAgIGlmIChtX2dyYXBoaWNzTGF5ZXIgJiYgbV9ncmFwaGljc0xheWVyLT5kcmF3
c0NvbnRlbnQoKSkgewotICAgICAgICBJbnRSZWN0IGxheWVyRGlydHlSZWN0ID0gcjsKKyAgICAg
ICAgRmxvYXRSZWN0IGxheWVyRGlydHlSZWN0ID0gcGl4ZWxTbmFwcGVkUmVjdEZvclBhaW50aW5n
OwogICAgICAgICBsYXllckRpcnR5UmVjdC5tb3ZlKC1tX2dyYXBoaWNzTGF5ZXItPm9mZnNldEZy
b21SZW5kZXJlcigpKTsKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXROZWVkc0Rpc3BsYXlJ
blJlY3QobGF5ZXJEaXJ0eVJlY3QsIHNob3VsZENsaXApOwogICAgIH0KIAogICAgIGlmIChtX2Zv
cmVncm91bmRMYXllciAmJiBtX2ZvcmVncm91bmRMYXllci0+ZHJhd3NDb250ZW50KCkpIHsKLSAg
ICAgICAgSW50UmVjdCBsYXllckRpcnR5UmVjdCA9IHI7CisgICAgICAgIEZsb2F0UmVjdCBsYXll
ckRpcnR5UmVjdCA9IHBpeGVsU25hcHBlZFJlY3RGb3JQYWludGluZzsKICAgICAgICAgbGF5ZXJE
aXJ0eVJlY3QubW92ZSgtbV9mb3JlZ3JvdW5kTGF5ZXItPm9mZnNldEZyb21SZW5kZXJlcigpKTsK
ICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldE5lZWRzRGlzcGxheUluUmVjdChsYXllckRp
cnR5UmVjdCwgc2hvdWxkQ2xpcCk7CiAgICAgfQogCiAgICAgLy8gRklYTUU6IG5lZWQgdG8gc3Bs
aXQgb3V0IHJlcGFpbnRzIGZvciB0aGUgYmFja2dyb3VuZC4KICAgICBpZiAobV9iYWNrZ3JvdW5k
TGF5ZXIgJiYgbV9iYWNrZ3JvdW5kTGF5ZXItPmRyYXdzQ29udGVudCgpKSB7Ci0gICAgICAgIElu
dFJlY3QgbGF5ZXJEaXJ0eVJlY3QgPSByOworICAgICAgICBGbG9hdFJlY3QgbGF5ZXJEaXJ0eVJl
Y3QgPSBwaXhlbFNuYXBwZWRSZWN0Rm9yUGFpbnRpbmc7CiAgICAgICAgIGxheWVyRGlydHlSZWN0
Lm1vdmUoLW1fYmFja2dyb3VuZExheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKSk7CiAgICAgICAg
IG1fYmFja2dyb3VuZExheWVyLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QobGF5ZXJEaXJ0eVJlY3Qs
IHNob3VsZENsaXApOwogICAgIH0KIAogICAgIGlmIChtX21hc2tMYXllciAmJiBtX21hc2tMYXll
ci0+ZHJhd3NDb250ZW50KCkpIHsKLSAgICAgICAgSW50UmVjdCBsYXllckRpcnR5UmVjdCA9IHI7
CisgICAgICAgIEZsb2F0UmVjdCBsYXllckRpcnR5UmVjdCA9IHBpeGVsU25hcHBlZFJlY3RGb3JQ
YWludGluZzsKICAgICAgICAgbGF5ZXJEaXJ0eVJlY3QubW92ZSgtbV9tYXNrTGF5ZXItPm9mZnNl
dEZyb21SZW5kZXJlcigpKTsKICAgICAgICAgbV9tYXNrTGF5ZXItPnNldE5lZWRzRGlzcGxheUlu
UmVjdChsYXllckRpcnR5UmVjdCwgc2hvdWxkQ2xpcCk7CiAgICAgfQogCiAgICAgaWYgKG1fc2Ny
b2xsaW5nQ29udGVudHNMYXllciAmJiBtX3Njcm9sbGluZ0NvbnRlbnRzTGF5ZXItPmRyYXdzQ29u
dGVudCgpKSB7Ci0gICAgICAgIEludFJlY3QgbGF5ZXJEaXJ0eVJlY3QgPSByOworICAgICAgICBG
bG9hdFJlY3QgbGF5ZXJEaXJ0eVJlY3QgPSBwaXhlbFNuYXBwZWRSZWN0Rm9yUGFpbnRpbmc7CiAg
ICAgICAgIGxheWVyRGlydHlSZWN0Lm1vdmUoLW1fc2Nyb2xsaW5nQ29udGVudHNMYXllci0+b2Zm
c2V0RnJvbVJlbmRlcmVyKCkpOwogI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAgLy8gQWNjb3Vu
dCBmb3IgdGhlIGZhY3QgdGhhdCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5
ZXJHZW9tZXRyeSgpIGJha2VzIHNjcm9sbE9mZnNldCBpbnRvIG9mZnNldEZyb21SZW5kZXJlciBv
biBpT1MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgK
aW5kZXggZmJjN2ZjZS4uMmZjNjViMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuaApAQCAtMTI2LDcgKzEyNiw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgc2V0Q29udGVudHNOZWVkRGlzcGxheShHcmFwaGljc0xheWVyOjpTaG91bGRDbGlwVG9MYXll
ciA9IEdyYXBoaWNzTGF5ZXI6OkNsaXBUb0xheWVyKTsKICAgICAvLyByIGlzIGluIHRoZSBjb29y
ZGluYXRlIHNwYWNlIG9mIHRoZSBsYXllcidzIHJlbmRlciBvYmplY3QKLSAgICB2b2lkIHNldENv
bnRlbnRzTmVlZERpc3BsYXlJblJlY3QoY29uc3QgSW50UmVjdCYsIEdyYXBoaWNzTGF5ZXI6OlNo
b3VsZENsaXBUb0xheWVyID0gR3JhcGhpY3NMYXllcjo6Q2xpcFRvTGF5ZXIpOworICAgIHZvaWQg
c2V0Q29udGVudHNOZWVkRGlzcGxheUluUmVjdChjb25zdCBMYXlvdXRSZWN0JiwgR3JhcGhpY3NM
YXllcjo6U2hvdWxkQ2xpcFRvTGF5ZXIgPSBHcmFwaGljc0xheWVyOjpDbGlwVG9MYXllcik7CiAK
ICAgICAvLyBOb3RpZmljYXRpb24gZnJvbSB0aGUgcmVuZGVyZXIgdGhhdCBpdHMgY29udGVudCBj
aGFuZ2VkLgogICAgIHZvaWQgY29udGVudENoYW5nZWQoQ29udGVudENoYW5nZVR5cGUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBiMjZmYmNlLi43Y2U5
NWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTIz
NCw3ICsxMjM0LDcgQEAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogUmVuZGVyT2JqZWN0Ojpjb250
YWluZXJGb3JSZXBhaW50KCkgY29uc3QKICAgICByZXR1cm4gcmVwYWludENvbnRhaW5lcjsKIH0K
IAotdm9pZCBSZW5kZXJPYmplY3Q6OnJlcGFpbnRVc2luZ0NvbnRhaW5lcihjb25zdCBSZW5kZXJM
YXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBjb25zdCBJbnRSZWN0JiByLCBib29s
IGltbWVkaWF0ZSwgYm9vbCBzaG91bGRDbGlwVG9MYXllcikgY29uc3QKK3ZvaWQgUmVuZGVyT2Jq
ZWN0OjpyZXBhaW50VXNpbmdDb250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lciwgY29uc3QgTGF5b3V0UmVjdCYgciwgYm9vbCBpbW1lZGlhdGUsIGJv
b2wgc2hvdWxkQ2xpcFRvTGF5ZXIpIGNvbnN0CiB7CiAgICAgaWYgKCFyZXBhaW50Q29udGFpbmVy
KSB7CiAgICAgICAgIHZpZXcoKS5yZXBhaW50Vmlld1JlY3RhbmdsZShyLCBpbW1lZGlhdGUpOwpA
QCAtMTI4MCw3ICsxMjgwLDcgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OnJlcGFpbnQoYm9vbCBpbW1l
ZGlhdGUpIGNvbnN0CiAgICAgICAgIHJldHVybjsgLy8gRG9uJ3QgcmVwYWludCBpZiB3ZSdyZSBw
cmludGluZy4KIAogICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIg
PSBjb250YWluZXJGb3JSZXBhaW50KCk7Ci0gICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFp
bnRDb250YWluZXIgPyByZXBhaW50Q29udGFpbmVyIDogdmlldywgcGl4ZWxTbmFwcGVkSW50UmVj
dChjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChyZXBhaW50Q29udGFpbmVyKSksIGltbWVk
aWF0ZSk7CisgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWluZXIgPyByZXBh
aW50Q29udGFpbmVyIDogdmlldywgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQocmVwYWlu
dENvbnRhaW5lciksIGltbWVkaWF0ZSk7CiB9CiAKIHZvaWQgUmVuZGVyT2JqZWN0OjpyZXBhaW50
UmVjdGFuZ2xlKGNvbnN0IExheW91dFJlY3QmIHIsIGJvb2wgaW1tZWRpYXRlLCBib29sIHNob3Vs
ZENsaXBUb0xheWVyKSBjb25zdApAQCAtMTMwMSw3ICsxMzAxLDcgQEAgdm9pZCBSZW5kZXJPYmpl
Y3Q6OnJlcGFpbnRSZWN0YW5nbGUoY29uc3QgTGF5b3V0UmVjdCYgciwgYm9vbCBpbW1lZGlhdGUs
IGJvb2wgc2gKIAogICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIg
PSBjb250YWluZXJGb3JSZXBhaW50KCk7CiAgICAgY29tcHV0ZVJlY3RGb3JSZXBhaW50KHJlcGFp
bnRDb250YWluZXIsIGRpcnR5UmVjdCk7Ci0gICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFp
bnRDb250YWluZXIgPyByZXBhaW50Q29udGFpbmVyIDogdmlldywgcGl4ZWxTbmFwcGVkSW50UmVj
dChkaXJ0eVJlY3QpLCBpbW1lZGlhdGUsIHNob3VsZENsaXBUb0xheWVyKTsKKyAgICByZXBhaW50
VXNpbmdDb250YWluZXIocmVwYWludENvbnRhaW5lciA/IHJlcGFpbnRDb250YWluZXIgOiB2aWV3
LCBkaXJ0eVJlY3QsIGltbWVkaWF0ZSwgc2hvdWxkQ2xpcFRvTGF5ZXIpOwogfQogCiB2b2lkIFJl
bmRlck9iamVjdDo6cmVwYWludFNsb3dSZXBhaW50T2JqZWN0KCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA5MTg3MmFjLi45NjdjMDAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC03MjQsNyArNzI0LDcgQEAgcHVi
bGljOgogICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGNvbnRhaW5lckZvclJlcGFpbnQoKSBj
b25zdDsKICAgICAvLyBBY3R1YWxseSBkbyB0aGUgcmVwYWludCBvZiByZWN0IHIgZm9yIHRoaXMg
b2JqZWN0IHdoaWNoIGhhcyBiZWVuIGNvbXB1dGVkIGluIHRoZSBjb29yZGluYXRlIHNwYWNlCiAg
ICAgLy8gb2YgcmVwYWludENvbnRhaW5lci4gSWYgcmVwYWludENvbnRhaW5lciBpcyAwLCByZXBh
aW50IHZpYSB0aGUgdmlldy4KLSAgICB2b2lkIHJlcGFpbnRVc2luZ0NvbnRhaW5lcihjb25zdCBS
ZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBjb25zdCBJbnRSZWN0Jiwg
Ym9vbCBpbW1lZGlhdGUgPSBmYWxzZSwgYm9vbCBzaG91bGRDbGlwVG9MYXllciA9IHRydWUpIGNv
bnN0OworICAgIHZvaWQgcmVwYWludFVzaW5nQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGNvbnN0IExheW91dFJlY3QmLCBib29sIGltbWVk
aWF0ZSA9IGZhbHNlLCBib29sIHNob3VsZENsaXBUb0xheWVyID0gdHJ1ZSkgY29uc3Q7CiAgICAg
CiAgICAgLy8gUmVwYWludCB0aGUgZW50aXJlIG9iamVjdC4gIENhbGxlZCB3aGVuLCBlLmcuLCB0
aGUgY29sb3Igb2YgYSBib3JkZXIgY2hhbmdlcywgb3Igd2hlbiBhIGJvcmRlcgogICAgIC8vIHN0
eWxlIGNoYW5nZXMuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>