# HG changeset patch
# User kkb
# Date 1432486770 -32400
# Node ID 70bb5aa524e21ad16575416639e762dcb07b303e
# Parent 6b32ea521f5b98775806f4faaf9f87f02b9f44ee# Parent ff895b2c67928485978f693bb71f94c45d86c9ea
merge
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/index.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/index.html Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,248 @@
+
+
+
+
+ Monad に基づくメタ計算を基本とする Gears OS の設計
+
+
+
+
+
+
+
+
+ Monad に基づくメタ計算を基本とする Gears OS の設計
+ 小久保翔平
+
+
+
+
+ Monad に基づくメタ計算を基本とする Gears OS の設計
+ 小久保翔平
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+本研究室では並列プログラミングフレームワーク Cerium と分散ネットフレームワーク Alice の開発を行なってきた
+
+Cerium では Task と呼ばれる分割されたプログラムを依存関係に沿って実行することで並列処理を実現する。
+依存関係はプログラム自身が記述する必要があり、Task の種類が増えるほど記述が繁雑になる。
+また、Task 間の依存関係のみに注目しており、データの依存関係を正しく保証することができない
+
+Task が取り扱うデータに型情報がない
+汎用ポインタを型変換して利用するしかなく、型検査を行うことができない
+
+
+
+
+
+
+
+
+
+
+
+Alice では処理とデータの単位としてそれぞれ Code Segment, Data Segment と呼ばれる単位を用いてプログラムを記述する。
+Code Segment が取り扱う Input/Output Data Segment を指定することで処理とデータの関係を決定する
+
+Data Segment にアクセスする API が設計上の問題で複雑化している。
+また、Java で実装されており、実行速度が遅いという問題がある
+
+
+
+
+
+
+
+
+
+
+
+本研究では Cerium と Alice を開発して得られた知見から並列分散フレームワーク Gears OS の設計・開発を行う
+
+Gears OS では Alice の Code/Data Segment に相当する Code/Data Gear という単位を用いてプログラムを細かく分割する。
+Code Gear は Input Data Gear から Output Data Gear を生成する。
+Input/Output Data Gear の関係から Code Gear 間の依存関係を決定し、並列・分散処理を行う
+
+
+
+
+
+
+
+
+
+
+
+従来の OS が行う排他制御、メモリ管理、並列実行などは Meta Computation に相当する。
+関数型言語では Meta Computation に Monad を用いる手法があり、Gears OS では Code/Data Gear を Monad として定義して Meta Computation を実現する
+
+並列実行の信頼性を確保するため Gears OS では作成されたプログラムに対して Model Checking を行う。
+並列プログラムに Model Checking を行うことでそのプログラムが取り得る状態を列挙する。
+これにより、デッドロック等を検出することで信頼性を確保する
+
+
+
+
+
+
+
+
+
+
+
+Inherent Parallel
+
+Distributed Open Computation
+
+Reliablity
+
+ Separated Data Segment
+
+ Model Checking
+
+
+
+
+
+
+
+
+
+
+
+Gears OS ではプログラム実行単位として Gear を用いる。
+Gear は変更実行の単位、データの分割、Gear 間の接続などになる
+
+Code Gear は実行コードそのものであり、OpenCL/CUDA の kernel に相当する。
+接続された複数の Input Data Gear を参照し、単一または複数の Output Data Gear に書き込む。
+Code Gear では接続された Data Gear のみに干渉することができる
+
+
+
+
+
+
+
+
+
+
+
+Code/Data Gear ではポインタを直接には扱わず、Code と Data の分離性を上げることで、ポインタ関連のセキュリティフローを防止する
+
+Gear の特徴の一つとしてその処理が Code/Data Gear に閉じていることがある。
+これにより、Code Gear の実行時間、メモリ使用量を予測可能なものにする。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ singly linked list の実装
+
+
+
+
+ Context
+
+
+ DataSegment
+
+
+ MetaDataSegment
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ append
+
+ head から探索して末尾に新たな DS を追加
+
+
+ delete
+
+
+ traverse
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/pictures/305px-Batcher_Bitonic_Mergesort_for_eight_inputs.svg.png
Binary file presen/pictures/305px-Batcher_Bitonic_Mergesort_for_eight_inputs.svg.png has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/pictures/CodeSegmentFlow.jpg
Binary file presen/pictures/CodeSegmentFlow.jpg has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/pictures/List.jpg
Binary file presen/pictures/List.jpg has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/pictures/allocate.jpg
Binary file presen/pictures/allocate.jpg has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/pictures/logo.svg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/pictures/logo.svg Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,683 @@
+
+
+
+image/svg+xml
\ No newline at end of file
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/scripts/script.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/scripts/script.js Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,213 @@
+(function () {
+ var url = window.location,
+ body = document.body,
+ slides = document.querySelectorAll('div.slide'),
+ progress = document.querySelector('div.progress div'),
+ slideList = [],
+ l = slides.length,
+ i;
+
+ for (i = 0; i < l; i++) {
+ slideList.push(slides[i].id);
+ }
+
+ function getTransform() {
+ var denominator = Math.max(
+ body.clientWidth / window.innerWidth,
+ body.clientHeight / window.innerHeight
+ );
+
+ return 'scale(' + (1 / denominator) + ')';
+ }
+
+ function applyTransform(transform) {
+ body.style.MozTransform = transform;
+ body.style.WebkitTransform = transform;
+ body.style.OTransform = transform;
+ body.style.msTransform = transform;
+ body.style.transform = transform;
+ }
+
+ function enterSingleSlideMode() {
+ body.className = 'full';
+ applyTransform(getTransform());
+ }
+
+ function enterSlideListMode() {
+ body.className = 'list';
+ applyTransform('none');
+ }
+
+ function getCurrentSlideNumber() {
+ return slideList.indexOf(url.hash.substr(1));
+ }
+
+ function scrollToCurrentSlide() {
+ var current_slide = document.getElementById(slideList[getCurrentSlideNumber()]);
+
+ if (null != current_slide) {
+ window.scrollTo(0, current_slide.offsetTop);
+ }
+ }
+
+ function isSlideListMode() {
+ return 'full' !== url.search.substr(1);
+ }
+
+ function normalizeSlideNumber(slide_number) {
+ if (0 > slide_number) {
+ return slideList.length - 1;
+ } else if (slideList.length <= slide_number) {
+ return 0;
+ } else {
+ return slide_number;
+ }
+ }
+
+ function updateProgress(slide_number) {
+ if (!progress) return;
+ progress.style.width = (100 / (slideList.length - 1) * normalizeSlideNumber(slide_number)).toFixed(2) + '%';
+ }
+
+ function getSlideHashByNumber(slide_number) {
+ return '#' + slideList[normalizeSlideNumber(slide_number)];
+ }
+
+ function goToSlide(slide_number) {
+ url.hash = getSlideHashByNumber(slide_number);
+
+ if (!isSlideListMode()) {
+ updateProgress(slide_number);
+ }
+ }
+
+ window.addEventListener('DOMContentLoaded', function () {
+ if (!isSlideListMode()) {
+ // "?full" is present without slide hash so we should display first
+ // slide
+ if ( -1 === getCurrentSlideNumber() ) {
+ history.replaceState(null, null, url.pathname + '?full' + getSlideHashByNumber( 0 ) );
+ }
+
+ enterSingleSlideMode();
+ updateProgress(getCurrentSlideNumber());
+ }
+ }, false);
+
+ window.addEventListener('popstate', function (e) {
+ if (isSlideListMode()) {
+ enterSlideListMode();
+ scrollToCurrentSlide();
+ } else {
+ enterSingleSlideMode();
+ }
+ }, false);
+
+ window.addEventListener('resize', function (e) {
+ if (!isSlideListMode()) {
+ applyTransform(getTransform());
+ }
+ }, false);
+
+ document.addEventListener('keydown', function (e) {
+ if (e.altKey || e.ctrlKey || e.metaKey) return;
+
+ var current_slide_number = getCurrentSlideNumber();
+
+ switch (e.which) {
+ case 9: // Tab = +1; Shift + Tab = -1
+ if (isSlideListMode()) {
+ e.preventDefault();
+
+ current_slide_number += e.shiftKey ? -1 : 1;
+ url.hash = getSlideHashByNumber(current_slide_number);
+ }
+ break;
+
+ case 13: // Enter
+ if (isSlideListMode()) {
+ e.preventDefault();
+
+ history.pushState(null, null, url.pathname + '?full' + getSlideHashByNumber(current_slide_number));
+ enterSingleSlideMode();
+
+ updateProgress(current_slide_number);
+ }
+ break;
+
+ case 27: // Esc
+ if (!isSlideListMode()) {
+ e.preventDefault();
+
+ history.pushState(null, null, url.pathname + getSlideHashByNumber(current_slide_number));
+ enterSlideListMode();
+ scrollToCurrentSlide();
+ }
+ break;
+
+ case 33: // PgUp
+ case 38: // Up
+ case 37: // Left
+ case 72: // h
+ case 75: // k
+ e.preventDefault();
+
+ current_slide_number--;
+ goToSlide(current_slide_number);
+ break;
+
+ case 34: // PgDown
+ case 40: // Down
+ case 39: // Right
+ case 76: // l
+ case 74: // j
+ e.preventDefault();
+
+ current_slide_number++;
+ goToSlide(current_slide_number);
+ break;
+
+ case 36: // Home
+ e.preventDefault();
+
+ current_slide_number = 0;
+ goToSlide(current_slide_number);
+ break;
+
+ case 35: // End
+ e.preventDefault();
+
+ current_slide_number = slideList.length - 1;
+ goToSlide(current_slide_number);
+ break;
+
+ case 32: // Space = +1; Shift + Space = -1
+ e.preventDefault();
+
+ current_slide_number += e.shiftKey ? -1 : 1;
+ goToSlide(current_slide_number);
+ break;
+
+ default:
+ // Behave as usual
+ }
+ }, false);
+
+ document.addEventListener('click', function (e) {
+ if (
+ 'SECTION' === e.target.nodeName &&
+ -1 !== e.target.parentNode.parentNode.className.indexOf('slide') &&
+ isSlideListMode()
+ ) {
+ e.preventDefault();
+
+ // NOTE: we should update hash to get things work properly
+ url.hash = '#' + e.target.parentNode.parentNode.id;
+ history.replaceState(null, null, url.pathname + '?full#' + e.target.parentNode.parentNode.id);
+ enterSingleSlideMode();
+
+ updateProgress(getCurrentSlideNumber());
+ }
+ }, false);
+
+}());
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/DroidSansMono.svg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/themes/ribbon/fonts/DroidSansMono.svg Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,626 @@
+
+
+
+ Foundry: Ascender Corporation
+ Foundry URL: http://www.ascendercorp.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/DroidSansMono.ttf
Binary file presen/themes/ribbon/fonts/DroidSansMono.ttf has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Bold.Italic.svg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/themes/ribbon/fonts/PTSans.Bold.Italic.svg Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,728 @@
+
+
+
+
+Generated by SVGconv.
+Copyright : Copyright 2009 ParaType Ltd. All rights reserved.
+Designer : A.Korolkova, O.Umpeleva, V.Yefimov
+Foundry : ParaType Ltd
+Foundry URL : http://www.paratype.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Bold.Italic.ttf
Binary file presen/themes/ribbon/fonts/PTSans.Bold.Italic.ttf has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Bold.Italic.woff
Binary file presen/themes/ribbon/fonts/PTSans.Bold.Italic.woff has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Bold.svg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/themes/ribbon/fonts/PTSans.Bold.svg Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,728 @@
+
+
+
+
+Generated by SVGconv.
+Copyright : Copyright 2009 ParaType Ltd. All rights reserved.
+Designer : A.Korolkova, O.Umpeleva, V.Yefimov
+Foundry : ParaType Ltd
+Foundry URL : http://www.paratype.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Bold.ttf
Binary file presen/themes/ribbon/fonts/PTSans.Bold.ttf has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Bold.woff
Binary file presen/themes/ribbon/fonts/PTSans.Bold.woff has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Italic.svg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/themes/ribbon/fonts/PTSans.Italic.svg Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,728 @@
+
+
+
+
+Generated by SVGconv.
+Copyright : Copyright 2009 ParaType Ltd. All rights reserved.
+Designer : A.Korolkova, O.Umpeleva, V.Yefimov
+Foundry : ParaType Ltd
+Foundry URL : http://www.paratype.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Italic.ttf
Binary file presen/themes/ribbon/fonts/PTSans.Italic.ttf has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Italic.woff
Binary file presen/themes/ribbon/fonts/PTSans.Italic.woff has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Narrow.Bold.svg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/themes/ribbon/fonts/PTSans.Narrow.Bold.svg Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,728 @@
+
+
+
+
+Generated by SVGconv.
+Copyright : Copyright 2009 ParaType Ltd. All rights reserved.
+Designer : A.Korolkova, O.Umpeleva, V.Yefimov
+Foundry : ParaType Ltd
+Foundry URL : http://www.paratype.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Narrow.Bold.ttf
Binary file presen/themes/ribbon/fonts/PTSans.Narrow.Bold.ttf has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Narrow.Bold.woff
Binary file presen/themes/ribbon/fonts/PTSans.Narrow.Bold.woff has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Narrow.svg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/themes/ribbon/fonts/PTSans.Narrow.svg Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,728 @@
+
+
+
+
+Generated by SVGconv.
+Copyright : Copyright 2009 ParaType Ltd. All rights reserved.
+Designer : A.Korolkova, O.Umpeleva, V.Yefimov
+Foundry : ParaType Ltd
+Foundry URL : http://www.paratype.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Narrow.ttf
Binary file presen/themes/ribbon/fonts/PTSans.Narrow.ttf has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.Narrow.woff
Binary file presen/themes/ribbon/fonts/PTSans.Narrow.woff has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.svg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/themes/ribbon/fonts/PTSans.svg Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,728 @@
+
+
+
+
+Generated by SVGconv.
+Copyright : Copyright 2009 ParaType Ltd. All rights reserved.
+Designer : A.Korolkova, O.Umpeleva, V.Yefimov
+Foundry : ParaType Ltd
+Foundry URL : http://www.paratype.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.ttf
Binary file presen/themes/ribbon/fonts/PTSans.ttf has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/PTSans.woff
Binary file presen/themes/ribbon/fonts/PTSans.woff has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/TargetBlank.otf
Binary file presen/themes/ribbon/fonts/TargetBlank.otf has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/fonts/TargetBlank.svg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/themes/ribbon/fonts/TargetBlank.svg Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,14 @@
+
+
+
+ Designer: Vadim Makeev
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/images/grid.png
Binary file presen/themes/ribbon/images/grid.png has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/images/linen.png
Binary file presen/themes/ribbon/images/linen.png has changed
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/images/ribbon.svg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/themes/ribbon/images/ribbon.svg Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/styles/fonts.css
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/themes/ribbon/styles/fonts.css Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,63 @@
+/* PTSans */
+@font-face {
+ font-family:'PT Sans';
+ src:local('PT Sans'),
+ url(../fonts/PTSans.woff) format('woff'),
+ url(../fonts/PTSans.ttf) format('truetype'),
+ url(../fonts/PTSans.svg#PTSans-Regular) format('svg');
+ }
+@font-face {
+ font-weight:bold;
+ font-family:'PT Sans';
+ src:local('PT Sans Bold'),
+ url(../fonts/PTSans.Bold.woff) format('woff'),
+ url(../fonts/PTSans.Bold.ttf) format('truetype'),
+ url(../fonts/PTSans.Bold.svg#PTSans-Bold) format('svg');
+ }
+@font-face {
+ font-style:italic;
+ font-family:'PT Sans';
+ src:local('PT Sans Italic'),
+ url(../fonts/PTSans.Italic.woff) format('woff'),
+ url(../fonts/PTSans.Italic.ttf) format('truetype'),
+ url(../fonts/PTSans.Italic.svg#PTSans-Italic) format('svg');
+ }
+@font-face {
+ font-style:italic;
+ font-weight:bold;
+ font-family:'PT Sans';
+ src:local('PT Sans Bold Italic'),
+ url(../fonts/PTSans.Bold.Italic.woff) format('woff'),
+ url(../fonts/PTSans.Bold.Italic.ttf) format('truetype'),
+ url(../fonts/PTSans.Bold.Italic.svg#PTSans-BoldItalic) format('svg');
+ }
+@font-face {
+ font-family:'PT Sans Narrow';
+ src:local('PT Sans Narrow'),
+ url(../fonts/PTSans.Narrow.woff) format('woff'),
+ url(../fonts/PTSans.Narrow.ttf) format('truetype'),
+ url(../fonts/PTSans.Narrow.svg#PTSans-Narrow) format('svg');
+ }
+@font-face {
+ font-family:'PT Sans Narrow';
+ font-weight:bold;
+ src:local('PT Sans Narrow Bold'),
+ url(../fonts/PTSans.Narrow.Bold.woff) format('woff'),
+ url(../fonts/PTSans.Narrow.Bold.ttf) format('truetype'),
+ url(../fonts/PTSans.Narrow.Bold.svg#PTSans-NarrowBold) format('svg');
+ }
+
+/* Droid Sans Mono */
+@font-face {
+ font-family:'Droid Sans Mono';
+ src:local('Droid Sans Mono'),
+ url(../fonts/DroidSansMono.ttf) format('truetype'),
+ url(../fonts/DroidSansMono.svg#DroidSansMono) format('svg');
+ }
+
+/* Linker */
+@font-face {
+ font-family:'Target Blank';
+ src:url(../fonts/TargetBlank.otf) format('opentype'),
+ url(../fonts/TargetBlank.svg#TargetBlank) format('svg');
+ }
\ No newline at end of file
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/styles/reset.css
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/themes/ribbon/styles/reset.css Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,42 @@
+HTML, BODY, DIV, SPAN, APPLET, OBJECT, IFRAME,
+H1, H2, H3, H4, H5, H6, P, BLOCKQUOTE, PRE,
+A, ABBR, ACRONYM, ADDRESS, BIG, CITE, CODE,
+DEL, DFN, EM, IMG, INS, KBD, Q, S, SAMP,
+SMALL, STRIKE, STRONG, SUB, SUP, TT, VAR,
+B, U, I, CENTER,
+DL, DT, DD, OL, UL, LI,
+FIELDSET, FORM, LABEL, LEGEND,
+TABLE, CAPTION, TBODY, TFOOT, THEAD, TR, TH, TD,
+ARTICLE, ASIDE, CANVAS, DETAILS, EMBED,
+FIGURE, FIGCAPTION, FOOTER, HEADER, HGROUP,
+MENU, NAV, OUTPUT, RUBY, SECTION, SUMMARY,
+TIME, MARK, AUDIO, VIDEO {
+ margin:0;
+ padding:0;
+ border:0;
+ font-size:100%;
+ font:inherit;
+ vertical-align:baseline;
+ }
+ARTICLE, ASIDE, DETAILS, FIGCAPTION, FIGURE,
+FOOTER, HEADER, HGROUP, MENU, NAV, SECTION {
+ display:block;
+ }
+BODY {
+ line-height:1;
+ }
+OL, UL {
+ list-style:none;
+ }
+BLOCKQUOTE, Q {
+ quotes:none;
+ }
+BLOCKQUOTE:before, BLOCKQUOTE:after,
+Q:before, Q:after {
+ content:'';
+ content:none;
+ }
+TABLE {
+ border-collapse:collapse;
+ border-spacing:0;
+ }
\ No newline at end of file
diff -r 6b32ea521f5b -r 70bb5aa524e2 presen/themes/ribbon/styles/style.css
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/presen/themes/ribbon/styles/style.css Mon May 25 01:59:30 2015 +0900
@@ -0,0 +1,397 @@
+/*
+ Ribbon theme for Shower presentation template: http://github.com/pepelsbey/shower
+ Copyright © 2010–2011 Vadim Makeev, http://pepelsbey.net/
+ Licensed under MIT license: https://github.com/pepelsbey/shower/wiki/License
+*/
+
+@import url(fonts.css);
+@import url(reset.css);
+
+BODY {
+ font:140% 'PT Sans', sans-serif;
+ counter-reset:paging;
+ }
+
+/* Slide
+---------------------------------------- */
+.slide:after {
+ counter-increment:paging;
+ content:counter(paging, decimal-leading-zero);
+ }
+.slide SECTION {
+ padding:5% 120px 0;
+ width:784px;
+ height:560px;
+ background:#FFF;
+ color:#000;
+ }
+ .slide SECTION:before {
+ position:absolute;
+ bottom:-90px;
+ right:45px;
+ width:200px;
+ height:200px;
+ background:url(../../../pictures/logo.svg) no-repeat;
+ background-size: 200px;
+ content:'';
+ }
+
+/* Header */
+.slide HEADER {
+ margin:0 0 3%;
+ color:#666;
+ font:bold 220% 'PT Sans Narrow', sans-serif;
+ }
+
+/* Elements */
+.slide P {
+ margin:0 0 1%;
+ }
+.slide P.note {
+ color:#888;
+ }
+.slide A {
+ border-bottom:0.1em solid;
+ color:#0174A7;
+ text-decoration:none;
+ }
+.slide A[target=_blank] {
+ margin-right:22px;
+ }
+.slide A[target=_blank]:after {
+ position:absolute;
+ margin-left:7px;
+ font-family:'Target Blank';
+ content:'\005E';
+ }
+.slide B,
+.slide STRONG {
+ font-weight:bold;
+ }
+.slide I,
+.slide EM {
+ font-style:italic;
+ }
+.slide KBD,
+.slide CODE {
+ padding:3px 8px;
+ -webkit-border-radius:8px;
+ -moz-border-radius:8px;
+ border-radius:8px;
+ background:#FAFAA2;
+ -webkit-tab-size:4;
+ -moz-tab-size:4;
+ -o-tab-size:4;
+ tab-size:4;
+ font-family:Consolas, 'Droid Sans Mono', monospace;
+ }
+
+/* Quote */
+.slide BLOCKQUOTE {
+ font-style:italic;
+ }
+.slide BLOCKQUOTE:before {
+ position:absolute;
+ margin:-15px 0 0 -80px;
+ color:#CCC;
+ font:200px/1 'PT Sans', sans-serif;
+ content:'\201C'; /* ldquo */
+ }
+.slide BLOCKQUOTE:after {
+ margin:-45px 0 45px;
+ display:block;
+ color:#444;
+ font-weight:bold;
+ content:attr(cite);
+ }
+
+/* Lists */
+.slide OL,
+.slide UL {
+ margin:0 0 45px;
+ counter-reset:list;
+ }
+ .slide UL UL,
+ .slide OL UL,
+ .slide OL OL,
+ .slide UL OL {
+ margin:0 0 0 38px;
+ }
+ .slide OL > LI:before,
+ .slide UL > LI:before {
+ position:absolute;
+ margin-left:-120px;
+ width:100px;
+ color:#BBB;
+ text-align:right;
+ }
+ .slide UL > LI:before {
+ content:'\2022'; /* bull */
+ line-height:1.1;
+ font-size:40px;
+ }
+ .slide OL > LI:before {
+ counter-increment:list;
+ content:counter(list)'.';
+ }
+
+/* Code */
+.slide PRE {
+ margin:0 0 45px;
+ counter-reset:code;
+ white-space:normal;
+ }
+ .slide PRE CODE {
+ display:block;
+ padding:0;
+ background:none;
+ white-space:pre;
+ }
+ .slide PRE CODE:before {
+ position:absolute;
+ margin:0 0 0 -120px;
+ width:110px;
+ color:#BBB;
+ text-align:right;
+ counter-increment:code;
+ content:counter(code, decimal-leading-zero)'.';
+ }
+ .slide PRE MARK {
+ padding:3px 8px;
+ -webkit-border-radius:8px;
+ -moz-border-radius:8px;
+ border-radius:8px;
+ }
+ .slide PRE MARK {
+ background:#FAFAA2;
+ color:#000;
+ font-style:normal;
+ }
+ .slide PRE MARK.important {
+ background:#C00;
+ color:#FFF;
+ font-weight:normal;
+ }
+
+/* Cover */
+.slide.cover SECTION {
+ background:transparent;
+ background-color: white;
+ }
+.slide.cover H2 {
+ color:#666;
+ text-align:center;
+ font-size:120%;
+ margin-top:20%;
+}
+.slide.cover H3#author {
+ color:#888;
+ text-align:right;
+ font-size:80%;
+ margin-top:10%;
+ margin-right:55px;
+}
+
+.slide.cover H3#profile {
+ color:#888;
+ text-align:right;
+ font-size:24px;
+ margin-right:55px;
+}
+
+/* Shout */
+.slide.shout SECTION:before {
+ display:none;
+ }
+.slide.shout H2 {
+ position:absolute;
+ top:50%;
+ left:0;
+ width:100%;
+ text-align:center;
+ line-height:1;
+ font-size:150px;
+ -webkit-transform:translateY(-50%);
+ -moz-transform:translateY(-50%);
+ -ms-transform:translateY(-50%);
+ -o-transform:translateY(-50%);
+ transform:translateY(-50%);
+ }
+ .slide.shout H2 A[target=_blank] {
+ margin:0;
+ }
+ .slide.shout H2 A[target=_blank]:after {
+ content:'';
+ }
+
+/* Middle */
+.middle {
+ position:absolute;
+ top:50%;
+ left:50%;
+ -webkit-transform:translate(-50%, -50%);
+ -moz-transform:translate(-50%, -50%);
+ -ms-transform:translate(-50%, -50%);
+ -o-transform:translate(-50%, -50%);
+ transform:translate(-50%, -50%);
+ }
+
+/* List
+---------------------------------------- */
+.list {
+ float:left;
+ padding:80px 0 80px 100px;
+ background:#585A5E url(../images/linen.png);
+ }
+
+/* Caption */
+.list .caption {
+ color:#3C3D40;
+ text-shadow:0 1px 1px #8D8E90;
+ }
+ .list .caption H1 {
+ font:bold 50px/1 'PT Sans Narrow', sans-serif;
+ }
+
+/* Slide */
+.list .slide {
+ position:relative;
+ float:left;
+ margin:0 50px 0 0;
+ padding:80px 0 0;
+ }
+ .list .slide:after {
+ position:absolute;
+ bottom:-45px;
+ left:57px;
+ color:#3C3D40;
+ text-shadow:0 1px 1px #8D8E90;
+ line-height:1;
+ font-weight:bold;
+ font-size:25px;
+ }
+ .list .slide:target:after {
+ text-shadow:0 -1px 1px #1F3F60;
+ color:#4B86C2;
+ }
+ .list .slide > DIV {
+ position:relative;
+ overflow:hidden;
+ width:512px;
+ height:320px;
+ box-shadow:0 0 50px #3C3D40;
+ border-radius:1px;
+ background:rgba(0, 0, 0, 0.3);
+ }
+ .list .slide > DIV:hover {
+ box-shadow:
+ 0 0 0 10px rgba(60, 61, 64, 0.6),
+ 0 0 50px #3C3D40;
+ }
+ .list .slide:target > DIV {
+ box-shadow:
+ 0 0 0 1px #305F8D,
+ 0 0 0 10px #3C7CBD,
+ 0 0 50px #3C3D40;
+ }
+ .list .slide SECTION {
+ -webkit-transform-origin:0 0;
+ -webkit-transform:scale(0.5);
+ -moz-transform-origin:0 0;
+ -moz-transform:scale(0.5);
+ -ms-transform-origin:0 0;
+ -ms-transform:scale(0.5);
+ -o-transform-origin:0 0;
+ -o-transform:scale(0.5);
+ transform-origin:0 0;
+ transform:scale(0.5);
+ }
+ .list .slide SECTION:after {
+ position:absolute;
+ top:0;
+ right:0;
+ bottom:0;
+ left:0;
+ content:'';
+ }
+
+/* Full
+---------------------------------------- */
+.full {
+ position:absolute;
+ top:50%;
+ left:50%;
+ overflow:hidden;
+ margin:-320px 0 0 -512px;
+ width:1024px;
+ height:640px;
+ background:#000;
+ }
+ .full .caption {
+ display:none;
+ }
+ .full .slide {
+ position:absolute;
+ visibility:hidden;
+ }
+ .full .slide:target {
+ visibility:visible;
+ }
+ .full .slide:after {
+ position:absolute;
+ bottom:85px;
+ left:120px;
+ color:#BBB;
+ line-height:1;
+ }
+ .full .slide SECTION {
+ -webkit-transform:scale(1);
+ -moz-transform:scale(1);
+ -ms-transform:scale(1);
+ -o-transform:scale(1);
+ transform:scale(1);
+ }
+ .full .slide.bg {
+ z-index:1;
+ }
+ .full .slide.bg:after,
+ .full .slide.shout:after {
+ content:'';
+ }
+
+/* Inner Navigation */
+.full .inner > * {
+ opacity:0;
+ -webkit-transition:opacity 0.5s linear;
+ -moz-transition:opacity 0.5s linear;
+ -ms-transition:opacity 0.5s linear;
+ -o-transition:opacity 0.5s linear;
+ transition:opacity 0.5s linear;
+ }
+.full .inner > .active {
+ opacity:1;
+ }
+
+/* Progress */
+.full .progress {
+ position:absolute;
+ right:118px;
+ bottom:49px;
+ left:118px;
+ border-radius:7px;
+ border:2px solid rgba(255, 255, 255, 0.2);
+ }
+ .full .progress DIV {
+ width:0;
+ height:10px;
+ border-radius:5px;
+ background:rgba(177, 177, 177, 0.4);
+ -webkit-transition:width 0.2s linear;
+ -moz-transition:width 0.2s linear;
+ -ms-transition:width 0.2s linear;
+ -o-transition:width 0.2s linear;
+ transition:width 0.2s linear;
+ }
+.full .progress-off {
+ z-index:1;
+ }