Merge kyledrake changes
36
app.rb
|
@ -267,6 +267,42 @@ get '/plan/?' do
|
|||
erb :'plan/index'
|
||||
end
|
||||
|
||||
post '/plan/update' do
|
||||
require_login
|
||||
|
||||
DB.transaction do
|
||||
customer = Stripe::Customer.create(
|
||||
card: params[:stripe_token],
|
||||
description: "#{parent_site.username} - #{parent_site.id}",
|
||||
email: (current_site.email || parent_site.email),
|
||||
plan: params[:plan_type]
|
||||
)
|
||||
|
||||
parent_site.update(
|
||||
stripe_customer_id: customer.id,
|
||||
plan_ended: false,
|
||||
plan_type: params[:plan_type]
|
||||
)
|
||||
|
||||
if current_site.email || parent_site.email
|
||||
EmailWorker.perform_async({
|
||||
from: 'web@neocities.org',
|
||||
reply_to: 'contact@neocities.org',
|
||||
to: current_site.email || parent_site.email,
|
||||
subject: "[Neocities] You've become a supporter!",
|
||||
body: Tilt.new('./views/templates/email_subscription.erb', pretty: true).render(self, plan_name: Site::PLAN_FEATURES[params[:plan_type].to_sym][:name])
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
redirect '/plan/thanks'
|
||||
end
|
||||
|
||||
get '/plan/thanks' do
|
||||
require_login
|
||||
erb :'plan/thanks'
|
||||
end
|
||||
|
||||
=begin
|
||||
get '/plan/?' do
|
||||
@title = 'Supporter'
|
||||
|
|
|
@ -830,12 +830,10 @@ class Site < Sequel::Model
|
|||
((total_used_space.to_f / maximum_space) * 100).round(1)
|
||||
end
|
||||
|
||||
# This returns true even if they end their support plan.
|
||||
def supporter?
|
||||
!owner.values[:stripe_customer_id].nil?
|
||||
plan_type != 'free'
|
||||
end
|
||||
|
||||
# This will return false if they have ended their plan.
|
||||
def ended_supporter?
|
||||
owner.values[:plan_ended]
|
||||
end
|
||||
|
|
1
public/css/skeuocard.css
Normal file
1
public/css/skeuocard.reset.css
Normal file
|
@ -0,0 +1 @@
|
|||
.skeuocard.js *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.skeuocard.js html,.skeuocard.js body,.skeuocard.js div,.skeuocard.js span,.skeuocard.js applet,.skeuocard.js object,.skeuocard.js iframe,.skeuocard.js h1,.skeuocard.js h2,.skeuocard.js h3,.skeuocard.js h4,.skeuocard.js h5,.skeuocard.js h6,.skeuocard.js p,.skeuocard.js blockquote,.skeuocard.js pre,.skeuocard.js a,.skeuocard.js abbr,.skeuocard.js acronym,.skeuocard.js address,.skeuocard.js big,.skeuocard.js cite,.skeuocard.js code,.skeuocard.js del,.skeuocard.js dfn,.skeuocard.js em,.skeuocard.js img,.skeuocard.js ins,.skeuocard.js kbd,.skeuocard.js q,.skeuocard.js s,.skeuocard.js samp,.skeuocard.js small,.skeuocard.js strike,.skeuocard.js strong,.skeuocard.js sub,.skeuocard.js sup,.skeuocard.js tt,.skeuocard.js var,.skeuocard.js b,.skeuocard.js u,.skeuocard.js i,.skeuocard.js center,.skeuocard.js dl,.skeuocard.js dt,.skeuocard.js dd,.skeuocard.js ol,.skeuocard.js ul,.skeuocard.js li,.skeuocard.js fieldset,.skeuocard.js form,.skeuocard.js label,.skeuocard.js legend,.skeuocard.js table,.skeuocard.js caption,.skeuocard.js tbody,.skeuocard.js tfoot,.skeuocard.js thead,.skeuocard.js tr,.skeuocard.js th,.skeuocard.js td,.skeuocard.js article,.skeuocard.js aside,.skeuocard.js canvas,.skeuocard.js details,.skeuocard.js figcaption,.skeuocard.js figure,.skeuocard.js footer,.skeuocard.js header,.skeuocard.js hgroup,.skeuocard.js menu,.skeuocard.js nav,.skeuocard.js section,.skeuocard.js summary,.skeuocard.js time,.skeuocard.js mark,.skeuocard.js audio,.skeuocard.js video{margin:0;padding:0;border:0;outline:0;font-size:100%;font:inherit;vertical-align:baseline}.skeuocard.js article,.skeuocard.js aside,.skeuocard.js details,.skeuocard.js figcaption,.skeuocard.js figure,.skeuocard.js footer,.skeuocard.js header,.skeuocard.js hgroup,.skeuocard.js menu,.skeuocard.js nav,.skeuocard.js section{display:block}.skeuocard.js body{line-height:1}.skeuocard.js ol,.skeuocard.js ul{list-style:none}.skeuocard.js blockquote,.skeuocard.js q{quotes:none}.skeuocard.js blockquote:before,.skeuocard.js blockquote:after,.skeuocard.js q:before,.skeuocard.js q:after{content:'';content:none}.skeuocard.js ins{text-decoration:none}.skeuocard.js del{text-decoration:line-through}.skeuocard.js table{border-collapse:collapse;border-spacing:0}.skeuocard.js input,.skeuocard.js fieldset{line-height:normal;height:auto;padding:0px;margin:0px;display:inline-block;width:auto}
|
BIN
public/fonts/ocra-webfont.eot
Executable file
138
public/fonts/ocra-webfont.svg
Executable file
|
@ -0,0 +1,138 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata></metadata>
|
||||
<defs>
|
||||
<font id="ocraregular" horiz-adv-x="1480" >
|
||||
<font-face units-per-em="2048" ascent="1638" descent="-410" />
|
||||
<missing-glyph horiz-adv-x="500" />
|
||||
<glyph />
|
||||
<glyph />
|
||||
<glyph unicode="
" />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode="!" d="M586 104v86q0 43 30.5 73t73.5 30h101q43 0 73.5 -30t30.5 -73v-86q0 -43 -30.5 -73.5t-73.5 -30.5h-101q-43 0 -73.5 30.5t-30.5 73.5zM586 1495q0 41 30.5 71.5t73.5 30.5h101q41 0 72.5 -28.5t31.5 -67.5v-6l-51 -784q0 -43 -31 -73t-72 -30q-43 0 -71.5 30t-32.5 73z " />
|
||||
<glyph unicode=""" d="M227 1495q0 6 4 27v75h1020v-65q4 -16 4 -25q0 -12 -4 -32v-29q-41 -152 -100 -475q-20 -102 -107 -103q-41 0 -73.5 27t-32.5 63q0 2 1 6.5t1 6.5l-84 420h-233l-86 -439q-6 -35 -35 -59.5t-66 -24.5t-65.5 23.5t-36.5 60.5z" />
|
||||
<glyph unicode="#" d="M231 713q0 41 30 71.5t73 30.5h100v227h-100q-43 0 -73 31t-30 74t30 72.5t73 29.5h100v246q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-246h199v246q0 41 30.5 71.5t73.5 30.5t73 -30.5t30 -71.5v-246h100q43 0 73.5 -29.5t30.5 -72.5t-30.5 -74t-73.5 -31h-100v-227 h100q43 0 73.5 -30.5t30.5 -71.5q0 -43 -30.5 -74t-73.5 -31h-100v-243q0 -43 -30 -74t-73 -31t-73.5 31t-30.5 74v243h-199v-243q0 -43 -30.5 -74t-73.5 -31t-73 31t-30 74v243h-100q-43 0 -73 31t-30 74zM641 815h199v227h-199v-227z" />
|
||||
<glyph unicode="$" d="M231 451q0 43 30 73.5t73 30.5h710v139h-710q-43 0 -73 31t-30 74v348q0 43 30 72.5t73 29.5h303v246q0 41 30.5 71.5t73.5 30.5q41 0 72 -30.5t31 -71.5v-246h303q43 0 73.5 -29.5t30.5 -72.5t-30.5 -74t-73.5 -31h-711v-139h711q43 0 73.5 -30.5t30.5 -73.5v-348 q0 -43 -30.5 -73t-73.5 -30h-303v-244q0 -43 -31 -73.5t-72 -30.5q-43 0 -73.5 30.5t-30.5 73.5v244h-303q-43 0 -73 30t-30 73z" />
|
||||
<glyph unicode="%" d="M231 276q0 41 21 64l813 1044q29 39 82 39q43 0 73.5 -29.5t30.5 -72.5q0 -37 -22 -64l-813 -1044q-29 -39 -82 -39q-43 0 -73 29.5t-30 72.5zM231 1321v174q0 41 30 71.5t73 30.5h203q43 0 73.5 -30.5t30.5 -71.5v-174q0 -43 -30.5 -73.5t-73.5 -30.5h-203 q-43 0 -73 30.5t-30 73.5zM840 104v172q0 43 30.5 74t73.5 31h203q43 0 73.5 -31t30.5 -74v-172q0 -43 -30.5 -73.5t-73.5 -30.5h-203q-43 0 -73.5 30.5t-30.5 73.5z" />
|
||||
<glyph unicode="&" d="M231 309v142q0 49 35 79l189 162l-197 209q-27 31 -27 72v141q0 127 91.5 218t218.5 91h196q127 0 218.5 -91t91.5 -218v-141q0 -51 -35 -80l-256 -219l219 -234l104 90q31 25 68 25q43 0 73.5 -30.5t30.5 -73.5q0 -27 -16 -53.5t-31.5 -41t-49.5 -39t-38 -28.5l107 -115 q29 -33 28 -70q0 -43 -30.5 -73.5t-73.5 -30.5q-47 0 -76 33l-113 121l-151 -129q-31 -25 -66 -25h-200q-127 0 -218.5 91t-91.5 218zM438 309q0 -43 31 -72.5t72 -29.5h161l115 98l-219 234l-160 -136v-94zM438 1014l174 -187l228 193v94q0 41 -31 72t-72 31h-196 q-41 0 -72 -30t-31 -73v-100z" />
|
||||
<glyph unicode="'" d="M535 799v696q0 41 30.5 71.5t73.5 30.5h203q43 0 73.5 -30.5t30.5 -71.5q0 -10 -4 -31l-203 -690q-10 -35 -36.5 -56.5t-63.5 -21.5q-43 0 -73.5 30t-30.5 73z" />
|
||||
<glyph unicode="(" d="M535 602v393q0 141 88 256l239 308q33 39 82 38q43 0 73 -30.5t30 -71.5q0 -35 -21 -65l-240 -306q-45 -59 -45 -129v-393q0 -70 45 -129l240 -305q20 -31 21 -64q0 -43 -30 -73.5t-73 -30.5q-49 0 -82 39l-239 307q-88 115 -88 256z" />
|
||||
<glyph unicode=")" d="M434 104q0 33 21 64l239 305q45 59 45 129v393q0 70 -45 129l-239 306q-20 31 -21 65q0 41 30 71.5t73 30.5q49 0 81 -38l240 -308q88 -115 88 -256v-393q0 -141 -88 -256l-240 -307q-33 -39 -81 -39q-43 0 -73 30.5t-30 73.5z" />
|
||||
<glyph unicode="*" d="M231 451q0 49 35 79l314 269l-314 268q-35 31 -35 80q0 43 30 72.5t73 29.5q39 0 67 -24l236 -201v297q0 43 30.5 72.5t73.5 29.5q41 0 72 -29.5t31 -72.5v-297l235 201q27 25 68 24q43 0 73.5 -29.5t30.5 -72.5q0 -47 -37 -80l-313 -268l313 -269q37 -33 37 -79 q0 -43 -30.5 -73t-73.5 -30q-41 0 -68 25l-235 200v-297q0 -43 -31 -72.5t-72 -29.5q-43 0 -73.5 29.5t-30.5 72.5v297l-236 -200q-29 -25 -67 -25q-43 0 -73 30t-30 73z" />
|
||||
<glyph unicode="+" d="M231 799q0 43 30 73.5t73 30.5h303v303q0 41 30.5 72t73.5 31q41 0 72 -31t31 -72v-303h303q43 0 73.5 -30.5t30.5 -73.5t-30.5 -73t-73.5 -30h-303v-303q0 -43 -31 -73.5t-72 -30.5q-43 0 -73.5 30.5t-30.5 73.5v303h-303q-43 0 -73 30t-30 73z" />
|
||||
<glyph unicode="," d="M434 625q0 43 30 73.5t73 30.5h407q43 0 73 -30.5t30 -73.5v-521q0 -43 -30 -73.5t-73 -30.5t-73.5 30.5t-30.5 73.5v418h-303q-43 0 -73 30t-30 73z" />
|
||||
<glyph unicode="-" d="M231 713v86q0 43 30 73.5t73 30.5h813q43 0 73.5 -30.5t30.5 -73.5v-86q0 -43 -30.5 -74t-73.5 -31h-813q-43 0 -73 31t-30 74z" />
|
||||
<glyph unicode="." d="M535 365v174q0 43 30.5 72.5t73.5 29.5h203q43 0 73.5 -29.5t30.5 -72.5v-174q0 -43 -30.5 -74t-73.5 -31h-203q-43 0 -73.5 31t-30.5 74z" />
|
||||
<glyph unicode="/" d="M231 104q0 27 13 52l813 1390q31 51 90 51q43 0 73.5 -30.5t30.5 -71.5q0 -25 -14 -53l-813 -1391q-31 -51 -90 -51q-43 0 -73 30.5t-30 73.5z" />
|
||||
<glyph unicode="0" d="M231 207v1184q0 84 61.5 145t145.5 61h606q82 0 144.5 -61t62.5 -145v-1184q0 -84 -62.5 -145.5t-144.5 -61.5h-606q-84 0 -145.5 61.5t-61.5 145.5zM438 207h606v1184h-606v-1184z" />
|
||||
<glyph unicode="1" d="M231 104q0 41 30 72t73 31h303v1184h-303q-43 0 -73 30.5t-30 73.5q0 41 30 71.5t73 30.5h510v-1390h200v418q0 43 30 73.5t73 30.5t73.5 -30.5t30.5 -73.5v-521q0 -43 -30.5 -73.5t-73.5 -30.5h-813q-43 0 -73 30.5t-30 73.5z" />
|
||||
<glyph unicode="2" d="M231 0v696q0 84 61.5 144.5t145.5 60.5h606v490h-710q-43 0 -73 30.5t-30 73.5q0 41 30 71.5t73 30.5h710q82 0 144.5 -61t62.5 -145v-490q0 -82 -61.5 -143.5t-145.5 -61.5h-606v-489h709q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5h-916z" />
|
||||
<glyph unicode="3" d="M231 104q0 41 30 72t73 31h710v385q0 41 -31.5 72.5t-72.5 31.5h-403q-43 0 -73 30t-30 73t30 73.5t73 30.5h403q43 0 73.5 31t30.5 72v385h-710q-43 0 -73 30.5t-30 73.5q0 41 30 71.5t73 30.5h710q82 0 144.5 -61t62.5 -145v-385q0 -119 -82 -207q82 -88 82 -207v-385 q0 -84 -62.5 -145.5t-144.5 -61.5h-710q-43 0 -73 30.5t-30 73.5z" />
|
||||
<glyph unicode="4" d="M281 522v973q0 41 30.5 71.5t73.5 30.5t72.5 -30.5t29.5 -71.5v-766h404v592q0 43 30.5 72.5t73.5 29.5q41 0 72 -29.5t31 -72.5v-592q43 0 72.5 -30.5t29.5 -73.5t-29.5 -73t-72.5 -30v-418q0 -43 -31 -73.5t-72 -30.5q-43 0 -73.5 30.5t-30.5 73.5v418h-610z" />
|
||||
<glyph unicode="5" d="M231 190q0 43 30 73t73 30q25 0 41 -8l184 -78h485v489h-610v901h713q43 0 73.5 -30.5t30.5 -71.5q0 -43 -30.5 -73.5t-73.5 -30.5h-506v-488h403q82 0 144.5 -62.5t62.5 -144.5v-489q0 -84 -62.5 -145.5t-144.5 -61.5h-464q-41 0 -83 10t-69 21.5t-72 33t-63 29.5 q-62 26 -62 96z" />
|
||||
<glyph unicode="6" d="M231 104v1391q0 41 30 71.5t73 30.5h102q43 0 73 -30.5t30 -71.5q0 -43 -30 -73.5t-73 -30.5v-662h711q43 0 73.5 -30.5t30.5 -73.5v-521q0 -43 -30.5 -73.5t-73.5 -30.5h-813q-43 0 -73 30.5t-30 73.5zM436 207h608v315h-608v-315z" />
|
||||
<glyph unicode="7" d="M231 1407v88q0 41 30 71.5t73 30.5h917v-624q0 -47 -37 -80l-370 -315v-474q0 -43 -31 -73.5t-72 -30.5q-43 0 -73.5 30.5t-30.5 73.5v521q0 47 37 80l370 315v371h-608q-6 -37 -34.5 -61.5t-67.5 -24.5q-43 0 -73 29.5t-30 72.5z" />
|
||||
<glyph unicode="8" d="M231 207v489q0 84 60.5 145.5t144.5 61.5v592q0 43 29 72.5t72 29.5h407q43 0 71.5 -29.5t28.5 -72.5v-592q82 0 144.5 -62.5t62.5 -144.5v-489q0 -84 -62.5 -145.5t-144.5 -61.5h-608q-84 0 -144.5 61.5t-60.5 145.5zM436 207h608v489h-608v-489zM641 903h199v488h-199 v-488z" />
|
||||
<glyph unicode="9" d="M231 973v522q0 41 30 71.5t73 30.5h813q43 0 73.5 -30.5t30.5 -71.5v-1391q0 -43 -30.5 -73.5t-73.5 -30.5h-103q-43 0 -72.5 30.5t-29.5 73.5q0 41 29.5 72t72.5 31v661h-710q-43 0 -73 31t-30 74zM436 1075h608v316h-608v-316z" />
|
||||
<glyph unicode=":" d="M535 365v174q0 43 30.5 72.5t73.5 29.5h203q43 0 73.5 -29.5t30.5 -72.5v-174q0 -43 -30.5 -74t-73.5 -31h-203q-43 0 -73.5 31t-30.5 74zM535 1059v174q0 43 30.5 73.5t73.5 30.5h203q43 0 73.5 -30.5t30.5 -73.5v-174q0 -43 -30.5 -73t-73.5 -30h-203q-43 0 -73.5 30 t-30.5 73z" />
|
||||
<glyph unicode=";" d="M434 625q0 43 30 73.5t73 30.5h407q43 0 73 -30.5t30 -73.5v-521q0 -43 -30 -73.5t-73 -30.5t-73.5 30.5t-30.5 73.5v418h-303q-43 0 -73 30t-30 73zM434 1147v174q0 43 30 72.5t73 29.5h204q41 0 72 -29.5t31 -72.5v-174q0 -43 -31 -74t-72 -31h-204q-43 0 -73 31 t-30 74z" />
|
||||
<glyph unicode="<" d="M231 754v88q0 59 50 90l813 477q23 14 53 14q43 0 73.5 -29.5t30.5 -72.5q0 -57 -51 -90l-735 -432l735 -432q51 -33 51 -91q0 -43 -30.5 -72.5t-73.5 -29.5q-31 0 -53 14l-813 478q-50 31 -50 88z" />
|
||||
<glyph unicode="=" d="M231 625q0 43 30 73.5t73 30.5h813q43 0 73.5 -30.5t30.5 -73.5t-30.5 -73t-73.5 -30h-813q-43 0 -73 30t-30 73zM231 1059q0 43 30 73.5t73 30.5h813q43 0 73.5 -30.5t30.5 -73.5t-30.5 -73t-73.5 -30h-813q-43 0 -73 30t-30 73z" />
|
||||
<glyph unicode=">" d="M231 276q0 59 50 91l737 432l-737 432q-49 31 -50 90q0 43 30 72.5t73 29.5q31 0 53 -14l813 -477q51 -33 51 -90v-86q0 -59 -41 -84l-823 -484q-23 -14 -53 -14q-43 0 -73 29.5t-30 72.5z" />
|
||||
<glyph unicode="?" d="M231 973q0 49 35 78l611 522q31 25 67.5 24.5t67.5 -24.5l202 -174q37 -31 37 -78v-174q0 -47 -37 -80l-573 -489v-127q0 -43 -30.5 -73t-73.5 -30t-73 30t-30 73v174q0 51 35 80l575 489v78l-100 86l-543 -465q-31 -25 -67 -25q-43 0 -73 31t-30 74zM434 104q0 41 30 72 t73 31t73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5z" />
|
||||
<glyph unicode="@" d="M231 307v375q0 127 90.5 217t215.5 90h204q41 0 72 -30.5t31 -73.5v-578q0 -41 29.5 -70.5t70.5 -29.5t70.5 29.5t29.5 70.5v926q0 66 -47 112t-110 46h-293q-51 0 -97 -36t-71 -83q-29 -55 -92 -55q-43 0 -73 30.5t-30 73.5q0 74 111 174q113 102 252 102h293 q150 0 257 -108.5t107 -255.5v-926q0 -125 -91 -216t-216 -91q-117 0 -203 80q-90 -80 -204 -80q-125 0 -215.5 90t-90.5 217zM438 307q0 -41 29 -70.5t70 -29.5t70.5 29.5t29.5 70.5v475h-100q-41 0 -70 -29.5t-29 -70.5v-375z" />
|
||||
<glyph unicode="A" d="M225 104l416 1420q10 33 37 53t61.5 20t63 -20.5t37.5 -52.5l413 -1420q0 -43 -31.5 -73.5t-74.5 -30.5q-35 0 -61.5 20.5t-36.5 53.5l-80 274h-457l-80 -274q-10 -33 -37.5 -53.5t-62.5 -20.5q-43 0 -75 30.5t-32 73.5zM573 555h334l-168 569z" />
|
||||
<glyph unicode="B" d="M231 0v1597h607q168 0 290.5 -122.5t122.5 -290.5v-76q0 -182 -143 -309q143 -127 143 -310v-75q0 -168 -122.5 -291t-290.5 -123h-607zM438 207h400q84 0 145 62.5t61 144.5v75q0 84 -61 145.5t-145 61.5h-400v-489zM438 903h400q84 0 145 61.5t61 143.5v76 q0 82 -61 144.5t-145 62.5h-400v-488z" />
|
||||
<glyph unicode="C" d="M231 799q0 109 50 211l206 417q33 74 110 122t169 48h381q43 0 73.5 -30.5t30.5 -71.5q0 -43 -30.5 -73.5t-73.5 -30.5h-381q-63 0 -90 -58l-211 -415q-27 -57 -27 -119t27 -119l211 -416q27 -57 90 -57h381q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5h-381 q-90 0 -165 49t-112 123q-152 289 -208 416q-50 105 -50 211z" />
|
||||
<glyph unicode="D" d="M231 104q0 41 30 72t73 31h100v1184h-100q-43 0 -73 30.5t-30 73.5q0 41 30 71.5t73 30.5h381q90 0 164.5 -49t111.5 -123l209 -415q51 -106 51 -211t-51 -211l-207 -418q-33 -74 -109.5 -122t-168.5 -48h-381q-43 0 -73 30.5t-30 73.5zM641 207h74q63 0 90 57l211 416 q29 70 28 119q0 61 -28 119l-211 415q-27 57 -90 58h-74v-1184z" />
|
||||
<glyph unicode="E" d="M231 0v1597h916q43 0 73.5 -30.5t30.5 -71.5q0 -43 -30.5 -73.5t-73.5 -30.5h-709v-488h303q41 0 72 -30.5t31 -73.5t-31 -73t-72 -30h-303v-489h709q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5h-916z" />
|
||||
<glyph unicode="F" d="M231 104v1493h916q43 0 73.5 -30.5t30.5 -71.5q0 -43 -30.5 -73.5t-73.5 -30.5h-709v-316h506q43 0 73 -29.5t30 -72.5t-30 -74t-73 -31h-506v-764q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5z" />
|
||||
<glyph unicode="G" d="M231 311v555q0 141 86 252l279 361q91 118 243 118h3h305q43 0 73.5 -30.5t30.5 -71.5q0 -43 -30.5 -73.5t-73.5 -30.5h-305q-51 0 -82 -41l-279 -357q-43 -57 -43 -127v-555q0 -43 31 -73.5t72 -30.5h399q41 0 72.5 30.5t31.5 73.5v211h-202q-43 0 -73 30t-30 73 t30 73.5t73 30.5h409v-418q0 -127 -92 -219t-219 -92h-399q-129 0 -219.5 91t-90.5 220z" />
|
||||
<glyph unicode="H" d="M231 104v1391q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-592h606v592q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-1391q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5v592h-606v-592q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5z" />
|
||||
<glyph unicode="I" d="M231 104q0 41 30 72t73 31h303v1184h-303q-43 0 -73 30.5t-30 73.5q0 41 30 71.5t73 30.5h813q43 0 73.5 -30.5t30.5 -71.5q0 -43 -30.5 -73.5t-73.5 -30.5h-303v-1184h303q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5h-813q-43 0 -73 30.5t-30 73.5z" />
|
||||
<glyph unicode="J" d="M332 309v316q0 43 30.5 73.5t73.5 30.5t73 -30.5t30 -73.5v-316q0 -43 30.5 -72.5t73.5 -29.5h195q43 0 73.5 30.5t30.5 71.5v1186q0 41 29.5 71.5t72.5 30.5t74 -30.5t31 -71.5v-1186q0 -127 -92 -218t-219 -91h-195q-127 0 -219 91t-92 218z" />
|
||||
<glyph unicode="K" d="M231 104v1391q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-471l641 549q30 24 65 24h3q43 0 73.5 -30.5t30.5 -71.5q0 -49 -37 -80l-720 -616l720 -617q37 -31 37 -78q0 -43 -30.5 -73.5t-73.5 -30.5q-37 0 -68 25l-641 548v-469q0 -43 -30.5 -73.5t-73.5 -30.5 t-73 30.5t-30 73.5z" />
|
||||
<glyph unicode="L" d="M231 0v1495q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-1288h709q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5h-916z" />
|
||||
<glyph unicode="M" d="M231 104v1493h258l252 -358l250 358h260v-1493q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5v1209l-200 -287v-53q0 -43 -31 -74t-72 -31q-43 0 -73.5 31t-30.5 74v53l-199 283v-1205q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5z" />
|
||||
<glyph unicode="N" d="M231 104v1493h273l540 -1232v1130q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-1495h-274l-539 1229v-1125q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5z" />
|
||||
<glyph unicode="O" d="M231 799q0 109 50 211l219 440q33 63 97.5 105t141.5 42q80 0 144.5 -42t97.5 -105l219 -440q51 -106 51 -211t-51 -211l-219 -441q-33 -63 -97.5 -105t-144.5 -42q-78 0 -142.5 42t-96.5 105l-219 441q-50 94 -50 211zM438 798.5q0 -61.5 27 -118.5l221 -438 q16 -35 53 -35q41 0 58 33l219 440q29 70 28 119q0 61 -28 119l-221 436q-16 37 -56 37q-35 0 -53 -37l-221 -436q-27 -58 -27 -119.5z" />
|
||||
<glyph unicode="P" d="M231 104v1493h709q127 0 219 -91t92 -218v-368q0 -127 -92 -219.5t-219 -92.5h-502v-504q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5zM438 815h502q41 0 72.5 31t31.5 74v368q0 41 -31.5 72t-72.5 31h-502v-576z" />
|
||||
<glyph unicode="Q" d="M231 252v577q0 193 144 318l461 389q66 61 161 61q102 0 178 -74.5t76 -176.5v-578q0 -47 -8 -89t-28.5 -80t-35 -63.5t-50 -60.5t-50 -48t-59.5 -50t-55 -45l49 -125h133q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5h-275l-75 193l-154 -132 q-70 -61 -162 -61q-102 0 -176 75t-74 177zM438 252q0 -45 43 -45h17l221 188l-76 193q-6 14 -6 37q0 43 30.5 73.5t73.5 30.5q27 0 47.5 -11t36 -38t23.5 -44.5t20.5 -54t16.5 -44.5q8 8 39.5 33.5t46 39t35 40t29.5 55t9 63.5v578q0 18 -13 30.5t-34 12.5h-14l-475 -400 q-70 -61 -70 -160v-577z" />
|
||||
<glyph unicode="R" d="M231 104v1493h709q127 0 219 -92t92 -219v-106q0 -127 -93 -219.5t-218 -92.5h-119l416 -712q14 -29 14 -52q0 -43 -30.5 -73.5t-73.5 -30.5q-59 0 -90 51l-477 817h-142v-764q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5zM438 1075h502q41 0 72.5 32t31.5 73v106 q0 43 -31.5 74t-72.5 31h-502v-316z" />
|
||||
<glyph unicode="S" d="M231 276q0 43 30 74t73 31t73.5 -31t30.5 -74q0 -29 20.5 -49t49.5 -20h510q27 0 26 26l-765 988q-47 66 -48 143v6q0 92 69 159.5t163 67.5h510q113 0 195.5 -81.5t82.5 -194.5q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5q0 27 -21.5 48.5t-49.5 21.5h-510 q-25 0 -25 -21v-6v-8l762 -979q51 -61 51 -144q-4 -96 -70.5 -164.5t-162.5 -68.5h-510q-113 0 -195 81.5t-82 194.5z" />
|
||||
<glyph unicode="T" d="M231 1321v276h1020v-276q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5v70h-200v-1287q0 -43 -31 -73.5t-72 -30.5q-43 0 -73.5 30.5t-30.5 73.5v1287h-199v-70q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5z" />
|
||||
<glyph unicode="U" d="M231 309v1186q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-1186q0 -43 31 -72.5t72 -29.5h399q41 0 72.5 30.5t31.5 71.5v1186q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-1186q0 -127 -92 -218t-219 -91h-399q-127 0 -218.5 91t-91.5 218z" />
|
||||
<glyph unicode="V" d="M231 1124v371q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-330l303 -774l303 774v330q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-369l-413 -1060q-27 -66 -97 -66q-72 0 -98 66z" />
|
||||
<glyph unicode="W" d="M231 250v1245q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-1190l58 -98h84q4 6 24.5 45t32.5 59v662q0 43 30.5 72.5t73.5 29.5q41 0 72 -29.5t31 -72.5v-662q12 -20 32.5 -59t24.5 -45h84l59 98v1190q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-1245l-116 -199 q-31 -51 -91 -51h-200q-66 0 -103 72q-43 -72 -104 -72h-199q-61 0 -92 51z" />
|
||||
<glyph unicode="X" d="M231 104q0 27 13 52l377 643l-377 643q-12 25 -13 53q0 41 30 71.5t73 30.5q59 0 90 -51l317 -540l316 540q31 51 90 51q43 0 73.5 -30.5t30.5 -71.5q0 -25 -14 -53l-377 -643l377 -643q14 -29 14 -52q0 -43 -30.5 -73.5t-73.5 -30.5q-59 0 -90 51l-316 541l-317 -541 q-31 -51 -90 -51q-43 0 -73 30.5t-30 73.5z" />
|
||||
<glyph unicode="Y" d="M231 1284v211q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-139l303 -389l301 389v139q0 41 31 71.5t74 30.5t73.5 -30.5t30.5 -71.5v-211l-407 -520v-660q0 -43 -31 -73.5t-72 -30.5q-43 0 -73.5 30.5t-30.5 73.5v660z" />
|
||||
<glyph unicode="Z" d="M229 131l738 1260h-633q-43 0 -73 30.5t-30 73.5q0 41 30 71.5t73 30.5h917v-131l-737 -1259h633q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5h-916z" />
|
||||
<glyph unicode="[" d="M231 104v1391q0 41 30 71.5t73 30.5h813q43 0 73.5 -30.5t30.5 -71.5q0 -43 -30.5 -73.5t-73.5 -30.5h-406v-1184h406q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5h-813q-43 0 -73 30.5t-30 73.5zM436 207h99v1184h-99v-1184z" />
|
||||
<glyph unicode="\" d="M231 1495q0 41 30 71.5t73 30.5q59 0 90 -51l813 -1390q14 -29 14 -52q0 -43 -30.5 -73.5t-73.5 -30.5q-59 0 -90 51l-813 1391q-13 24 -13 53z" />
|
||||
<glyph unicode="]" d="M231 104q0 41 30 72t73 31h405v1184h-405q-43 0 -73 30.5t-30 73.5q0 41 30 71.5t73 30.5h813q43 0 73.5 -30.5t30.5 -71.5v-1391q0 -43 -30.5 -73.5t-73.5 -30.5h-813q-43 0 -73 30.5t-30 73.5zM946 207h98v1184h-98v-1184z" />
|
||||
<glyph unicode="_" d="M231 -102q0 41 30 71.5t73 30.5h813q43 0 73.5 -30.5t30.5 -71.5q0 -43 -30.5 -74t-73.5 -31h-813q-43 0 -73 31t-30 74z" />
|
||||
<glyph unicode="`" d="M332 1495q0 41 30.5 71.5t73.5 30.5h203q53 0 82 -38l416 -537q12 -23 12 -49q0 -43 -31 -74t-74 -31q-33 0 -65 25l-610 522q-37 31 -37 80z" />
|
||||
<glyph unicode="a" d="M231 307v115q0 127 90.5 217t215.5 90h395q49 0 90 -14q0 14 -1 48t-2 49t-4 44t-9.5 42t-17.5 29.5t-28.5 22.5t-41.5 6h-381q-43 0 -73 30t-30 73t30 73.5t73 30.5h381q125 0 214 -87t93 -210l26 -764q0 -43 -31.5 -72.5t-74.5 -29.5q-41 0 -71 30.5t-30 71.5l-151 -88 q-20 -14 -51 -14h-305q-125 0 -215.5 90t-90.5 217zM438 307q0 -41 29 -70.5t70 -29.5h276l219 129v90q0 37 -31.5 66.5t-68.5 29.5h-395q-39 0 -69 -29.5t-30 -70.5v-115z" />
|
||||
<glyph unicode="b" d="M231 104v1391q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-463q139 131 277 131h153q27 0 51.5 -3t49 -14t39 -16.5t39 -25t31.5 -24.5t35 -28.5t30 -25.5q109 -94 108 -233v-422q0 -33 -4 -60.5t-18.5 -54.5t-21.5 -42t-33.5 -42t-31.5 -33t-40 -37l-35 -28 q-84 -74 -199 -74h-153q-59 0 -114.5 22.5t-85.5 46t-77 66.5v-31q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5zM438 459q0 -47 35 -76l176 -152q24 -24 63 -24h3h153q29 0 51.5 12t53.5 43t35 33q37 29 36 76v422q0 29 -13 49t-45 46.5t-34 29.5q-42 38 -82 38h-2 h-153q-41 0 -66 -24l-176 -152q-35 -23 -35 -75v-246z" />
|
||||
<glyph unicode="c" d="M231 459v246q0 141 107 233q23 18 75 68.5t85.5 78t93 53t123.5 25.5h432q43 0 73.5 -30.5t30.5 -73.5t-30.5 -73t-73.5 -30h-432q-41 0 -66 -24l-176 -152q-35 -23 -35 -75v-246q0 -47 35 -78l176 -150q24 -24 63 -24h3h432q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5 t-73.5 -30.5h-432q-117 0 -201 74l-176 151q-107 93 -107 234z" />
|
||||
<glyph unicode="d" d="M231 371v422q0 98 43 158.5t123 125.5q10 8 17 13q83 73 195 73h3h154q33 0 63.5 -7t50 -14t50.5 -27.5t39 -27t39.5 -35t35.5 -30.5v473q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-1391q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5v33q-47 -45 -76.5 -68.5 t-85 -46t-116.5 -22.5h-154q-23 0 -42 2t-38.5 8t-34 11.5t-31.5 15.5t-27.5 16t-28 20.5t-23.5 19.5t-25.5 22.5t-23.5 21.5q-107 89 -107 234zM438 371q0 -25 12.5 -47.5t25.5 -35t38 -31.5t33 -26q30 -24 62 -24h3h154q37 0 65 24l177 152q37 27 36 76v246q0 43 -36 75 l-177 152q-24 24 -62 24h-3h-154q-29 0 -52 -13t-50 -39.5t-35 -33.5q-37 -33 -37 -77v-422z" />
|
||||
<glyph unicode="e" d="M231 371v422q0 72 33 133t59.5 85.5t90.5 78.5q83 73 195 73h3h256q20 0 40 -2t40.5 -8t32.5 -10t32.5 -16.5t28 -16.5t28 -21.5t24.5 -19.5t26 -22l23 -21q109 -94 108 -233v-254q0 -43 -30.5 -74t-73.5 -31h-709v-63q0 -25 12.5 -47.5t25.5 -35t38 -31.5t33 -26 q30 -24 62 -24h3h535q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5h-535q-23 0 -42 2t-38.5 8t-34 11.5t-31.5 15.5t-27.5 16t-28 20.5t-23.5 19.5t-25.5 22.5t-23.5 21.5q-107 89 -107 234zM438 641h606v152q0 53 -61 108t-115 55h-256q-29 0 -51 -12t-53 -43 t-35 -33q-35 -29 -35 -75v-152z" />
|
||||
<glyph unicode="f" d="M281 1059q0 43 29.5 73.5t72.5 30.5h100v70q0 152 106.5 258t258.5 106h248q43 0 72.5 -30.5t29.5 -71.5q0 -43 -29.5 -73.5t-72.5 -30.5h-248q-66 0 -112 -46.5t-46 -111.5v-70h203q41 0 71.5 -30.5t30.5 -73.5t-30.5 -73t-71.5 -30h-203v-852q0 -43 -29.5 -73.5 t-72.5 -30.5t-74 30.5t-31 73.5v852h-100q-43 0 -72.5 30t-29.5 73z" />
|
||||
<glyph unicode="g" d="M231 459v334q0 23 3.5 45t6.5 38.5t14 37t15 30.5t20.5 29.5t20.5 26t25.5 24.5t25 21.5t27 22.5t25.5 22q83 73 195 73h3h154q33 0 63.5 -7t50 -14t50.5 -27.5t39 -27t39.5 -35t35.5 -30.5v37q0 43 30 73.5t73 30.5t73.5 -30.5t30.5 -73.5v-1122q0 -33 -4 -61 t-18.5 -54.5t-21.5 -42t-33.5 -42t-31.5 -32.5t-40 -37l-35 -28q-84 -74 -199 -74h-432q-43 0 -73.5 29.5t-30.5 72.5t30.5 74t73.5 31h432q29 0 52.5 14t52 41t35.5 33q37 29 36 76v288q-47 -43 -77.5 -67.5t-86 -48t-114.5 -23.5h-154q-31 0 -62.5 7t-50 13.5t-49 28 t-37.5 26.5t-40 36l-35 28q-107 93 -107 234zM436 459q0 -55 60.5 -110.5t115.5 -55.5h154q41 0 65 24l177 152q37 29 36 76v160q0 43 -36 75l-177 152q-24 24 -62 24h-3h-154q-31 0 -54 -14t-48 -38.5t-37 -33.5q-37 -37 -37 -77v-334z" />
|
||||
<glyph unicode="h" d="M231 104v1391q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-506l197 125q78 49 166 49h117q125 0 214 -87t93 -210l24 -762q0 -43 -29.5 -73.5t-72.5 -30.5q-41 0 -72 29.5t-31 70.5l-26 760q-4 39 -32 67.5t-68 28.5h-146l-334 -215v-637q0 -43 -30.5 -73.5 t-73.5 -30.5t-73 30.5t-30 73.5z" />
|
||||
<glyph unicode="i" d="M332 104q0 41 30.5 72t73.5 31h203v749h-203q-43 0 -73.5 30t-30.5 73t30.5 73.5t73.5 30.5h305q41 0 72 -30.5t31 -73.5v-852h200q43 0 74 -31t31 -72q0 -43 -31 -73.5t-74 -30.5h-608q-43 0 -73.5 30.5t-30.5 73.5zM535 1495v86q0 43 30.5 72.5t73.5 29.5h102 q41 0 72 -29.5t31 -72.5v-86q0 -43 -31 -73.5t-72 -30.5h-102q-43 0 -73.5 30.5t-30.5 73.5z" />
|
||||
<glyph unicode="j" d="M332 -158q0 43 30.5 74t73.5 31q41 0 65.5 -28t34 -59.5t35 -59t68.5 -27.5h201q41 0 72.5 29.5t31.5 70.5v1083h-305q-43 0 -73.5 30t-30.5 73t30.5 73.5t73.5 30.5h405q43 0 74 -30.5t31 -73.5v-1186q0 -127 -91 -217t-218 -90h-201q-115 0 -203 75.5t-104 184.5v16z M840 1495v86q0 43 30.5 72.5t73.5 29.5h100q43 0 74 -29.5t31 -72.5v-86q0 -43 -31 -73.5t-74 -30.5h-100q-43 0 -73.5 30.5t-30.5 73.5z" />
|
||||
<glyph unicode="k" d="M231 104v1391q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-817l541 461q28 24 62 24h3q43 0 74 -30.5t31 -73.5q0 -47 -37 -78l-416 -356l518 -443q37 -31 37 -78q0 -43 -29.5 -73.5t-72.5 -30.5q-39 0 -70 25l-542 464l-99 -86v-299q0 -43 -30.5 -73.5t-73.5 -30.5 t-73 30.5t-30 73.5z" />
|
||||
<glyph unicode="l" d="M332 104q0 41 30.5 72t73.5 31h201v1184h-201q-43 0 -73.5 30.5t-30.5 73.5q0 41 30.5 71.5t73.5 30.5h305q41 0 72 -30.5t31 -71.5v-1288h200q43 0 74 -31t31 -72q0 -43 -31 -73.5t-74 -30.5h-608q-43 0 -73.5 30.5t-30.5 73.5z" />
|
||||
<glyph unicode="m" d="M215 104v955q0 43 29.5 73.5t72.5 30.5q33 0 61 -20.5t38 -50.5q83 71 173 71h3q125 0 199 -98l45 37q68 55 153 55q96 0 170 -67.5t76 -163.5l31 -822q0 -43 -30 -73.5t-73 -30.5q-41 0 -71.5 29.5t-32.5 70.5l-29 818q-4 39 -35 38h-12l-139 -118v-734q0 -43 -31 -73.5 t-72 -30.5q-43 0 -73.5 30.5t-30.5 73.5v807q0 45 -45 45h-17l-153 -133v-719q0 -43 -31 -73.5t-74 -30.5t-72.5 30.5t-29.5 73.5z" />
|
||||
<glyph unicode="n" d="M231 104v955q0 43 30 73.5t73 30.5t73.5 -30.5t30.5 -73.5v-70l197 125q78 49 166 49h117q125 0 214 -87t93 -210l24 -762q0 -43 -29.5 -73.5t-72.5 -30.5q-41 0 -72 29.5t-31 70.5l-26 760q-4 39 -32 67.5t-68 28.5h-146l-334 -215v-637q0 -43 -30.5 -73.5t-73.5 -30.5 t-73 30.5t-30 73.5z" />
|
||||
<glyph unicode="o" d="M231 371v422q0 72 33 133t59.5 85.5t90.5 78.5q83 73 195 73h3h256q27 0 51.5 -3t49 -14t39 -16.5t39 -25t31.5 -24.5t35 -28.5t30 -25.5q109 -94 108 -233v-422q0 -33 -4 -60.5t-18.5 -54.5t-21.5 -42t-33.5 -42t-31.5 -33t-40 -37l-35 -28q-84 -74 -199 -74h-256 q-33 0 -62.5 7t-50 14.5t-48 26t-39 26.5t-39 32.5t-35.5 30.5q-107 89 -107 234zM438 371q0 -25 12.5 -47.5t25.5 -35t38 -31.5t33 -26q30 -24 62 -24h3h256q29 0 51.5 12t53.5 43t35 33q37 29 36 76v422q0 53 -61 108t-115 55h-256q-29 0 -51 -12t-53 -43t-35 -33 q-35 -29 -35 -75v-422z" />
|
||||
<glyph unicode="p" d="M231 -332v1436q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-55q4 4 23.5 24.5t26 25.5t24.5 22.5t28.5 23.5t29 19.5t33.5 18.5t34.5 12t41 9t44.5 2h43q59 0 115.5 -24.5t84 -46t78.5 -68.5q4 -4 53.5 -46t61.5 -57.5t42 -54.5t40 -77.5t10 -86.5v-329 q0 -139 -108 -234l-176 -151q-84 -74 -201 -74h-43q-63 0 -119.5 24.5t-89.5 53t-76 76.5v-443q0 -43 -30.5 -72.5t-73.5 -29.5t-73 29.5t-30 72.5zM438 449q0 -25 10.5 -46.5t20.5 -33t31.5 -29.5t27.5 -25q14 -14 39 -39.5t45.5 -46t38.5 -36.5q29 -29 72 -29h43 q41 0 65 24l179 152q35 27 34 76v329q0 49 -34 76l-179 154q-24 24 -62 24h-3h-43q-43 0 -72 -28l-184 -187q-29 -23 -29 -69v-266z" />
|
||||
<glyph unicode="q" d="M231 371v422q0 98 43 158.5t123 125.5q10 8 17 13q83 73 195 73h3h154q33 0 63.5 -7t50 -14t50.5 -27.5t39 -27t39.5 -35t35.5 -30.5v37q0 43 30 73.5t73 30.5t73.5 -30.5t30.5 -73.5v-1391q0 -43 -30.5 -72.5t-73.5 -29.5t-73 29.5t-30 72.5v469q-47 -45 -76.5 -68.5 t-85 -46t-116.5 -22.5h-154q-23 0 -42 2t-38.5 8t-34 11.5t-31.5 15.5t-27.5 16t-28 20.5t-23.5 19.5t-25.5 22.5t-23.5 21.5q-107 89 -107 234zM438 371q0 -25 12.5 -47.5t25.5 -35t38 -31.5t33 -26q30 -24 62 -24h3h154q37 0 65 24l177 152q37 27 36 76v246q0 43 -36 75 l-177 152q-24 24 -62 24h-3h-154q-29 0 -52 -13t-50 -39.5t-35 -33.5q-37 -33 -37 -77v-422z" />
|
||||
<glyph unicode="r" d="M231 104v955q0 43 30 73.5t73 30.5t73.5 -30.5t30.5 -73.5v-121l244 209q23 16 59 16h203q125 0 216 -91t91 -216v-57q0 -43 -30.5 -73t-73.5 -30t-73 30t-30 73v57q0 41 -29.5 70.5t-70.5 29.5h-166l-340 -292v-560q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5z " />
|
||||
<glyph unicode="s" d="M231 190q0 43 29 73t72 30q37 0 75.5 -30t57.5 -36q4 -2 24.5 -11t28.5 -9h416q49 0 76.5 32.5t27.5 77.5q0 70 -59 97l-567 245q-70 31 -113 99.5t-43 148.5q0 104 76 178q78 78 186 78h438q154 0 252 -129q20 -27 21 -61q0 -43 -31 -74t-74 -31q-37 0 -83 44t-85 44 h-438q-27 0 -42 -18t-15 -41q0 -37 33 -49l569 -246q78 -35 132 -113.5t54 -173.5v-4q-2 -129 -94 -220t-221 -91h-387q-150 0 -277 109q-39 32 -39 81z" />
|
||||
<glyph unicode="t" d="M231 1059q0 43 30 73.5t73 30.5h100v244q0 43 30 73.5t73 30.5t73.5 -30.5t30.5 -73.5v-244h403q43 0 73 -30.5t30 -73.5t-30 -73t-73 -30h-403v-649q0 -41 28.5 -70.5t69.5 -29.5h205q41 0 66.5 27.5t35 59.5t35 59.5t66.5 27.5q43 0 73.5 -31t31.5 -74v-16 q-20 -106 -107.5 -183t-200.5 -77h-205q-125 0 -215 91t-90 216v649h-100q-43 0 -73 30t-30 73z" />
|
||||
<glyph unicode="u" d="M231 1059q0 43 30 73.5t73 30.5q41 0 71.5 -29.5t30.5 -70.5l27 -760q4 -41 31.5 -68.5t68.5 -27.5h146l335 213v639q0 43 30 73.5t73 30.5t73.5 -30.5t30.5 -73.5v-955q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5v72l-198 -127q-78 -49 -166 -49h-117 q-123 0 -213 87t-94 208z" />
|
||||
<glyph unicode="v" d="M231 885v174q0 43 30 73.5t73 30.5t73.5 -30.5t30.5 -73.5v-152l301 -694l305 694v152q0 43 30 73.5t73 30.5t73.5 -30.5t30.5 -73.5v-174q0 -20 -10 -41l-342 -783q-27 -61 -94 -61h-129q-68 0 -94 61l-342 783q-9 16 -9 41z" />
|
||||
<glyph unicode="w" d="M209 1057q0 43 30.5 74.5t73.5 31.5q41 0 71 -29.5t32 -70.5l20 -596l66 -221l135 233v234q0 41 30.5 71.5t73.5 30.5q41 0 72 -30.5t31 -71.5v-234l135 -233l65 221l21 596q2 41 31.5 70.5t70.5 29.5t73 -30.5t32 -71.5v-4l-23 -635l-104 -348q-10 -33 -38 -53.5 t-63 -20.5h-100q-59 0 -90 51l-113 195l-114 -195q-31 -51 -90 -51h-101q-35 0 -62.5 20.5t-37.5 53.5l-107 372z" />
|
||||
<glyph unicode="x" d="M231 104q0 39 21 66l354 426l-330 397q-25 31 -24 66q0 43 30.5 73.5t73.5 30.5q47 0 80 -39l305 -366l303 366q33 39 80 39q43 0 74 -30.5t31 -73.5q0 -35 -25 -66l-330 -397l355 -426q23 -29 22 -66q0 -43 -30.5 -73.5t-73.5 -30.5q-49 0 -80 37l-326 395l-327 -395 q-31 -37 -80 -37q-43 0 -73 30.5t-30 73.5z" />
|
||||
<glyph unicode="y" d="M231 -332q0 43 30 74t73 31h211l137 313h-43q-70 0 -94 64l-305 694q-8 16 -9 41v174q0 43 30 73.5t73 30.5t73.5 -30.5t30.5 -73.5v-152l269 -614h65l270 614v152q0 43 31 73.5t74 30.5t73.5 -30.5t30.5 -73.5v-174q0 -20 -10 -41l-532 -1217q-27 -61 -97 -61h-278 q-43 0 -73 29.5t-30 72.5z" />
|
||||
<glyph unicode="z" d="M231 104v86q0 47 31 74l721 692h-600q-43 0 -72.5 30t-29.5 73t29.5 73.5t72.5 30.5h764q43 0 73.5 -30.5t30.5 -73.5v-86q0 -43 -32 -76l-719 -690h647q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5h-813q-43 0 -73 30.5t-30 73.5z" />
|
||||
<glyph unicode="{" d="M231 799q0 43 30 73.5t73 30.5h198q45 0 75 30t30 73v385q0 84 62.5 145t144.5 61h303q43 0 73.5 -30.5t30.5 -71.5q0 -43 -30.5 -73.5t-73.5 -30.5h-303v-385q0 -117 -80 -207q80 -90 80 -207v-385h303q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5h-303 q-82 0 -144.5 61.5t-62.5 145.5v385q0 41 -31 72.5t-74 31.5h-198q-43 0 -73 30t-30 73z" />
|
||||
<glyph unicode="|" d="M637 104v592h207v-592q0 -43 -31 -73.5t-72 -30.5q-43 0 -73.5 30.5t-30.5 73.5zM637 903v592q0 41 30.5 71.5t73.5 30.5q41 0 72 -30.5t31 -71.5v-592h-207z" />
|
||||
<glyph unicode="}" d="M231 104q0 41 30 72t73 31h303v385q0 117 80 207q-80 90 -80 207v385h-303q-43 0 -73 30.5t-30 73.5q0 41 30 71.5t73 30.5h303q84 0 145.5 -61t61.5 -145v-385q0 -41 29.5 -72t72.5 -31h201q43 0 73.5 -30.5t30.5 -73.5t-30.5 -73t-73.5 -30h-201q-43 0 -72.5 -31.5 t-29.5 -72.5v-385q0 -84 -61.5 -145.5t-145.5 -61.5h-303q-43 0 -73 30.5t-30 73.5z" />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode="£" d="M231 104q0 41 30 72t73 31h127l141 489h-268q-43 0 -73 30t-30 73t30 73.5t73 30.5h330l137 471q27 92 108.5 157.5t188.5 65.5h49q43 0 73.5 -30.5t30.5 -71.5q0 -43 -30.5 -73.5t-73.5 -30.5h-49q-35 0 -61.5 -21.5t-37.5 -52.5l-120 -414h268q43 0 73.5 -30.5 t30.5 -73.5t-30.5 -73t-73.5 -30h-328l-143 -489h471q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5h-813q-43 0 -73 30.5t-30 73.5z" />
|
||||
<glyph unicode="¥" d="M231 625q0 43 30 73.5t73 30.5h303v43l-393 670q-12 25 -13 53q0 41 30 71.5t73 30.5q59 0 90 -51l317 -542l316 542q31 51 90 51q43 0 73.5 -30.5t30.5 -71.5q0 -25 -14 -53l-393 -670v-43h303q43 0 73.5 -30.5t30.5 -73.5t-30.5 -73t-73.5 -30h-303v-418 q0 -43 -31 -73.5t-72 -30.5q-43 0 -73.5 30.5t-30.5 73.5v418h-303q-43 0 -73 30t-30 73z" />
|
||||
<glyph unicode="­" d="M231 713v86q0 43 30 73.5t73 30.5h813q43 0 73.5 -30.5t30.5 -73.5v-86q0 -43 -30.5 -74t-73.5 -31h-813q-43 0 -73 31t-30 74z" />
|
||||
<glyph unicode="Ä" d="M231 104q0 18 7 37l405 1043q27 66 96 65q72 0 99 -65l405 -1043q8 -25 8 -37q0 -43 -30.5 -73.5t-73.5 -30.5q-72 0 -96 66l-76 194h-469l-76 -194q-25 -66 -96 -66q-43 0 -73 30.5t-30 73.5zM231 1321v174q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-174 q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5zM586 467h307l-154 395zM1044 1321v174q0 41 30 71.5t73 30.5t73.5 -30.5t30.5 -71.5v-174q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5z" />
|
||||
<glyph unicode="Å" d="M223 106l279 941q-72 14 -121 71.5t-49 130.5v142q0 84 61.5 145t145.5 61h403q82 0 144.5 -61t62.5 -145v-142q0 -74 -49 -131t-121 -71l276 -943q0 -43 -31.5 -73.5t-74.5 -30.5q-35 0 -62.5 20.5t-37.5 53.5l-80 274h-455l-82 -274q-10 -33 -37.5 -53.5t-62.5 -20.5 q-43 0 -76 31.5t-33 74.5zM539 1249h403v142h-403v-142zM575 555h332l-143 487h-45z" />
|
||||
<glyph unicode="Æ" d="M231 104q0 16 7 35l514 1409q31 49 90 49h305q43 0 73.5 -30.5t30.5 -71.5q0 -43 -30.5 -73.5t-73.5 -30.5h-201v-488h201q43 0 73.5 -30.5t30.5 -73.5t-30.5 -73t-73.5 -30h-201v-489h201q43 0 73.5 -31t30.5 -72q0 -43 -30.5 -73.5t-73.5 -30.5h-305q-43 0 -73 30.5 t-30 73.5v244h-207l-102 -280q-25 -68 -96 -68q-43 0 -73 30.5t-30 73.5zM608 555h131v358z" />
|
||||
<glyph unicode="Ñ" d="M231 104v869q0 43 30 72.5t73 29.5q47 0 76 -33l634 -677v608q0 43 30 72.5t73 29.5t73.5 -29.5t30.5 -72.5v-869q0 -43 -30.5 -73.5t-73.5 -30.5q-47 0 -76 33l-633 678v-607q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5zM231 1407v88q0 41 28 71.5t67 30.5h8 l715 -75q8 33 35.5 54t62.5 21q43 0 73.5 -30.5t30.5 -71.5v-88q0 -43 -28.5 -73.5t-69.5 -30.5h-6l-713 75q-10 -33 -37.5 -54t-62.5 -21q-43 0 -73 30.5t-30 73.5z" />
|
||||
<glyph unicode="Ö" d="M231 573v103q0 66 39 125q182 258 238 340q72 109 211 108h43q45 0 82 -11t67.5 -40t47 -47t45 -61t38.5 -58l168 -231q41 -59 41 -125v-103q0 -66 -41 -124l-108 -156q-10 -14 -46 -72.5t-56.5 -84t-58.5 -64.5t-82 -55.5t-97 -16.5h-43q-37 0 -71 10t-55.5 21.5t-49 39 t-37.5 41t-37 50.5t-33 45v10l-166 232q-39 56 -39 124zM231 1321v174q0 41 30 71.5t73 30.5t72.5 -30.5t29.5 -71.5v-174q0 -43 -29.5 -73.5t-72.5 -30.5t-73 30.5t-30 73.5zM436 567l242 -338q10 -23 41 -22h43q27 0 41 22l241 342v105l-241 346q-16 20 -41 20h-43 q-25 0 -41 -20l-242 -346v-109zM1042 1321v174q0 41 31 71.5t74 30.5t73.5 -30.5t30.5 -71.5v-174q0 -43 -30.5 -73.5t-73.5 -30.5t-74 30.5t-31 73.5z" />
|
||||
<glyph unicode="Ø" d="M231 104q0 27 13 52l135 231q-12 25 -46 89.5t-51.5 100t-34 98t-16.5 124.5q0 109 50 211l219 440q33 63 97.5 105t141.5 42q86 0 152.5 -47t97.5 -118q6 8 26.5 48t34 59.5t40 38.5t57.5 19q43 0 73.5 -30.5t30.5 -71.5q0 -25 -14 -53l-135 -232q10 -23 46 -88 t53.5 -102t33.5 -99.5t16 -121.5q0 -104 -51 -211l-219 -441q-33 -63 -97.5 -105t-144.5 -42q-84 0 -150.5 47t-96.5 119q-6 -8 -27 -48t-34 -59.5t-39.5 -39t-57.5 -19.5q-43 0 -73 30.5t-30 73.5zM438 799q0 -25 3 -46.5t12.5 -45t14.5 -34.5t19.5 -38t16.5 -33l360 615 l-69 137q-16 37 -56 37q-35 0 -53 -37l-221 -436q-27 -58 -27 -119zM616 381l70 -139q16 -35 53 -35q39 0 56 35l221 438q29 70 28 119q0 18 -3 38.5t-7 35t-13 35t-13 29.5t-16.5 31.5t-14.5 26.5z" />
|
||||
<glyph unicode="Ü" d="M231 311v836q0 43 30 72.5t73 29.5t73.5 -29.5t30.5 -72.5v-836q0 -43 31 -73.5t72 -30.5h399q41 0 72.5 30.5t31.5 73.5v836q0 43 30 72.5t73 29.5t73.5 -29.5t30.5 -72.5v-836q0 -127 -92 -219t-219 -92h-399q-129 0 -219.5 91t-90.5 220zM434 1321v174q0 41 30 71.5 t73 30.5t73.5 -30.5t30.5 -71.5v-174q0 -43 -30.5 -73.5t-73.5 -30.5t-73 30.5t-30 73.5zM840 1321v174q0 41 30.5 71.5t73.5 30.5t71.5 -29.5t28.5 -72.5v-174q0 -43 -28.5 -73.5t-71.5 -30.5t-73.5 30.5t-30.5 73.5z" />
|
||||
<glyph unicode="ˆ" d="M229 389l420 805q27 55 92 55q61 0 90 -55l410 -786q10 -25 10 -43q0 -43 -30.5 -74t-73.5 -31q-55 0 -84 43l-322 483l-323 -483q-29 -43 -84 -43q-43 0 -73 31t-30 74z" />
|
||||
<glyph unicode="˜" d="M231 1059v227q0 133 95.5 221t218.5 88q119 0 209 -90t90 -219v-106q0 -41 29.5 -73t70.5 -32t70.5 32t29.5 73v227q0 43 30 73.5t73 30.5t73.5 -30.5t30.5 -73.5v-227q0 -133 -94 -220.5t-219 -87.5q-123 0 -211 89q-90 94 -90 219v106q0 41 -29.5 72t-70.5 31t-70 -31 t-29 -72v-227q0 -43 -30.5 -73t-73.5 -30t-73 30t-30 73z" />
|
||||
<glyph unicode=" " horiz-adv-x="841" />
|
||||
<glyph unicode=" " horiz-adv-x="1683" />
|
||||
<glyph unicode=" " horiz-adv-x="841" />
|
||||
<glyph unicode=" " horiz-adv-x="1683" />
|
||||
<glyph unicode=" " horiz-adv-x="561" />
|
||||
<glyph unicode=" " horiz-adv-x="420" />
|
||||
<glyph unicode=" " horiz-adv-x="280" />
|
||||
<glyph unicode=" " horiz-adv-x="280" />
|
||||
<glyph unicode=" " horiz-adv-x="210" />
|
||||
<glyph unicode=" " horiz-adv-x="336" />
|
||||
<glyph unicode=" " horiz-adv-x="93" />
|
||||
<glyph unicode="‐" d="M231 713v86q0 43 30 73.5t73 30.5h813q43 0 73.5 -30.5t30.5 -73.5v-86q0 -43 -30.5 -74t-73.5 -31h-813q-43 0 -73 31t-30 74z" />
|
||||
<glyph unicode="‑" d="M231 713v86q0 43 30 73.5t73 30.5h813q43 0 73.5 -30.5t30.5 -73.5v-86q0 -43 -30.5 -74t-73.5 -31h-813q-43 0 -73 31t-30 74z" />
|
||||
<glyph unicode="‒" d="M231 713v86q0 43 30 73.5t73 30.5h813q43 0 73.5 -30.5t30.5 -73.5v-86q0 -43 -30.5 -74t-73.5 -31h-813q-43 0 -73 31t-30 74z" />
|
||||
<glyph unicode="–" horiz-adv-x="1484" d="M231 713v86q0 43 30 73.5t73 30.5h817q43 0 73.5 -30.5t30.5 -73.5v-86q0 -43 -30.5 -74t-73.5 -31h-817q-43 0 -73 31t-30 74z" />
|
||||
<glyph unicode="—" horiz-adv-x="2508" d="M231 713v86q0 43 60 73.5t147 30.5h1632q87 0 148 -30.5t61 -73.5v-86q0 -43 -61 -74t-148 -31h-1632q-87 0 -147 31t-60 74z" />
|
||||
<glyph unicode=" " horiz-adv-x="336" />
|
||||
<glyph unicode=" " horiz-adv-x="420" />
|
||||
<glyph unicode="" horiz-adv-x="1167" d="M0 0v1167h1167v-1167h-1167z" />
|
||||
</font>
|
||||
</defs></svg>
|
After Width: | Height: | Size: 35 KiB |
BIN
public/fonts/ocra-webfont.ttf
Executable file
BIN
public/fonts/ocra-webfont.woff
Executable file
BIN
public/images/card-flip-arrow.png
Normal file
After Width: | Height: | Size: 551 B |
BIN
public/images/card-front-background.png
Normal file
After Width: | Height: | Size: 94 KiB |
BIN
public/images/card-invalid-indicator.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
public/images/card-valid-anim.gif
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
public/images/card-valid-indicator.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
public/images/error-pointer.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
public/images/issuers/visa-chase-sapphire.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
public/images/issuers/visa-simple-front.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
public/images/products/amex-front.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
public/images/products/dinersclubintl-front.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
public/images/products/discover-front.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
public/images/products/generic-back.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/images/products/generic-front.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
public/images/products/jcb-front.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
public/images/products/maestro-front.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
public/images/products/mastercard-front.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
public/images/products/unionpay-front.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
public/images/products/visa-back.png
Normal file
After Width: | Height: | Size: 5 KiB |
BIN
public/images/products/visa-front.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/images/src/card-front-background.fw.png
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
public/images/src/error-pointer.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
public/images/src/product-amex-front.fw.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
public/images/src/product-dinersclub-front.fw.png
Normal file
After Width: | Height: | Size: 111 KiB |
BIN
public/images/src/product-discover-front.fw.png
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
public/images/src/product-generic-front.fw.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
public/images/src/product-jcb-front.fw.png
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
public/images/src/product-maestro-front.fw.png
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
public/images/src/product-mastercard-front.fw.png
Normal file
After Width: | Height: | Size: 119 KiB |
BIN
public/images/src/product-unionpay-front.fw.png
Normal file
After Width: | Height: | Size: 129 KiB |
BIN
public/images/src/product-visa-front.fw.png
Normal file
After Width: | Height: | Size: 77 KiB |
7
public/js/cssua.min.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
var cssua=function(k,n){var p=/\s*([\-\w ]+)[\s\/\:]([\d_]+\b(?:[\-\._\/]\w+)*)/,q=/([\w\-\.]+[\s\/][v]?[\d_]+\b(?:[\-\._\/]\w+)*)/g,r=/\b(?:(blackberry\w*|bb10)|(rim tablet os))(?:\/(\d+\.\d+(?:\.\w+)*))?/,s=/\bsilk-accelerated=true\b/,t=/\bfluidapp\b/,u=/(\bwindows\b|\bmacintosh\b|\blinux\b|\bunix\b)/,v=/(\bandroid\b|\bipad\b|\bipod\b|\bwindows phone\b|\bwpdesktop\b|\bxblwp7\b|\bzunewp7\b|\bwindows ce\b|\bblackberry\w*|\bbb10\b|\brim tablet os\b|\bmeego|\bwebos\b|\bpalm|\bsymbian|\bj2me\b|\bdocomo\b|\bpda\b|\bchtml\b|\bmidp\b|\bcldc\b|\w*?mobile\w*?|\w*?phone\w*?)/,
|
||||
w=/(\bxbox\b|\bplaystation\b|\bnintendo\s+\w+)/,d={parse:function(c){var a={};c=(""+c).toLowerCase();if(!c)return a;for(var b,g,e=c.split(/[()]/),f=0,d=e.length;f<d;f++)if(f%2){var l=e[f].split(";");b=0;for(g=l.length;b<g;b++)if(p.exec(l[b])){var h=RegExp.$1.split(" ").join("_"),k=RegExp.$2;if(!a[h]||parseFloat(a[h])<parseFloat(k))a[h]=k}}else if(l=e[f].match(q))for(b=0,g=l.length;b<g;b++)h=l[b].split(/[\/\s]+/),h.length&&"mozilla"!==h[0]&&(a[h[0].split(" ").join("_")]=h.slice(1).join("-"));v.exec(c)?
|
||||
(a.mobile=RegExp.$1,r.exec(c)&&(delete a[a.mobile],a.blackberry=a.version||RegExp.$3||RegExp.$2||RegExp.$1,RegExp.$1?a.mobile="blackberry":"0.0.1"===a.version&&(a.blackberry="7.1.0.0"))):u.exec(c)?a.desktop=RegExp.$1:w.exec(c)&&(a.game=RegExp.$1,b=a.game.split(" ").join("_"),a.version&&!a[b]&&(a[b]=a.version));a.intel_mac_os_x?(a.mac_os_x=a.intel_mac_os_x.split("_").join("."),delete a.intel_mac_os_x):a.cpu_iphone_os?(a.ios=a.cpu_iphone_os.split("_").join("."),delete a.cpu_iphone_os):a.cpu_os?(a.ios=
|
||||
a.cpu_os.split("_").join("."),delete a.cpu_os):"iphone"!==a.mobile||a.ios||(a.ios="1");a.opera&&a.version?(a.opera=a.version,delete a.blackberry):s.exec(c)?a.silk_accelerated=!0:t.exec(c)&&(a.fluidapp=a.version);if(a.applewebkit)a.webkit=a.applewebkit,delete a.applewebkit,a.opr&&(a.opera=a.opr,delete a.opr,delete a.chrome),a.safari&&(a.chrome||a.crios||a.opera||a.silk||a.fluidapp||a.phantomjs||a.mobile&&!a.ios?delete a.safari:a.safari=a.version&&!a.rim_tablet_os?a.version:{419:"2.0.4",417:"2.0.3",
|
||||
416:"2.0.2",412:"2.0",312:"1.3",125:"1.2",85:"1.0"}[parseInt(a.safari,10)]||a.safari);else if(a.msie||a.trident)if(a.opera||(a.ie=a.msie||a.rv),delete a.msie,a.windows_phone_os)a.windows_phone=a.windows_phone_os,delete a.windows_phone_os;else{if("wpdesktop"===a.mobile||"xblwp7"===a.mobile||"zunewp7"===a.mobile)a.mobile="windows desktop",a.windows_phone=9>+a.ie?"7.0":10>+a.ie?"7.5":"8.0",delete a.windows_nt}else if(a.gecko||a.firefox)a.gecko=a.rv;a.rv&&delete a.rv;a.version&&delete a.version;return a},
|
||||
format:function(c){var a="",b;for(b in c)if(b&&c.hasOwnProperty(b)){var g=b,e=c[b],g=g.split(".").join("-"),f=" ua-"+g;if("string"===typeof e){for(var e=e.split(" ").join("_").split(".").join("-"),d=e.indexOf("-");0<d;)f+=" ua-"+g+"-"+e.substring(0,d),d=e.indexOf("-",d+1);f+=" ua-"+g+"-"+e}a+=f}return a},encode:function(c){var a="",b;for(b in c)b&&c.hasOwnProperty(b)&&(a&&(a+="\x26"),a+=encodeURIComponent(b)+"\x3d"+encodeURIComponent(c[b]));return a}};d.userAgent=d.ua=d.parse(n);var m=d.format(d.ua)+
|
||||
" js";k.className=k.className?k.className.replace(/\bno-js\b/g,"")+m:m.substr(1);return d}(document.documentElement,navigator.userAgent);
|
2
public/js/skeuocard.min.js
vendored
Normal file
|
@ -24,7 +24,7 @@
|
|||
<% if current_site && current_site.id == actioning_site.id %>
|
||||
<a href="/site/<%= current_site.username %>" class="you">You</a>
|
||||
<% else %>
|
||||
<a href="/site/<%= actioning_site.username %>" class="user" title="<%= actioning_site.title %>"><i class="fa fa-user"><% if actioning_site.supporter? && !actioning_site.ended_supporter? %><i class="fa fa-heart"></i><% end %></i><%= actioning_site.username %></a>
|
||||
<a href="/site/<%= actioning_site.username %>" class="user" title="<%= actioning_site.title %>"><i class="fa fa-user"><% if actioning_site.supporter? %><i class="fa fa-heart"></i><% end %></i><%= actioning_site.username %></a>
|
||||
<% end %>
|
||||
|
||||
followed
|
||||
|
@ -32,7 +32,7 @@
|
|||
<% if current_site && event_site.id == current_site.id %>
|
||||
<a href="/site/<%= current_site.username %>" class="you">you</a>
|
||||
<% else %>
|
||||
<a href="/site/<%= event_site.username %>" class="user" title="<%= event_site.title %>"><i class="fa fa-user"><% if event_site.supporter? && !event_site.ended_supporter? %><i class="fa fa-heart"></i><% end %></i><%= event_site.username %></a>
|
||||
<a href="/site/<%= event_site.username %>" class="user" title="<%= event_site.title %>"><i class="fa fa-user"><% if event_site.supporter? %><i class="fa fa-heart"></i><% end %></i><%= event_site.username %></a>
|
||||
<% end %>
|
||||
|
||||
<span class="date">
|
||||
|
@ -91,7 +91,7 @@
|
|||
<% comment_actioning_site = comment.actioning_site_dataset.select(:id, :title, :domain, :username, :stripe_customer_id).first %>
|
||||
<div class="comment" id="comment_<%= comment.id %>">
|
||||
<img class="avatar" src="<%= comment_actioning_site.screenshot_url('index.html', '50x50') %>">
|
||||
<a href="/site/<%= comment_actioning_site.username %>" class="user" title="<%= comment_actioning_site.title %>"><i class="fa fa-user"><% if comment_actioning_site.supporter? && !comment_actioning_site.ended_supporter? %><i class="fa fa-heart"></i><% end %></i><%= comment_actioning_site.username %></a>
|
||||
<a href="/site/<%= comment_actioning_site.username %>" class="user" title="<%= comment_actioning_site.title %>"><i class="fa fa-user"><% if comment_actioning_site.supporter? %><i class="fa fa-heart"></i><% end %></i><%= comment_actioning_site.username %></a>
|
||||
<span class="date">
|
||||
<a href="?event_id=<%= event.id %>"><%= comment.created_at.ago %></a>
|
||||
</span>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<% if current_site && current_site.id == actioning_site.id %>
|
||||
<a href="/site/<%= current_site.username %>" class="you">You</a>
|
||||
<% else %>
|
||||
<a href="/site/<%= actioning_site.username %>" class="user"><i class="fa fa-user"><% if actioning_site.supporter? && !actioning_site.ended_supporter? %><i class="fa fa-heart"></i><% end %></i><%= actioning_site.username %></a>
|
||||
<a href="/site/<%= actioning_site.username %>" class="user"><i class="fa fa-user"><% if actioning_site.supporter? %><i class="fa fa-heart"></i><% end %></i><%= actioning_site.username %></a>
|
||||
<% end %>
|
||||
|
||||
<i class="fa fa-chevron-right comment-symbol" title="commented on"></i>
|
||||
|
@ -15,7 +15,7 @@
|
|||
<% if current_site && current_site.id == profile_comment.site_id %>
|
||||
<a href="/site/<%= current_site.username %>" class="you">You</a>
|
||||
<% else %>
|
||||
<a href="/site/<%= profile_comment.site.username %>" class="user"><i class="fa fa-user"><% if profile_comment.site.supporter? && !profile_comment.site.ended_supporter? %><i class="fa fa-heart"></i><% end %></i><%= profile_comment.site.username %></a>
|
||||
<a href="/site/<%= profile_comment.site.username %>" class="user"><i class="fa fa-user"><% if profile_comment.site.supporter? %><i class="fa fa-heart"></i><% end %></i><%= profile_comment.site.username %></a>
|
||||
<% end %>
|
||||
<span class="date">
|
||||
<a href="?event_id=<%= profile_comment.event.id %>"><%= profile_comment.created_at.ago %></a>
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
<div class="site-info">
|
||||
<div class="username">
|
||||
<a href="/site/<%= site.username %>" title="Profile">
|
||||
<i class="fa fa-user"><% if site.supporter? && !site.ended_supporter? %><i class="fa fa-heart"></i><% end %></i><%= site.username %>
|
||||
<i class="fa fa-user"><% if site.supporter? %><i class="fa fa-heart"></i><% end %></i><%= site.username %>
|
||||
</a>
|
||||
</div>
|
||||
<div class="site-stats">
|
||||
|
|
|
@ -338,8 +338,8 @@
|
|||
<span class="footer-icon"></span>
|
||||
<h2 class="delta">Support Us</h2>
|
||||
<p class="tiny">
|
||||
Neocities is funded by donations. If you’d like to contribute, you can help us
|
||||
pay our server costs using Bitcoin or PayPal.
|
||||
Neocities is funded exclusively by supporters and donations. If you’d like to contribute, you can help us
|
||||
pay our server costs using CC, Bitcoin, or PayPal.
|
||||
</p>
|
||||
<a href="/donate" title="Donate to Neocities" class="action-Link">Donate Today</a>
|
||||
</div>
|
||||
|
|
|
@ -12,13 +12,19 @@
|
|||
else
|
||||
plan_price = "$#{Site::PLAN_FEATURES[plan_type.to_sym][:price]}, monthly"
|
||||
end
|
||||
%{<a data-plan_name="#{Site::PLAN_FEATURES[plan_type.to_sym][:name]}" data-plan_type="#{plan_type}" data-plan_price="#{plan_price}" onclick="return false" class="btn-Action planPricingButton">Choose</a>}
|
||||
%{<a data-plan_name="#{Site::PLAN_FEATURES[plan_type.to_sym][:name]}" data-plan_type="#{plan_type}" data-plan_price="#{plan_price}" onclick="return false" class="btn-Action planPricingButton">#{parent_site.plan_type == 'free' ? 'Upgrade' : 'Change'}</a>}
|
||||
end
|
||||
end
|
||||
%>
|
||||
|
||||
<section class="section plans">
|
||||
<h2>Need more power? We’ve got you covered.<br>Upgrading gives you more space, bandwidth, features, <strong>and helps us stay independent and keep the free sites free.</strong></h2>
|
||||
<h2>
|
||||
Need more space? We’ve got you covered.
|
||||
<% if request.path == '/' %>
|
||||
<br>
|
||||
Upgrading gives you more space, bandwidth, features, <strong>and helps us stay independent and keep the free sites free.</strong>
|
||||
<% end %>
|
||||
</h2>
|
||||
|
||||
<div class="plan-overview">
|
||||
<div class="header">
|
||||
|
@ -285,7 +291,7 @@
|
|||
<% if request.path.match /\/plan/ %>
|
||||
<div class="row" style="margin-top: 50px; margin-bottom: 0px;">
|
||||
<div class="col-50" style="margin-left: auto; margin-right: auto">
|
||||
<h2>Why get the Supporter Plan?</h2>
|
||||
<h2>Why get a Supporter Plan?</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -301,13 +307,13 @@
|
|||
<div class="col-60" style="margin-left: auto; margin-right: auto">
|
||||
<ul>
|
||||
<li>
|
||||
<strong>You get more space!</strong> Right now supporter plans get up to <strong><%= Site::SUPPORTER_MAXIMUM.to_space_pretty %></strong>.
|
||||
<strong>You get more space!</strong> Right now supporter plans get up to <strong><%= Site::PLAN_FEATURES[:fatcat][:space].to_space_pretty %></strong>.
|
||||
</li>
|
||||
<li>
|
||||
<strong>It helps your site.</strong> Funding helps us make your site faster globally, and provide more features.
|
||||
</li>
|
||||
<li>
|
||||
<strong>It helps us build.</strong> It allows us to work on Neocities full-time, without worrying about bills.
|
||||
<strong>It helps us build.</strong> It supports our goal to work on Neocities full-time, without worrying about bills.
|
||||
</li>
|
||||
<li>
|
||||
<strong>It helps the web.</strong> The web needs more independent, creative sites. Neocities is leading the way.
|
||||
|
@ -354,44 +360,121 @@
|
|||
</script>
|
||||
|
||||
<div class="modal hide fade" id="planSignup" tabindex="-1" role="dialog" aria-labelledby="planSignupLabel" aria-hidden="true">
|
||||
<div class="modal-header">
|
||||
<button class="close" type="button" data-dismiss="modal" aria-hidden="true">x</button>
|
||||
<h3 id="planSignupLabel">Upgrade</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form>
|
||||
<input type="hidden" value="<%= csrf_token %>" name="csrf_token">
|
||||
<input type="hidden" value="" name="plan_type" id="upgradePlanType">
|
||||
<div>
|
||||
You are upgrading to the <strong><span id="upgradeFormPlanName"></span> Plan</strong>. You will be charged <span id="upgradeFormPlanPrice"></span>.
|
||||
</div>
|
||||
|
||||
<input id="stripe_token" name="stripe_token" type="hidden" value="<%= params[:stripe_token] %>">
|
||||
|
||||
<div style="margin-top: 30px">
|
||||
<div id="plan_error" class="alert alert-block alert-error" style="display:none"></div>
|
||||
|
||||
<% if params[:stripe_token] %>
|
||||
<p>Billing information has been saved, thank you!</p>
|
||||
<form id="upgradeForm" method="POST" action="/plan/update">
|
||||
<input type="hidden" value="<%= csrf_token %>" name="csrf_token">
|
||||
<input type="hidden" value="" name="plan_type" id="upgradePlanType">
|
||||
<div class="modal-header">
|
||||
<button class="close" type="button" data-dismiss="modal" aria-hidden="true">x</button>
|
||||
<h3 id="planSignupLabel">
|
||||
<% if parent_site && parent_site.plan_type == 'free' %>
|
||||
Upgrade
|
||||
<% else %>
|
||||
<p>
|
||||
Card Number: <input type="text" size="20" data-stripe="number" placeholder="XXXX-XXXX-XXXX-XXXX">
|
||||
CVC: <input type="text" size="4" maxlength="4" data-stripe="cvc" style="width: 60px" placeholder="123">
|
||||
</p>
|
||||
<p>
|
||||
Expiration:
|
||||
<input type="text" size="2" data-stripe="exp-month" placeholder="MM" maxlength="2" style="width: 50px">
|
||||
<input type="text" size="4" data-stripe="exp-year" placeholder="YYYY" maxlength="4" style="width: 60px">
|
||||
</p>
|
||||
Change
|
||||
<% end %>
|
||||
</div>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div>
|
||||
You are <% if current_site && parent_site.plan_type == 'free' %>upgrading<%else%>changing<%end%> to the <strong><span id="upgradeFormPlanName"></span> Plan</strong>. You will be charged <span id="upgradeFormPlanPrice"></span>. Please enter your Credit Card number:
|
||||
</div>
|
||||
|
||||
<p><strong>We accept alternative ways to send money.</strong> If you would prefer to use Bitcoin or Paypal, <a href="/donate" target="_blank">click here</a>.</p>
|
||||
<input id="stripe_token" name="stripe_token" type="hidden" value="<%= params[:stripe_token] %>">
|
||||
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
|
||||
<button type="submit" class="btn btn-Action">Upgrade</button>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 30px">
|
||||
<div id="plan_error" class="alert alert-block alert-error" style="display:none"></div>
|
||||
|
||||
<% if params[:stripe_token] %>
|
||||
<p>Billing information has been saved, thank you!</p>
|
||||
<% else %>
|
||||
<div class="credit-card-input no-js" id="skeuocard" style="margin-left: auto; margin-right: auto; margin-bottom: 20px">
|
||||
<p class="no-support-warning"></p>
|
||||
<label for="cc_type">Card Type</label>
|
||||
<select name="cc_type">
|
||||
<option value="">...</option>
|
||||
<option value="visa">Visa</option>
|
||||
<option value="discover">Discover</option>
|
||||
<option value="mastercard">MasterCard</option>
|
||||
<option value="maestro">Maestro</option>
|
||||
<option value="jcb">JCB</option>
|
||||
<option value="unionpay">China UnionPay</option>
|
||||
<option value="amex">American Express</option>
|
||||
<option value="dinersclubintl">Diners Club</option>
|
||||
</select>
|
||||
<label for="cc_number">Card Number</label>
|
||||
<input type="text" name="cc_number" id="cc_number" placeholder="XXXX XXXX XXXX XXXX" maxlength="19" size="19">
|
||||
<label for="cc_exp_month">Expiration Month</label>
|
||||
<input type="text" name="cc_exp_month" id="cc_exp_month" placeholder="00">
|
||||
<label for="cc_exp_year">Expiration Year</label>
|
||||
<input type="text" name="cc_exp_year" id="cc_exp_year" placeholder="00">
|
||||
<label for="cc_name">Cardholder's Name</label>
|
||||
<input type="text" name="cc_name" id="cc_name" placeholder="John Doe">
|
||||
<label for="cc_cvc">Card Validation Code</label>
|
||||
<input type="text" name="cc_cvc" id="cc_cvc" placeholder="123" maxlength="3" size="3">
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<p><strong>Don't have a Credit Card?</strong> We support Bitcoin and Paypal! <a href="/donate" target="_blank">Click here</a> for more information.</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
|
||||
<button type="submit" class="btn btn-Action">Upgrade</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<% if current_site %>
|
||||
<link rel="stylesheet" href="/css/skeuocard.reset.css" />
|
||||
<link rel="stylesheet" href="/css/skeuocard.css" />
|
||||
<script src="/js/skeuocard.min.js"></script>
|
||||
<script src="/js/cssua.min.js"></script>
|
||||
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>
|
||||
|
||||
<script>
|
||||
Stripe.setPublishableKey('<%= $config['stripe_publishable_key'] %>')
|
||||
|
||||
$(function() {
|
||||
card = new Skeuocard($("#skeuocard"))
|
||||
})
|
||||
|
||||
$('#upgradeForm').submit(function(event) {
|
||||
if($('#stripe_token').val() != '')
|
||||
return true
|
||||
|
||||
console.log(event)
|
||||
|
||||
var planError = $('#plan_error')
|
||||
planError.css('display', 'none')
|
||||
var signupform = $(event.target)
|
||||
signupform.find(':submit').prop('disabled', true)
|
||||
|
||||
Stripe.card.createToken({
|
||||
number: $('[name="cc_number"]').val(),
|
||||
cvc: $('[name="cc_cvc"]').val(),
|
||||
exp_month: $('[name="cc_exp_month"]').val(),
|
||||
exp_year: $('[name="cc_exp_year"]').val()
|
||||
}, function(status, response) {
|
||||
console.log(response)
|
||||
if(response.error) {
|
||||
planError.text(response.error.message)
|
||||
planError.css('display', 'block')
|
||||
window.location = '#plan_error_link'
|
||||
signupform.find(':submit').prop('disabled', false)
|
||||
return false
|
||||
} else {
|
||||
$('.credit-card-input').text('Thank you!')
|
||||
$('#stripe_token').val(response.id)
|
||||
signupform.submit()
|
||||
}
|
||||
})
|
||||
|
||||
return false
|
||||
})
|
||||
|
||||
$(function() {
|
||||
$('#upgradeForm').find(':submit').prop('disabled', false)
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<% end %>
|
|
@ -19,7 +19,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="col col-50">
|
||||
<h2 class="eps title-with-badge"><span><%= site.title %></span> <% if site.supporter? && !site.ended_supporter? %><a href="/plan" class="supporter-badge" title="Neocities Supporter"></a> <% end %></h2>
|
||||
<h2 class="eps title-with-badge"><span><%= site.title %></span> <% if site.supporter? %><a href="/plan" class="supporter-badge" title="Neocities Supporter"></a> <% end %></h2>
|
||||
<p class="site-url"><a href="/surf/<%= site.username %>"><%= site.host %></a></p>
|
||||
<div class="stats">
|
||||
<div class="stat"><strong><%= site.views_english %></strong> <span>views</span></div>
|
||||
|
|
|
@ -177,7 +177,7 @@
|
|||
<% end %>
|
||||
</ul>
|
||||
<ul class="site-actions">
|
||||
<li><a href="/site/<%= @site.username %>"><i class="fa fa-user"><% if @site.supporter? && !@site.ended_supporter? %><i class="fa fa-heart"></i><% end %></i> <strong><%= @site.username %></strong></a></li>
|
||||
<li><a href="/site/<%= @site.username %>"><i class="fa fa-user"><% if @site.supporter? %><i class="fa fa-heart"></i><% end %></i> <strong><%= @site.username %></strong></a></li>
|
||||
|
||||
<% if current_site && current_site != @site %>
|
||||
<li>
|
||||
|
|