Last active
December 16, 2015 05:38
-
-
Save fumieval/5385729 to your computer and use it in GitHub Desktop.
ぶるぶるちょまど(https://twitter.com/chomado/status/323644612357001217 )をコンビネータとして解釈する純粋関数型言語。 oは3-タプル(K, S, K)をチャーチエンコードしたものにあたる。(* ~ *)はコメント。入出力はチャーチエンコードされた自然数のリスト。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import Control.Applicative | |
| import Data.Word | |
| import System.Environment | |
| import Text.Trifecta | |
| import Control.Monad | |
| import qualified Data.ByteString as BS | |
| import qualified Data.ByteString.Lazy as BL | |
| import qualified Codec.Binary.UTF8.String as UTF8 | |
| infixl 9 :$ | |
| data Expr = Expr :$ Expr | I | K | S | O | |
| | Inc | Nat !Word8 | Cons | Nil deriving Show | |
| apply :: Expr -> Expr -> Expr | |
| apply (S :$ x :$ y) z = apply x z `apply` apply y z | |
| apply (K :$ x) y = x | |
| apply I x = x | |
| apply O x = x `apply` K `apply` S `apply` K | |
| apply Inc (Nat x) = Nat $! succ x | |
| apply f x = f :$ x | |
| eval :: Expr -> Expr | |
| eval (x :$ y) = eval x `apply` eval y | |
| eval x = x | |
| encode :: BL.ByteString -> Expr | |
| encode = foldr cons empty . map church . BL.unpack where | |
| empty = K :$ I | |
| cons x xs = (S :$ ((S :$ (K :$ ((S :$ (K :$ S)) :$ K))) :$ ((S :$ I) :$ (K :$ x)))) :$ xs | |
| church :: Word8 -> Expr | |
| church 0 = K :$ I | |
| church 1 = I | |
| church n = S :$ (S :$ (K :$ S) :$ K) :$ church (pred n) | |
| decode :: Expr -> BL.ByteString | |
| decode expr = runList $ expr `apply` Cons `apply` Nil where | |
| runList (Cons :$ x :$ xs) = unchurch x `BL.cons` runList xs | |
| runList Nil = BL.empty | |
| runList _ = error "Result was not a list" | |
| unchurch :: Expr -> Word8 | |
| unchurch expr = case expr `apply` Inc `apply` Nat 0 of | |
| Nat n -> n | |
| _ -> error "Result was not a number" | |
| parseExpr :: Unspaced Parser Expr | |
| parseExpr = foldl (:$) <$> parseTerm <*> many parseTerm | |
| parseTerm :: Unspaced Parser Expr | |
| parseTerm = skipComment $ parens parseExpr <|> (char 'o' >> pure O) | |
| skipComment m = many comment *> m <* many comment | |
| comment :: Unspaced Parser () | |
| comment = void $ string "(*" *> manyTill anyChar (try (string "*)")) | |
| main = do | |
| (path:_) <- getArgs | |
| Just prog <- parseFromFile (runUnspaced parseExpr) path | |
| input <- encode <$> BL.pack <$> UTF8.encode <$> getContents | |
| BL.putStr $ decode $ eval $ prog :$ input |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))))))))))))))))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Σ(・□・;)
ふおおおおお!!(((o(゚▽゚)o)))