A collection of awesome things.
- Arc
- Assembly
- Astro
- Batchfile
- C
- C#
- C++
- CSS
- Clojure
- Common Lisp
- Component Pascal
- Coq
- D
- Dart
- Elixir
- Emacs Lisp
- Erlang
- F#
- F*
- Fortran
- Gherkin
- Go
- HTML
- Haskell
- Java
- JavaScript
- Jinja
- Julia
- Jupyter Notebook
- Kotlin
- Lean
- Lua
- Makefile
- Modula-2
- Nix
- OCaml
- Oberon
- Objective-C
- PHP
- PLpgSQL
- Pascal
- Perl
- Pony
- Python
- QML
- R
- Racket
- Rich Text Format
- Roff
- Ruby
- Rust
- SCSS
- Scala
- Shell
- Smalltalk
- StringTemplate
- Swift
- TeX
- TypeScript
- V
- VBA
- Vim Script
- Vue
- Xtend
- Zig
- wisp
- Misc
- wting/hackernews - Hacker News web site source code mirror.
- donno2048/snake - A minimal snake in assembly
- dspinellis/unix-history-repo - Continuous Unix commit history from 1970 until today
- fjballest/nix.markII - nix mark II
- fjballest/nixMarkIV - Nix source
- jimon/libkorutin - small C coroutine library based on pypy's stacklet and boost context
- kanaka/mal - mal - Make a Lisp
- nakst/flip - A 16-bit Lisp based operating system.
- markhorn-dev/astro-sphere - Astro Sphere is a static, minimalist, lightweight, lightning fast portfolio and blog.
- aghorler/Windows-10-Hardening - An admittedly frivolous (and infrequently updated) attempt to harden Windows 10.
- 9fans/drawterm - Connect to Plan 9 CPU servers from other operating systems.
- D-os/dos - D/os source code super-repo
- MazinCE/Veecom - A Simple Yet Powerful RISC-V Computer
- Old-Man-Programmer/tree - Tree for Unix/LInux
- Spirit-of-Oberon/Juice - Juice is a technology for distributing executable content across the World Wide Web
- a0rtega/pafish - Pafish is a testing tool that uses different techniques to detect virtual machines and malware analysis environments in the same way that malware families do
- aheck/clib - Header-only library for C99 that implements the most important classes from GLib: GArray, GHashTable, GList and GString.
- antirez/load81 - SDL based Lua programming environment for kids similar to Codea
- c-testsuite/c-testsuite - A public database of C compiler test cases, minimal test runners, and public test results.
- chipx86/gtkparasite - A utility similar to Firebug but for GTK+ applications.
- civboot/fngi - a readable language that grows from the silicon
- cloudius-systems/osv - OSv, a new operating system for the cloud.
- cmu-sei/SCALe - SCALe (Source Code Analysis Lab) is a static analysis aggregator/correlator which enables a source code analyst to combine static analysis results from multiple tools into one interface, and also provides mappings for diagnostics from the tools to the SEI CERT Secure Coding standards.
- console-tools/moc - Music On Console
- containers/composefs - The reliability of disk images, the flexibility of files
- dspinellis/cscout - C code refactoring browser
- fuhsnn/slimcc - C11 compiler with GNU extensions for x86-64 Linux, working towards C23
- fuhsnn/widcc - Simple C compiler for x86-64 Linux able to build real-world projects including Curl, GCC, Git, PHP, Perl, Python, PostgreSQL etc
- fvwmorg/fvwm3 - FVWM version 3 -- the successor to fvwm2
- github/securitylab - Resources related to GitHub Security Lab
- gnooth/xcl - An implementation of Common Lisp.
- idunham/tinyxserver - A small X server, based on Xorg 1.2 but with security fixes.
- jart/cosmopolitan - build-once run-anywhere c library
- jonathanhogg/usepackage - Usepackage Environment Manager
- kdave/ffsb - Flexible filesystem benchmark (https://sourceforge.net/projects/ffsb)
- kernc/xsuspender - 👀 💻 💤 🔋 Save battery by auto-suspending unfocused X11 applications.
- kev009/trix - MIT Trix operating system (UNIX-like)
- kspalaiologos/bzip3 - A better and stronger spiritual successor to BZip2.
- larmel/lacc - A simple, self-hosting C compiler
- libfirm/cparser - C99 parser and frontend for libfirm
- littlekernel/lk - LK embedded kernel
- phmarek/fsvs - Full System Versioning System
- phoboslab/neuralink_brainwire - Attempt at Neuralink's Compression Challenge
- pixeltris/webc86 - Compile / run C in a web browser via TCC / x86 emulation
- ponylang/ponyc - Pony is an open-source, actor-model, capabilities-secure, high performance programming language
- rochus-keller/Are-we-fast-yet - Implementations of the Are-we-fast-yet benchmark suite in Oberon+, C++, C, Pascal, Micron and Luon
- shellphish/how2heap - A repository for learning various heap exploitation techniques.
- symisc/unqlite - An Embedded NoSQL, Transactional Database Engine
- tidesdb/tidesdb - High-performance, durable, transactional embedded storage engine designed for flash and RAM optimization.
- tinycorelinux/tinyx -
- titzer/redpants -
- unicorn-engine/unicorn - Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, S390x, TriCore, X86)
- xorvoid/sectorc - A C Compiler that fits in the 512 byte boot sector of an x86 machine
- yooka1123/cabin - A toy jvm written in C, based on jdk16
- BAndysc/AvaloniaVisualBasic6 - A recreation of the classic Visual Basic 6 IDE and language in C# with Avalonia
- SleepyDeb/JSharp - JSharp is a .class loader for Net Core (similar to IKVM) is based on a features remapping of JDK on .Net Core libs
- Teicsoft/GLADIATE - GLADIATE is a Spectacle Fighter Card Game. Play with 6 unique decks and fight your way through a gauntlet of foes. Not only do you need to fight to survive, but also pull of combos to maximise your spectacle points and please the crowd.
- autofac/Autofac - An addictive .NET IoC container
- jksware/yatc - Yet Another Tiger Compiler
- livingcomputermuseum/ContrAlto - This repository contains the source code for Living Computers: Museum+Labs's Xerox Alto emulator, ContrAlto.
- microsoft/ApplicationInspector - A source code analyzer built for surfacing features of interest and other characteristics to answer the question 'What's in the code?' quickly using static analysis with a json based rules engine. Ideal for scanning components before use or detecting feature level changes.
- Alexiril/Cosmopolitan-SDL-example - Example of using SDL2 with Cosmopolitan Libc
- AlienVault-Engineering/conveyor - C++11 library : efficient event cache for osquery agent with multiple read cursor support
- AmokHuginnsson/replxx - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints and Windows and is BSD licensed.
- GemHunt/CoinSorter - Sorts coins by solenoid on a conveyor by classifying images with Caffe & DIGETS
- HaikuArchives/BeFree - BeOS API and desktop on top of the Linux kernel.
- HaikuArchives/EasyToolkitAndExtension - A toolkit and extension on BeOS/Windows/POSIX, a little like the BeOS API on platforms other than BeOS.
- LemonOSProject/LemonOS - The Lemon Operating System
- MeyerFabian/snow - B.Sc. Thesis Simulation of Snow
- ReadyTalk/avian - [INACTIVE] Avian is a lightweight virtual machine and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.
- SerenityOS/serenity - The Serenity Operating System 🐞
- X547/wayland-server - In-proc Wayland server for Haiku
- adisbladis/lix-unit - Unit testing for Nix code using Lix
- baislsl/jtiger - 虎书tiger语言的jvm编译器
- bollu/elide - Elide: Elegant Metamodal Lean4 IDE.
- briantrice/slate-language - The Slate programming language
- c3d/xl - A minimalist, general-purpose programming language based on meta-programming and parse tree rewrites
- ceph/ceph - Ceph is a distributed object, block, and file storage platform
- cleverca22/fusenar - A program that mounts a NAR (Nix Archive) archive as a filesystem using FUSE. This repo is written in C++; it has now been rewritten in Haskell (https://github.com/taktoa/narfuse).
- cmu-sei/pharos - Automated static analysis tools for binary programs
- cvmfs/cvmfs - The CernVM File System
- doug65536/dgos - Operating System
- electronicarts/EASTL - EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.
- facebook/redex - A bytecode optimizer for Android apps
- facebookexperimental/object-introspection - Object Introspection (OI) enables on-demand, hierarchical profiling of objects in arbitrary C/C++ programs with no recompilation.
- frol/completely-unscientific-benchmarks - Naive performance comparison of a few programming languages (JavaScript, Kotlin, Rust, Swift, Nim, Python, Go, Haskell, D, C++, Java, C#, Object Pascal, Ada, Lua, Ruby)
- google/filesystem-proposal - Boost Filesystem Library with modifications for the C++ standards committee proposal
- impedimentToProgress/Ratchet - Ratchet source code from OSDI 2016
- intel-iot-devkit/object-flaw-detector-cpp - Detect various irregularities of a product as it moves along a conveyor belt.
- managarm/managarm - Pragmatic microkernel-based OS with fully asynchronous I/O
- mhx/dwarfs - A fast high compression read-only file system for Linux, Windows and macOS
- neobrain/cftf - Clang from the Future: A C++17 to C++11 source-to-source compiler
- nucleic/kiwi - Efficient C++ implementation of the Cassowary constraint solving algorithm
- nuttyartist/notes - Fast and beautiful note-taking app written in C++. Write down your thoughts.
- osquery/osquery - SQL powered operating system instrumentation, monitoring, and analytics.
- pin3da/Programming-contest - My solutions of some problems from different online judges
- raulcostajunior/obc - An Oberon 07 to LLVM IR compiler.
- ria-jit/ria-jit - Lightweight and performant dynamic binary translation for RISC–V code on x86–64
- robertoraggi/cplusplus - A compiler front end for the C++ language
- rochus-keller/ActiveOberon - Parser and code browser for the ActiveOberon language (original version from 2004)
- rochus-keller/OberonSystem - Modified version of the original from http://www.projectoberon.com/ for use with the Oberon IDE
- satya-das/cppparser - A library to parse C/C++ source as AST
- shammill/Contract-Bridge-Card-Game - This was a third year University project I completed in 2014. Written in C++ it sets up a deck of cards, shuffles and then deals the cards to the players. It then decides on who will make the opening bid for each hand.
- snej/smol_world - Compact garbage-collected heap and JSON-like object model
- stephank/dumpnar - Minimal tool to produce a Nix NAR archive.
- timjrd/nixrewrite - Prototype implementation of Nix store path rewriting
- urbste/pyTheiaSfM - An open source Python library for multiview geometry and structure from motion
- vprover/vampire - The Vampire Theorem Prover
- vygr/ChrysaLisp - Parallel OS, with GUI, Terminal, OO Assembler, Class libraries, C-Script compiler, Lisp interpreter and more...
- wez/atomicparsley - AtomicParsley is a lightweight command line program for reading, parsing and setting metadata into MPEG-4 files, in particular, iTunes-style metadata.
- SquareBracketAssociates/Booklet-Smacc - A booklet on the Smacc compiler compiler framework
- gayanper/eclipse-themes - Eclipse themes and some features to enhance the look and feel of Eclipse Java IDE.
- klange/Firefox-UI-Fix - 🦊 I respect proton UI and aim to improve it.
- TodePond/ClojePond - lu learns clojure
- clojure/core.logic - A logic programming library for Clojure & ClojureScript
- donut-party/system - a dependency injection library for Clojure and ClojureScript 🍩
- eliascotto/tryclojure - Clojure live REPL tutorial
- flow-storm/flow-storm-debugger - A debugger for Clojure and ClojureScript with some unique features.
- hyperfiddle/electric - Electric Clojure: full-stack differential dataflow for UI
- jacekschae/conduit - Real world application built with ClojureScript + re-frame
- joshuamiller/exif-processor - Exif processing for Clojure
- mbuczko/revolt - Your trampoline to Clojure dev toolbox
- nextjournal/clerk - ⚡️ Moldable Live Programming for Clojure
- razum2um/awesome-clojure - A curated list of awesome Clojure libraries and resources. Inspired by awesome-... stuff
- seancorfield/honeysql - Turn Clojure data structures into SQL
- sixthnormal/clj-3df - Clojure(Script) client for Declarative Dataflow.
- taoensso/sente - Realtime web comms library for Clojure/Script
- weavejester/integrant - Micro-framework for data-driven architecture
- Interlisp/medley - The main repo for the Medley Interlisp project. Wiki, Issues are here. Other repositories include maiko (the VM implementation) and Interlisp.github.io (web site sources)
- armedbear/abcl - Armed Bear Common Lisp <git+https://github.com/armedbear/abcl/> <--> <svn+https://abcl.org/svn> Bridge
- froggey/Mezzano - An operating system written in Common Lisp
- jpcima/sbcl-image-builder - Lisp image build for SBCL
- kiselgra/c-mera - Next-level syntax for C-like languages :)
- pcostanza/closer-mop - Closer to MOP is a compatibility layer that rectifies many of the absent or incorrect CLOS MOP features across a broad range of Common Lisp implementations.
- k-john-gough/gpcp - Gardens Point Component Pascal is an implementation of the Component Pascal Language (CP). There are implementations for both the CLR and the JVM.
- wkolowski/Type-Theory-Wishlist - Personal research notes
- intellij-dlanguage/intellij-dlanguage - Intellij Plugin for the D Programming Language
- nin-jin/tree.d - Tree - simple fast compact user-readable binary-safe extensible structural format
- gskinnerTeam/flokk - A fresh and modern Google Contacts manager that integrates with GitHub and Twitter.
- EssenceOfChaos/war - The classic card game, remade with Elixir and Phoenix
- gorauskas/darkburn-theme - Dark Burn Theme for Emacs 24
- jonhermansen/eiffel-mode - Eiffel mode for Emacs/XEmacs
- parapluu/Concuerror - Concuerror is a stateless model checking tool for Erlang programs.
- B2R2-org/B2R2 - B2R2 is a collection of useful algorithms, functions, and tools for binary analysis.
- hacl-star/hacl-star - HACL*, a formally verified cryptographic library written in F*
- jacobwilliams/AoC-2024 - Advent of Code 2024 with Modern Fortran
- sdkman/sdkman-cli - The SDKMAN! Command Line Interface
- Fault-lang/Fault - a language for building system dynamic models
- Jeffail/leaps - A pair programming service using operational transforms
- MoodyReaper/multi-language-programming-playground - Multi-language programming playground (Go, Python, Rust, TypeScript)
- OSPG/godedupe - Improved and modern fdupes alternative
- Xe/x - Various tools, trinkets and experiments
- anthonyabeo/obx - Obx is an implementation of the Oberon+ compiler.
- anuran-roy/ipos - Linux Based OS using IPFS as a Root File System
- charmbracelet/charm - The Charm Tool and Library 🌟
- charmbracelet/glow - Render markdown on the CLI, with pizzazz! 💅🏻
- charmbracelet/gum - A tool for glamorous shell scripts 🎀
- cpg1111/ipos - Linux Based OS using IPFS as a Root File System
- elimisteve/v2go - V-to-Go translator
- etkecc/agru - ansible-galaxy requirements updater is fast ansible-galaxy replacement
- fatih/astrewrite - Go tool to walk & rewrite AST
- flokli/gerrit-queue - A merge bot for Gerrit
- go-python/gopy - gopy generates a CPython extension module from a go package.
- google/crfs - CRFS: Container Registry Filesystem
- hashsplit/hashsplit-spec -
- iawia002/lux - 👾 Fast and simple video download library and CLI tool written in Go
- ivzhh/go-ast-transform -
- j-keck/zsd - cli tool to find older versions of a given file in your zfs snapshots.
- jmpsec/osctrl - Fast and efficient osquery management
- ktock/container2wasm - Container to WASM converter
- naggie/dstask - Git powered terminal-based todo/note manager -- markdown note page per task. Single binary!
- nlewo/comin - GitOps For NixOS Machines
- offen/docker-volume-backup - Backup Docker volumes locally or to any S3, WebDAV, Azure Blob Storage, Dropbox or SSH compatible storage
- osminum/ink - Ink is a minimal programming language inspired by modern JavaScript and Go, with functional style.
- perkeep/perkeep - Perkeep (née Camlistore) is your personal storage system for life: a way of storing, syncing, sharing, modelling and backing up content.
- project-machine/disko - Disk Operations API in Go
- psilva261/mycel - Rudimentary web browser written in Golang
- restic/restic - Fast, secure, efficient backup program
- roddhjav/apparmor.d - Full set of AppArmor profiles (~ 1500 profiles)
- scratchdata/scratchdata - Scratch is a swiss army knife for big data.
- seaweedfs/seaweedfs - SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding.
- seifer/go-seaweedfs - Seaweed-FS is a simple and highly scalable distributed file system. There are two objectives: to store billions of files! to serve the files fast! Instead of supporting full POSIX file system semantics, Seaweed-FS choose to implement only a key~file mapping. Similar to the word "NoSQL", you can call it as "NoFS".
- slotix/dataflowkit - Extract structured data from web sites. Web sites scraping.
- thesephist/ink - Ink is a minimal programming language inspired by modern JavaScript and Go, with functional style.
- tripleos/ipos - Linux Based OS using IPFS as a Root File System
- tushar2708/conveyor - A go pipeline management library, supporting concurrent pipelines, with multiple nodes and joints
- vdemeester/docker-volume-ipfs - 🐳 This is an open source volume plugin that allows using an ipfs filesystem as a volume.
- vmware-tanzu/velero - Backup and migrate Kubernetes applications and their persistent volumes
- wabarc/wayback - An archiving tool with an IM-style interface that prioritizes privacy and accessibility, integrated with various archival services including Internet Archive, archive.today, Ghostarchive, IPFS, Telegraph, and file systems.
- zignig/astralboot - a low level boot server that deploys servers from file system or ipfs
- Kroc/impatience - A Patience / Solitaire Collection for Nintendo GameBoy that doesn't waste your time
- MahdiF/taptaptap - 🕹 Open Source Javascript Game
- bbonamin/strftimeslikethese - A Ruby WASM implementation, fully client-side, inspired by foragoodstrftime.com
- callgraph/vue-callgraph-manual - http://os.cs.tsinghua.edu.cn/research/kernel/callgraph2017
- eclipse-platform/eclipse.platform.releng.aggregator - Aggregated repository for Eclipse Java IDE
- eine/elide - Embedded Logic Integrated Design Environment
- hundredrabbits/100r.co - Official Website
- jeanboydev/Android-ReadTheFuckingSourceCode - 😜 记录日常的开发技巧,开发中遇到的技术重点、难点,各个知识点的总结,优质面试题等等。持续更新...
- malisipi/ubuntu-tour - Web-Based Ubuntu
- oberon-lang/oberon-lang.github.io - The Oberon+ Programming Language
- permazen/permazen - Language-Natural Persistence Layer for Java
- pypy/pypy.org - Sources for website at https://www.pypy.org
- viebel/klipse - Klipse is a JavaScript plugin for embedding interactive code snippets in tech blogs.
- Gabriella439/nix-diff - Explain why two Nix derivations differ
- carp-lang/Carp - A statically typed lisp, without a GC, for real-time applications.
- change-metrics/monocle - Monocle helps teams and individual to better organize daily duties and to detect anomalies in the way changes are produced and reviewed.
- fumieval/incremental - Type class for patch and diff
- 318anushka/Iris - A woman safety app that lets you reach out to other woman in case of emergency and sends your location on shaking
- Berkeley-CS61B/intellij-plugin -
- DavidBurkett/Builderberg - IntelliJ IDEA plugin to generate inner builders with constraint validation
- HotswapProjects/HotswapAgent - Java unlimited redefinition of classes at runtime.
- JPLeRouzic/HjerteLib -
- JetBrains/attachme - IntelliJ plugin for auto-attaching the debugger to JVM applications
- KisanHub/intellij-orogeny - Use IntelliJ as your build tool instead of ant, maven, groovy or anything else.
- Nuix/jnode-fs - Various file system implementations based on the code of the JNode operating system
- Pr3roxDLC/JNode - A WIP Block Programming Implementation in Java
- SQiShER/java-object-diff - Library to diff and merge Java objects with ease
- ShawnyXiao/LinkingGame - A linking game with nice look and some interests
- StormPI69/CONVEYOR-ANALYZER - Disk Production Analyzer project for categorizing and counting disks by shape and size by analyzing pixels.
- TouK/sputnik - Static code review for your Gerrit patchsets. Runs Checkstyle, PMD, FindBugs, Scalastyle, CodeNarc, JSLint for you!
- Vineflower/vineflower - Modern Java decompiler aiming to be as accurate as possible, with an emphasis on output quality. Fork of the Fernflower decompiler.
- Wisser/Jailer - Database Subsetting and Relational Data Browsing Tool.
- ZHENFENG13/My-Blog - 🌴A simple & beautiful blogging system implemented with spring-boot & thymeleaf & mybatis My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验
- amyjko/whyline - The Whyline for Java, an interactive debugging tool that lets you ask "why" questions about program out.
- arnetheduck/j2c - Java to C++ translator
- benrayfield/quineforge - A quine is a software which outputs its own source code. Quineforge is a very experimental data format for the lossless compression of quines and for translating all possible non-quines (such as pictures of cats, videos, games, GPU matrix multiply algorithms, or nearly anything) into quine form. It uses the (wikipedia page) Chain_rule_for_Kolmogorov_complexity and a 5-way gametree (like a chess or go gametree) to navigate the space of all possible lambda functions. Its security level is planned to be, eventually after the bugs are worked out, enough for the operation of industrial machines and low lag enough to satisfy hardcore gamers. TODO I should copy some of the "fntape" (5 way tree) theory from occamsfuncer readme and various parts of kolmogorov theory. Basically, for example, if we are using sha3_256 (with some pre and post processing of a merkle forest node (or its faster lazy merkle form), then at some few points in a sequence of bits will occur those 256 bits, and the 256 bit ids of other functions, sparsely, and between those are 1 bit at a time opcodes (or 3 or 4 bit opcodes, or something like that), with some opcodes being to say that what follows is a variable size number of 1 bits followed by a 0 bit, then a powOf2 number of bits is a complete binary tree of bits (cbt) which is a lambda function of Lx.Ly.Lz.zxy aka the church encoding of the pair function whose "leafs" are Lx.Ly.x (true) and Lx.L.y.y (false), which goes into the "register" of "fntape" which is basically a lambda datastruct of 2 linkedlists with 5 possible actions from each possible state: move turingtape left (whose cell contents are each a function), move it right, copy register to center of tape, copy center of tape to register, or (heres the only turing complete part) call register on whats at center of turing tape and replace register with what that returns (and using various statistical methods if there is an infinite loop or other nonhalting lambda call it will be given up on quickly before that happens, within some approx specified low lag limits, but compressed forms are expected not to have nonhalters or overly expensive operations etc else they are not shared in the network as often as cheaper faster more useful data structures). So basically theres a bunch of functions, in the space of all possible lambda functions sparsely explored among many computers and people (some of which may be cat memes, minigames, compressed random bitstrings, or whatever) and fntape kind of opcodes aka small bitstrings from one id256 to another id256 such as to say its left child (a few bits of fntape) or its right child etc, or various combinator on eachother, leads to what else. Its a space where, as the name quineforge implies, the distance of bitstring from any function, or from any small set of functions, to any other function, has bigO that is certainly within the distance predicted by kolmogorov complexity theory and which in practice may be able to compete with zip files, 7z files, wavelet sound compression, neuralnet video compression, AIXI compression, andOr any other imaginable kind of compression, and trading compression efficiency for low lag and scalability etc, you might build low lag high voxel count massively multiplayer games with it, or various experiments somewhere within that.
- bishopmatthew/HackerNews - An open source Hacker News client for Android.
- bsideup/jabel - Jabel - unlock Javac 9+ syntax when targeting Java 8
- centic9/jgit-cookbook - Provides examples and code snippets for the JGit Java Git implementation
- clarkware/jdepend - A Java package dependency analyzer that generates design quality metrics.
- cmu-sei/kaiju - CERT Kaiju is a binary analysis framework extension for the Ghidra software reverse engineering suite. This repository is a "mirror" -- please file tickets, bug reports, or pull requests at the upstream home in @CERTCC: https://github.com/certcc/kaiju
- cpater/iDontCare - a java agent that turns a java.lang.NullPointerException in what it really means.
- cprice404/la-clojure - Clojure plugin for IntelliJ IDEA
- dakrone/tigris - Stream-to-stream JSON string escaping
- dbis-ukon/intellij-oberon - A plugin to support the Oberon programming language in JetBrains IDEs.
- dcevm/dcevm - Dynamic Code Evolution VM for Java 7/8
- drewnoakes/metadata-extractor - Extracts Exif, IPTC, XMP, ICC and other metadata from image, video and audio files
- eclipse-openj9/openj9 - Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
- eclipse-pde/eclipse.pde -
- eclipse-platform/eclipse.platform -
- eclipse-xtext/xtext - Eclipse Xtext™ is a language development framework
- elipsitz/java-visualizer-intellij-plugin -
- ericscharff/SmallWorld - Tim Budds Simple Smalltalk interpreter in Java
- fesh0r/fernflower - Unofficial mirror of FernFlower Java decompiler (All pulls should be submitted upstream)
- fluxtah/xtext-android-gradle-example - Example of using xtext gradle plugin in an example project
- ftomassetti/MonacoFX-Tutorials - Tutorial projects for MonacoFX
- ftomassetti/spoon-examples -
- gbpaixao/Creating-Programming-Language-with-SableCC - Building programming language using SableCC in Eclipse Java.
- google/mail-importer - Mail Importer for Gmail will upload the contents of a Thunderbird mail archive to Gmail and do its best to preserve the read state, flagged state, and folders of the messages.
- google/truth - Fluent assertions for Java and Android
- hassansartaj/cdst-toolkit - A toolkit to automate the testing process of Cockpit Display Systems (CDS)
- hassansartaj/uast-toolset - A toolset to support automated system-level testing of unmanned aerial systems (UAS).
- heidisu/java8kanren - Implementation of minikanren in java
- i-net-software/JWebAssembly - Java bytecode to WebAssembly compiler
- java-diff-utils/java-diff-utils - Diff Utils library is an OpenSource library for performing the comparison / diff operations between texts or some kind of data: computing diffs, applying patches, generating unified diffs or parsing them, generating diff output for easy future displaying (like side-by-side view) and so on.
- jdillon/mvnsh - Maven Shell
- jnode-revisited/jnode - Code for the JNode operating system
- jnode-revisited/magnusja-java-fs - Various file system implementations based on the code of the JNode operating system
- jnode-revisited/nuix-java-fs - Various file system implementations based on the code of the JNode operating system
- jnode/jnode - Code for the JNode operating system
- kaby76/AntlrVSIX - AntlrVSIX is a language server for use with Visual Studio 2019, Visual Studio Code, and Gnu Emacs to support Antlr, Bison, and W3C EBNF grammars. In addition to the IDE extensions provided here, a command-line tool is available to refactor grammars in order to make them cleaner, more readable, and more efficient.
- kukido/eclipser - Eclipser is an IntelliJ plugin. It converts Eclipse launch configurations into IntelliJ IDEA run configurations.
- ldenisey/idea-openscad - OpenSCAD language plugin for the IntelliJ platform.
- madhephaestus/OmniscientDebugger - Bil Lewis' Omniscient Debugger for Java. Also known as ODB
- magnusja/java-fs - Various file system implementations based on the code of the JNode operating system
- martindes01/pickcard - A library for creating card games with ease in Java. Make it so!
- matthewmccullough/OmniscientDebugger - Bil Lewis' Omniscient Debugger for Java. Also known as ODB
- melix/gradlefs - Experiments around a Gradle dedicated FS
- meysholdt/xtext_stateful_lexer - An experiment to derive a stateful lexer from an Xtext grammar
- mincong-h/java-examples - Java Examples
- musketyr/yuml-dsl-builder - YUML DSL Builder (Groovy DSL Builder Example)
- rabdulatipoff/ConvBagsGUI - Conveyor bags recognition UI software
- revelc/formatter-maven-plugin - Formatter Maven Plugin
- rkiddy/WhencePlugin -
- slipperyseal/trebuchet - Trebuchet Transcompiler is a Java to C++ source code translator
- spullara/envelope - Netty 4 based envelope for asynchronous protocols
- stepstone-tech/doom-graalvm - PoC of running Doom on top of GraalVM
- tcurdt/jdeb - This library provides an Ant task and a Maven plugin to create Debian packages from Java builds in a truly cross platform manner.
- thinkberg/snipsnap - SnipSnap - A java based wiki
- tripleo1/gmail-mail-importer - Mail Importer for Gmail will upload the contents of a Thunderbird mail archive to Gmail and do its best to preserve the read state, flagged state, and folders of the messages.
- tripleo1/magnusja-java-fs - Various file system implementations based on the code of the JNode operating system
- unktomi/form-follows-function - F3 Programming Language
- usethesource/rascal - The implementation of the Rascal meta-programming language (including interpreter, type checker, parser generator, compiler and JVM based run-time system)
- wucao/jw3gparser - Java Warcraft Ⅲ Replay Parser(Java解析《魔兽争霸3》游戏录像工具)
- zbra-dev/android-linq - Manipulate collections easily using C# LINQ style queries and Java 8 closures.
- DustinBrett/daedalOS - Desktop environment in the browser
- GonzaloGorgojo/Gnome-Shell-Crypto-Tracker - Simple Gnome extension to keep track of BTC and ETH prices against USD and EUR.
- HeyPuter/puter - 🌐 The Internet OS! Free, Open-Source, and Self-Hostable.
- IBM/guide-conveyor-simulator - # WARNING: This repository is no longer maintained
⚠️ This content is no longer being updated or maintained. The content is provided “as is.” Given the rapid evolution of technology, some content, steps, or illustrations may have changed. - Kristories/awesome-guidelines - A curated list of high quality coding style conventions and standards.
- LonelessCodes/trixiebot - Multipurpose Discord Bot for Horses and Hoomans.
- MineDojo/Voyager - An Open-Ended Embodied Agent with Large Language Models
- Moon-0xff/gnome-mpris-label - A music related GNOME extension.
- Overhear8805/redlib-redirect - Redirect reddit.com to a libre alternatives
- RAJAGOPALAN-GANGADHARAN/JS-OS - An Unified Operating System on the web
- ShivaBhattacharjee/AnimeTrix - Animetrix is a project that utilizes the Anilist platform to obtain information on various anime titles, and it combines this data with the Gogoanime API to provide ad-free streaming of anime content.
- StephenPCG/extend-left-box - Extend _leftBox of gnome-shell top bar
- Swatinem/diff - implementation of myers diff algorithm
- WardCunningham/remodeling - The original wiki rewritten as a single page application
- az0/linkgopher - Firefox/Google Chrome add-on: Extracts all links from web page, sorts them, removes duplicates, and displays them in a new tab for inspection or copy and paste into other systems.
- channaveer/tutorial-adblocker - Detect AdBlocker from Javascript & request viewers to disable it.
- charliegerard/flappy-windows - Flappy Bird with browser windows
- chinese-poetry/chinese-poetry - The most comprehensive database of Chinese poetry 🧶最全中华古诗词数据库, 唐宋两朝近一万四千古诗人, 接近5.5万首唐诗加26万宋诗. 两宋时期1564位词人,21050首词。
- chrislusf/docker-plugin_seaweedfs - A Docker Volume plugin for mounting SeaweedFS filesystems
- ditesh/node-poplib - POP3 client library for Node.js
- dosyago/dn - 💾 dn - offline full-text search and archiving for your Chromium-based browser.
- dsheeler/CoverflowAltTab - Coverflow like Alt-Tab replacement for Gnome-Shell
- dvajs/dva-hackernews - HackerNews clone built with Dva.
- fthx/dock-from-dash -
- geoph9/hass-gshell-extension - A simple gnome shell extension for home assistant.
- gildas-lormeau/SingleFile - Web Extension for saving a faithful copy of a complete web page in a single HTML file
- google/zx - A tool for writing better scripts
- hardpixel/unite-shell - Unite is an extension that makes GNOME Shell look like Ubuntu Unity Shell.
- irrum6/heximo - history export import extension for firefox
- kautukkundan/Awesome-Profile-README-templates - A collection of awesome readme templates to display on your profile
- kevlarr/awesome-wasm - resources for Wasm presentation; comparison of JS vs. Wasm via implementations of Game of Life
- leapmotion/leapjs - JavaScript client for the Leap Motion Controller
- lengstrom/falcon - Chrome extension for full text history search!
- mafintosh/abstract-chunk-store - A test suite and interface you can use to implement a chunk based storage backend
- max-mapper/abstract-blob-store - A test suite and interface you can use to implement streaming file (blob) storage modules for various storage backends and platforms
- mkhorin/e-champ - A server-side platform for turn-based online games
- novemberborn/never - A function that throws when called, use with nullish coalescing to elide unexpected nullish values
- ollama-ui/ollama-ui - Simple HTML UI for Ollama
- p-e-w/argos - Create GNOME Shell extensions in seconds
- puzzle/wasm-hello-java - Minimal WebAssembly Hello World in Java
- reimertz/curse-words -
- seamapi/react-repl - React component for creating a REPL or interactive command line interface
- shanesmith/gerrit-cli - Gerrit in your command lines.
- shaunxcode/datomicism - interface for visualizing datomic schemas and queries
- sindresorhus/yn - Parse yes/no like values
- thesephist/unim.press - A Reddit front-page reader in the style of The New York Times.
- torch2424/made-with-webassembly - A showcase of awesome production applications, side projects, and use cases made with WebAssembly (Wasm). 👷
- debops/debops - DebOps - Your Debian-based data center in a box
- trixi-framework/Trixi2Vtk.jl - Convert output files generated with Trixi.jl to VTK.
- LabForComputationalVision/pyPyrTools - Python tools for multi-scale image processing, including Laplacian pyramids, Wavelets, and Steerable Pyramids http://www.cns.nyu.edu/~lcv/software.php
- TRI-AMDD/trixs - Toyota Research Institute X-ray Spectroscopy. Tools for machine learning of XANES.
- melix/NebulAI - Detecting planetary nebula using AI
- nurakib/fast.ai - Making neural nets uncool again
- vivekjoshy/openskill.py - Multiplayer Rating System. No Friction.
- CASC-Lang/Yakou - An experimental JVM Language inspired by Rust.
- FirstTimeInForever/gradle-run-gutter-icons - This plugin adds run gutter icons for the build.gradle.kts tasks declarations.
- IntellijMesonIntegration/IntellijMesonIntegration - Meson Build System integration for CLion
- Tigermouthbear/Theia - A Kotlin program used to analyze and discover backdoors in Minecraft Java 1.12.2 forge mods
- V9vek/Sorting-Visualizer - Visualizes various sorting algorithms
- andregasser/bigbone - BigBone - A Mastodon Client Library for Java and Kotlin
- copper-leaf/ballast - Opinionated Application State Management framework for Kotlin Multiplatform
- facebookincubator/dataclassgenerate - DataClassGenerate (or simply DCG) is a Kotlin compiler plugin that addresses an Android APK size overhead from Kotlin data classes.
- joreilly/PeopleInSpace - Kotlin Multiplatform sample with SwiftUI, Jetpack Compose, Compose for Wear, Compose for Desktop, and Compose for Web clients along with Ktor backend.
- kotlin-sheriff/black-sun - The idea is to turn your Telegram chat into a world of magic, where the one who knows the most Kotlin spells wins.
- manriif/supabase-edge-functions-kt - Build, serve and deploy Supabase Edge Functions with Kotlin and Gradle.
- nhat-phan/shit-cleaner - An Intellij IDE plugin which uses Code Climate CLI to analyze your source code on local machine and display code smells/duplications right in your IDE
- square/workflow-kotlin - A Swift and Kotlin library for making composable state machines, and UIs driven by those state machines.
- tateisu/SubwayTooter - Mastodon client app for Android
- tschuchortdev/kotlin-compile-testing - A library for testing Kotlin and Java annotation processors, compiler plugins and code generation
- draperlaboratory/ELFSage - A toy ELF parser/validator
- leanprover/LNSym - Armv8 Native Code Symbolic Simulator in Lean
- leanprover/leansat - This package provides an interface and foundation for verified SAT reasoning
- ufmg-smite/lean-smt - Tactics for discharging Lean goals into SMT solvers.
- Qsgs-Fans/FreeKill - Sanguosha (三国杀, a.k.a. Legend of Three Kingdoms, LTK) written in Qt and Lua.
- sblask/null-ls.nvim - Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
- tulip-lang/tulip -
- kostya/benchmarks - Some benchmarks of different languages
- riscv/riscv-svvptc - Obviating Memory-Management Instructions after Marking PTEs Valid (Svvptc)
- OberonSystem3/AOS_Bluebottle_Sources - This is the source code of the last stable release of the ETH AOS/Bluebottle System, dated March 12, 2004, in plain ISO 8859-1 UTF-8 text files
- OberonSystem3/Release_2.3.7_Sources - This is the source code of the Oberon System 3 Release 2.3.7 in plain ISO 8859-1 UTF-8 text files
- ef15c/oberon_stm32f4 - Portage of Oberon system to stm32f429i-disco board
- rochus-keller/OberonSystem3 - A cross-platform version of the ETH Oberon System 3 compatible with the Oberon+ compiler and IDE
- JeremiahSecrist/regula-nix - This project aims to help implement and enforce various security standards in NixOS. Regula meaning standards in latin.
- cleverca22/nix-misc - Small experimental things I am doing with Nix (this repository is old and will soon be merged with https://github.com/cleverca22/nix-tests).
- felko/vide - A proof of concept for a nix-powered IDE assembled from individual components
- fluidattacks/makes - A software supply chain framework powered by Nix.
- gmodena/nix-flatpak - Install flatpaks declaratively
- hercules-ci/canonix - Experiment in Nix formatting
- infinisil/nixlisp -
- nix-community/impermanence - Modules to help you handle persistent state on systems with ephemeral root storage [maintainer=@talyz]
- nix-community/srvos - NixOS profiles for servers [maintainer=@numtide]
- nixos-bsd/nixbsd - An unofficial NixOS fork with a FreeBSD kernel
- oddlama/nix-topology - 🍁 Generate infrastructure and network diagrams directly from your NixOS configurations
- tpwrules/nixos-apple-silicon - Resources to install NixOS bare metal on Apple Silicon Macs
- dmtrKovalenko/odiff - The fastest pixel-by-pixel image visual difference tool in the world.
- hacspec/hax - A Rust verification tool
- janestreet/incremental - A library for incremental computations
- Spivoxity/obc-3 - Oxford Oberon-2 compiler
- gnustep/libs-steptalk - StepTalk is a scripting framework for creating scriptable servers or applications.
- onflapp/gs-desktop - GNUstep Desktop
- onflapp/libs-steptalk - Scripting Framework for GNUstep Desktop
- trunkmaster/nextspace - NeXTSTEP-like desktop environment for Linux
- DirectoryLister/DirectoryLister - 📂 Directory Lister is the easiest way to expose the contents of any web-accessible folder for browsing and sharing.
- Hyupai/Classloader-by-S4J - Dinamic classloader
- dpacassi/face-detection - Comparing different Face detection solutions from Amazon, Google, IBM, Microsoft, Dlib, OpenCV and other open source solutions.
- glhd/conveyor-belt - All the underlying mechanics necessary to write artisan commands that process lots of data efficiently
- studoverse/FH-Complete-Docker - Docker container version for https://github.com/FH-Complete/FHC-Core
- arthurmteodoro/semantic-net - Criação de um software capaz de representar uma rede semântica, usando um arquivo de entrada e outro de saída, também mostrando informações quanto à rede semântica. Trabalho realizado no 2º período de Ciência da Computação do Instituto Federal de Minas Gerais(IFMG) - Campus Formiga para a Disciplina Matemática Discreta
- jimsalterjrs/perlpv - A proof-of-concept pipe viewer similar to Andrew Wood's pv—but written in perl, for eventual use internally in syncoid.
- klange/ponysay - Ponysay ported to Kuroko
- 0xAX/linux-insides - A little bit about a linux kernel
- 0xCorolaire/SmartCards - Predictive app helping announce on various card games and AI Games cards
- 40uf411/SemaWal - SemaWal: A semantic network resolver in python
- AndreMiras/coveralls-python-action - GitHub Action for Python Coveralls.io
- ArchiveTeam/grab-site - The archivist's web crawler: WARC output, dashboard for all crawls, dynamic ignore patterns
- AsahiLinux/asahi-installer - Asahi Linux installer
- Baekalfen/PyBoy - Game Boy emulator written in Python
- BruceDLong/CodeDog - Auto-generate programs in C derived languages for multiple platforms
- Educorreia932/FEUP-FPRO - 🐢 MIEIC 2018/2019 - 1ˢᵗ year / 1ˢᵗ semester
- FirmWire/FirmWire - FirmWire is a full-system baseband firmware emulation platform for fuzzing, debugging, and root-cause analysis of smartphone baseband firmwares
- JohannesBuchner/chunk-fuse - Filesystem in User Space (fuse) using compressed and encrypted chunks
- Komodo/KomodoEdit - Komodo Edit is a fast and free multi-language code editor. Written in JS, Python, C++ and based on the Mozilla platform.
- LunaTMT/Snake - Snake created with Pygame
- MarcusRainbow/pypyrust - Python to Rust compiler
- MilaNLProc/honest - A Python package to compute HONEST, a score to measure hurtful sentence completions in language models. Published at NAACL 2021.
- NixIPFS/nixipfs-scripts - Mirror a Hydra jobset using IPFS or plain rsync
- StuyPulse/theia - Theia is a visual localization solution using the ArUco fiducial system.
- Textualize/rich - Rich is a Python library for rich text and beautiful formatting in the terminal.
- VAST-AI-Research/TripoSR -
- Wanderson-Magalhaes/Modern_GUI_PyDracula_PySide6_or_PyQt6 -
- alxschwrz/codex_py2cpp - Converts python code into c++ by using OpenAI CODEX.
- amanusk/s-tui - Terminal-based CPU stress and monitoring utility
- atopile/atopile - Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️
- bibanon/tubeup - Use yt-dlp to download video/metadata and upload to the Internet Archive.
- biosbits/bits - BIOS Implementation Test Suite
- bmuschko/rules_java_war - Bazel rules for generating a Java Web Archive (WAR).
- borgbackup/borg - Deduplicating archiver with compression and authenticated encryption.
- cchen156/Learning-to-See-in-the-Dark - Learning to See in the Dark. CVPR 2018
- cherrypy/cherrypy - CherryPy is a pythonic, object-oriented HTTP framework. https://cherrypy.dev
- commaai/openpilot - openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 275+ supported cars.
- cool-RR/PySnooper - Never use print for debugging again
- corna/me_cleaner - Tool for partial deblobbing of Intel ME/TXE firmware images
- cute-engineering/cutekit - 🪄 The magical build system and package manager
- dragnet-org/dragnet - Just the facts -- web page content extraction
- enthought/pyface - pyface: traits-capable windowing framework
- enthought/traits - Observable typed attributes for Python classes
- enthought/traitsui - TraitsUI: Traits-capable windowing framework
- gbrls/pyRebinder - A python based minimal DNS server to test/verify DNS rebinding attacks
- gevent-on-pypy/pypycore - gevent.core implemented as cffi module, might be used with pypy
- gorakhargosh/mom - The do-not-repeat-yourself-library. All your utils.py and compat.py are belong to us. Python 2.5+, PyPy, and Python 3.x
- graboluk/stiko - systray icon for syncthing
- halgari/clj-pypy - A implementation of Clojure on PyPy
- hungrywolf27/zfs-list-gtk - A simple GUI that lists ZFS filesystems and snapshots in a Gtk TreeView widget. Written in Python.
- iperov/DeepFaceLive - Real-time face swap for PC streaming or video calls
- joactr/AnnoTheia - AnnoTheia is a data annotation toolkit that identifies when a person speaks in a scene and transcribes their speech, also offering flexibility to replace modules for different languages.
- jorgenkg/python-neural-network - This is an efficient implementation of a fully connected neural network in NumPy. The network can be trained by a variety of learning algorithms: backpropagation, resilient backpropagation and scaled conjugate gradient learning. The network has been developed with PYPY in mind.
- joshiemoore/snakeware - A free Linux distro with a Python-based userspace
- jstepien/psota - “Clojure on PyPy” would be an exaggeration
- knorrie/btrfs-heatmap - Visualize the layout of data on your btrfs filesystem over time
- ks-amit/Distributed-Database - A travel agency app with a distributed database implemented from scratch!
- ldtp/ldtp2 - Linux Desktop Testing Project
- lelit/tailor - A tool to exchange changesets between different version control systems
- linuxmint/sticky - A sticky notes app for the linux desktop
- log2timeline/dfvfs - Digital Forensics Virtual File System (dfVFS)
- lzzcd001/GShell - Official implentation of "Ghost on the Shell: An Expressive Representation of General 3D Shapes" (ICLR 2024 Oral)
- martin68/apt-smart - apt-smart: Smart, automated, robust apt-get mirror selection for Debian, Ubuntu and Linux Mint
- microsoft/az-python - A collection of Python Packages for AI usecases
- mist64/c64ref - Ultimate Commodore 64 Reference: ROM Disassembly, Memory Map, ...
- multiformats/py-multibase - Multibase implementation in Python
- netneurolab/pypyls - A Python implementation of Partial Least Squares (PLS) decomposition
- nikitastupin/clairvoyance - Obtain GraphQL API schema even if the introspection is disabled
- nix-gui/nix-gui - Use NixOS Without Coding
- nucleic/enaml - Declarative User Interfaces for Python
- nyaadevs/pybittorent-tracker-sanic - Don't use pypy, it's bad. Unmaintained, no longer used.
- oduwsdl/archivenow - A Tool To Push Web Resources Into Web Archives
- oduwsdl/ipwb - InterPlanetary Wayback: A distributed and persistent archive replay system using IPFS
- oobabooga/text-generation-webui - A Gradio web UI for Large Language Models with support for multiple inference backends.
- openstack/mistral - Workflow Service for OpenStack. Mirror of code maintained at opendev.org.
- oravus/seqNet - SeqNet: Code for the RA-L (ICRA) 2021 paper "SeqNet: Learning Descriptors for Sequence-Based Hierarchical Place Recognition"
- pixie-lang/pixie - A small, fast, native lisp with "magical" powers
- ploomber/jupysql - Better SQL in Jupyter. 📊
- polmuz/pypy-image-demo - Video processing with pypy
- pypy/pypy - PyPy is a very fast and compliant implementation of the Python language.
- python-eel/Eel - A little Python library for making simple Electron-like HTML/JS GUI apps
- ravexina/csp-sudoku-solver - Python + tkinter + CSP Idea / Algorithm to solve sudoko
- riscv/riscv-cheri - This repository contains the CHERI extension specification, adding hardware capabilities to RISC-V ISA to enable fine-grained memory protection and scalable compartmentalization.
- scrollmapper/bible_databases - Bible versions and cross-reference databases.
- seiferteric/remarkable_debfix - Remarkable Markdown Debian Package Fix
- simonw/simonwillisonblog - The source code behind my blog
- sjvasquez/handwriting-synthesis - Handwriting Synthesis with RNNs ✏️
- skelsec/pypykatz_wasm - pypykats in your browser
- tekknolagi/scrapscript - A functional, content-addressable programming language.
- thatch45/sorbic - Python/PYPY Hierarchical Distributed Hash Table Event Driven Async document/stream database/filesystem
- vivien/i3blocks-contrib - Official repository for community contributed blocklets
- yairchu/awesome-structure-editors - A list of projectional and structural editors
- zach-morris/plugin.program.iagl - The Internet Archive Game Launcher (IAGL) will launch Games from the Internet using Kodi
- Silviculturalist/forester - A collection of forest science and forestry functions, data and vignettes. Intended to follow a standardised form of structures, variable names. Do you want to add something, but don't have a GitHub? Contact carl.vigren@slu.se
- vspinu/R-nREPL - nREPL client and server for R
- ashton314/muKanren_reading - [Mirror] A close reading of the μKanren paper.
- phodal/github - GitHub 漫游指南- a Chinese ebook on how to build a good project on Github. Explore the users' behavior. Find some thing interest.
- oasislinux/oasis - a small statically-linked linux system
- adamwiggins/rush - Ruby replacement for bash+ssh
- bayandin/awesome-awesomeness - A curated list of awesome awesomeness
- isene/rsh - Ruby SHell
- kilimchoi/engineering-blogs - A curated list of engineering blogs
- ljulliar/FreeRIDE - A Free Ruby IDE (written in Ruby)
- piotrmurach/strings-truncation - Truncate strings with fullwidth characters and ANSI codes.
- ytti/oxidized - Oxidized is a network device configuration backup tool. It's a RANCID replacement!
- ArthurBrussee/brush - 3D Reconstruction for all
- AsahiLinux/muvm - muvm - run programs from your system in a microVM
- DieracDelta/DAWN - DAWN (Debug Adapter with Nix)
- RustPython/Parser -
- RyanWelly/lisp-in-rs-macros - A Lisp interpreter written fully in rust macros.
- YtvwlD/ele - ele spawns elevated processes.
- andreafioraldi/libafl_quickjs_fuzzing - An example fuzzer about how to fuzz a JS engine combinign Nautilus with Token-level fuzzing
- atuinsh/atuin - ✨ Magical shell history
- build-trust/ockam - Orchestrate end-to-end encryption, cryptographic identities, mutual authentication, and authorization policies between distributed applications – at massive scale.
- curlpipe/ox - The simple but flexible text editor
- digama0/lean-sys - Rust bindings for the Lean 4 proof assistant
- dotboris/alt - A simple version manager tool for switching between different versions of commands
- edef1c/libfringe - a Rust library implementing safe, lightweight context switches, without relying on kernel services
- ekzhang/crepe - Datalog compiler embedded in Rust as a procedural macro
- facebook/starlark-rust - A Rust implementation of the Starlark language
- jj-vcs/jj - A Git-compatible VCS that is both simple and powerful
- kahing/catfs - Cache AnyThing filesystem written in Rust
- lovesegfault/daedalos - A fully (dis)functional OS!
- n0-computer/iroh - peer-2-peer that just works
- nagisa/msi-rgb - Linux utility for controlling RGB header on select MSI motherboards
- ngeor/rusty-basic - An interpreter for QBasic, written in Rust.
- nix-community/nix-index - Quickly locate nix packages with specific files [maintainers=@bennofs @figsoda @raitobezarius]
- pop-os/cosmic-text - Pure Rust multi-line text handling
- project-machine/puzzlefs - A next-generation container filesystem
- qarmin/czkawka - Multi functional app to find duplicates, empty folders, similar images etc.
- rgwood/systemctl-tui - A fast, simple TUI for interacting with systemd services and their logs
- roc-lang/roc - A fast, friendly, functional language.
- sharkdp/fd - A simple, fast and user-friendly alternative to 'find'
- sjb3d/descent - Toy library for neural networks in Rust using Vulkan compute shaders
- snowfallorg/nixos-conf-editor - A libadwaita/gtk4 app for editing NixOS configurations
- sunfishcode/c-ward - An implementation of libc written in Rust
- sunfishcode/eyra - Rust programs written entirely in Rust
- sunfishcode/mustang - Rust programs written entirely in Rust
- versotile-org/verso - A web browser that plays old world blues to build new world hope
- vishaltelangre/ff - Find files (ff) by name, fast!
- zzhgithub/juner_os - Rust developed OS based on blog_os Trying a repl environment running in kernel state lisp developed based on mal implementation
- LispLang/lisplang.github.io - Common Lisp homepage
- hydecorp/hydejack - A boutique Jekyll theme for hackers, nerds, and academics
- slatedocs/slate - Beautiful static documentation for your API
- chipsalliance/chisel - Chisel: A Modern Hardware Design Language
- djspiewak/gll-combinators - A parser combinator library based on the GLL algorithm
- dotta/coursier-deps-resolution-bug - Small project demonstrating the mismatch between sbt and coursier dependency resolution
- helgeho/ArchiveSpark - An Apache Spark framework for easy data processing, extraction as well as derivation for web archives and archival collections, developed at Internet Archive.
- lihaoyi/Metascala - A JVM written in Scala
- qingwei91/inc-scala - Incremental (from Jane Street) implemented in Scala
- teliatko/coursier-issue-ivy-classifiers - Simulation of issue in Cousier when Ivy is used with classifiers
- 64kramsystem/zfs-installer - Program that prepares ZFS on a system, and installs Linux
- AOSC-Archive/aosc-os-core - AOSC OS Core: definitions, abbs configurations, and build scripts.
- OSPreservProject/amoeba - amoeba operating system
- TravaOpenJDK/trava-jdk-11-dcevm - dcevm-11 built on Travis
- UbuntuAsahi/ubuntu-asahi - Native Ubuntu installations for Apple silicon hardware
- a-schaefers/themelios - Bootstrap a zfs-on-root NixOS configuration in one command. Themelios automates the entire installation process using any NixOS livedisk with an internet connection and your git repo. Themelios is flexible with many configuration options and allows for unique, per-machine customization.
- boredsquirrel/Fedora-TV-KDE-Bigscreen - A Linux TV based off the immutable Fedora Kinoite, along with KDE Plasma Bigscreen, Mycroft Voice control, a modified Firefox and preinstalled Flatpak apps.
- c3d/mbuto - Minimal Builder Using Terse Options
- certik/bcompiler - Mirror of http://www.rano.org/bcompiler.tar.gz, with a bootstrap script
- dlang/installer - dmd installers for various systems
- jarun/advcpmv - A patch for GNU Core Utilities cp, mv to add progress bars
- kdabir/has - ✅ checks presence of various command line tools and their versions on the path
- klange/taylor - Swift on bare metal. Explorations of compiling Swift code without a standard library.
- mkellyxp/nixbook -
- papers-we-love/papers-we-love - Papers from the computer science community to read and discuss.
- presslabs/debuilder - Docker images for building debian/ubuntu packages
- quickemu-project/quickemu - Quickly create and run optimised Windows, macOS and Linux virtual machines
- risuorg/risu - Automation Troubleshooting Framework to validate and report configuration, software installed, etc with bash, python, and your language of choice.
- trentbuck/flash-kernel-efi -
- version-manager/woof - The version manager to end all version managers.
- wmutschl/mutschler.dev - Tech blog
- zegl/extremely-linear - Extremely Linear Git History // git-linearize
- codefrau/jasmine - Croquet Jasmine (2004) on SqueakJS (WIP)
- sbragagnolo/Xtreams - Xtream project fork. Migration to Pharo.
- seandenigris/Xtreams-Pharo -
- Cuis-Smalltalk/TheCuisBook - A book about Cuis Smalltalk
- amitburst/HackerNews - A Hacker News reader iOS app written in Swift.
- bennyguitar/News-YC---iPhone - The iPhone version of News/YC, a Hacker News reader and interactive iOS application.
- lelandrichardson/recoil - Swift and Kotlin ports of React (Prototype)
- marciok/Mu - It's a Swift playground explaining how to create a tiny programming language named Mu
- tombonez/noTunes - A simple macOS application that will prevent iTunes or Apple Music from launching.
- sysprog21/lkmpg - The Linux Kernel Module Programming Guide (updated for 5.0+ kernels)
- Nutlope/roomGPT - Upload a photo of your room to generate your dream room with AI.
- antfu/retypewriter - Replay the steps of your changes at ease.
- bleedingedgeai/bleedingedge.ai - Bleeding edge is a feed of noteworthy developments in AI and machine learning.
- cs01/gdbgui - Browser-based frontend to gdb (gnu debugger). Add breakpoints, view the stack, visualize data structures, and more in C, C++, Go, Rust, and Fortran. Run gdbgui from the terminal and a new tab will open in your browser.
- eclipse-theia/theia - Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.
- hyochan/react-native-audio-recorder-player - react-native native module for audio recorder and player.
- jaredkrinke/100-languages - Solving the first 100 Project Euler problems using 100 different programming languages!
- luooooob/create-my-awesome - Github Actions for automatically generating the personal awesome list from all of the repositories you starred.
- mbnuqw/sidebery - Firefox extension for managing tabs and bookmarks in sidebar.
- microsoft/vscode-wasm - A WASI implementation that uses VS Code's extension host as the implementing API
- mihailtd/starter - Project Starter template using VueJS, Vite, GraphQL backend with PostGraphile, PostgreSQL database in Kubernetes with Crunchy Postgres Operator, local Kubernetes development with DevSpace and auto generated code with graphql-code-generator.
- pavlobu/deskreen - Deskreen turns any device with a web browser into a secondary screen for your computer. ⭐️ Star to support our work!
- rbtying/shengji - An online version of shengji (a.k.a. tractor) and zhaopengyou (a.k.a. Finding Friends)
- vadimdemedes/ink - 🌈 React for interactive command-line apps
- zu1k/bs-core - Easy and blazing-fast book searcher, create and search your private library.
- vlang/c2v - C/C++ to V translator
- visual2000/DadaCards - A nihilistic card game, to simulate folks having fun on computers in the old days.
- jmcantrell/vim-fencing - Change buffer options depending on the context
- liquidz/vim-iced - Clojure Interactive Development Environment for Vim8/Neovim
- nuxt-community/hackernews-nuxt-ts - Typescript Version of HackerNews Nuxt
- nuxt/hackernews - HackerNews clone built with Nuxt.
- vuejs/vue-hackernews - HackerNews clone with Vue.js
- kbirken/xtendency - A collection of neat tools related to the Xtend language.
- xtext/xtext-gradle-plugin - Gradle plugins for using Xtext and Xtend
- jamii/preimp -
- nix-community/zon2nix - Convert the dependencies in
build.zig.zon
to a Nix expression [maintainer=@figsoda] - ziglang/zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
- wisp-lang/wisp - A little Clojure-like LISP in JavaScript
- BruceDone/awesome-crawler - A collection of awesome web crawler,spider in different languages
- DavidS95/Smokeless_UMAF -
- Elidefunnyguy/ElidefunnyDash - This is a pack for Geometry Dash made by Elidefunnyguy. It features piano versions of the RobTop levels and a galaxy background; not anything crazy.
- Frogging-Family/community-patches - A place to find patches that are maintained by the community before myself
- IntelliJIdeaKeymap4Eclipse/com.github.intellijideakeymap4eclipse.feature -
- LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words - List of Dirty, Naughty, Obscene, and Otherwise Bad Words
- Malix-Labs/awesome_atomic - An awesome curated knowledge-base about atomic systems
- MauriceButler/badwords - A highly consumable list of bad (profanity) english words
- MinecraftForge/ForgeFlower - Forge's modifications to FernFlower. Fixing various bugs/inconsistencies. Main Repo: https://github.com/MinecraftForge/FernFlower
- MunGell/awesome-for-beginners - A list of awesome beginners-friendly projects.
- PaulKeeble/ScalaVErlangAgents - A performance test comparing Scala verses Erlang with simple agents to determine messaging performance
- QianMo/Game-Programmer-Study-Notes - ⚓ 我的游戏程序员生涯的读书笔记合辑。你可以把它看作一个加强版的Blog。涉及图形学、实时渲染、编程实践、GPU编程、设计模式、软件工程等内容。Keep Reading , Keep Writing , Keep Coding.
- X547/OberonUtils - Utilities for Oberon/BlackBox
- YouMightNotNeedKubernetes/.github - @YouMightNotNeedKubernetes community files
- aalhour/awesome-compilers - 😎 Curated list of awesome resources on Compilers, Interpreters and Runtimes
- alsam/bookmarks - my bookmarks
- appcypher/awesome-wasm-langs - 😎 A curated list of languages that compile directly to or have their VMs in WebAssembly
- appcypher/awesome-wasm-runtimes - A list of webassemby runtimes
- awesome-cryosphere/cryosphere-links - This is a link list with awesome data, models, and tools around the cryosphere.
- awesome-selfhosted/awesome-selfhosted - A list of Free Software network services and web applications which can be hosted on your own servers
- beriberikix/awesome-wasm-blockchain - 📦⛓ Curated list of awesome things regarding WebAssembly (wasm) and Blockchain projects
- bhatti/JavaNOW - Java Network of Workstation - Linda and Actor based framework for writing parallel and distributed applications
- builtbybel/CloneApp - 📦Easily Backup & Restore Windows Programs Settings
- bxd/advcpmv - A patch for cp / mv to add progress bars
- d-cook/SomethingNew - Collaboration for reinventing software in human terms
- dh-orko/Help-me-get-rid-of-unhumans - /* JS / gapi.loaded_0(function(){var window=this; var ha,ia,ja,ma,sa,na,ta,ya,Ja;.ea=function(a){return function(){return .da[a].apply(this,arguments)}};.DumpException=function(a){throw a;};.da=[];ha="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};ia="undefined"!=typeof window&&window===this?this:"undefined"!=typeof window.global&&null!=window.global?window.global:this;ja=function(){ja=function(){};ia.Symbol||(ia.Symbol=ma)}; ma=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}();sa=function(){ja();var a=ia.Symbol.iterator;a||(a=ia.Symbol.iterator=ia.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ha(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return na(this)}});sa=function(){}};na=function(a){var b=0;return ta(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})};ta=function(a){sa();a={next:a};a[ia.Symbol.iterator]=function(){return this};return a}; .wa=function(a){sa();var b=a[window.Symbol.iterator];return b?b.call(a):na(a)};.xa="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b};if("function"==typeof Object.setPrototypeOf)ya=Object.setPrototypeOf;else{var Ba;a:{var Ca={a:!0},Da={};try{Da.proto=Ca;Ba=Da.a;break a}catch(a){}Ba=!1}ya=Ba?function(a,b){a.proto=b;if(a.proto!==b)throw new TypeError(a+" is not extensible");return a}:null}.Fa=ya; Ja=function(a,b){if(b){var c=ia;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ha(c,a,{configurable:!0,writable:!0,value:b})}};Ja("Array.prototype.find",function(a){return a?a:function(a,c){a:{var b=this;b instanceof String&&(b=String(b));for(var e=b.length,f=0;f<e;f++){var h=b[f];if(a.call(c,h,f,b)){a=h;break a}}a=void 0}return a}});var Ka=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)}; Ja("WeakMap",function(a){function b(a){Ka(a,d)||ha(a,d,{value:{}})}function c(a){var c=Object[a];c&&(Object[a]=function(a){b(a);return c(a)})}if(function(){if(!a||!Object.seal)return!1;try{var b=Object.seal({}),c=Object.seal({}),d=new a([[b,2],[c,3]]);if(2!=d.get(b)||3!=d.get(c))return!1;d"delete";d.set(c,4);return!d.has(b)&&4==d.get(c)}catch(n){return!1}}())return a;var d="$jscomp_hidden"+Math.random();c("freeze");c("preventExtensions");c("seal");var e=0,f=function(a){this.Aa=(e+=Math.random()+ 1).toString();if(a){ja();sa();a=.wa(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};f.prototype.set=function(a,c){b(a);if(!Ka(a,d))throw Error("a
"+a);a[d][this.Aa]=c;return this};f.prototype.get=function(a){return Ka(a,d)?a[d][this.Aa]:void 0};f.prototype.has=function(a){return Ka(a,d)&&Ka(a[d],this.Aa)};f.prototype["delete"]=function(a){return Ka(a,d)&&Ka(a[d],this.Aa)?delete a[d][this.Aa]:!1};return f}); Ja("Map",function(a){if(function(){if(!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var b=Object.seal({x:4}),c=new a(_.wa([[b,"s"]]));if("s"!=c.get(b)||1!=c.size||c.get({x:4})||c.set({x:4},"t")!=c||2!=c.size)return!1;var d=c.entries(),e=d.next();if(e.done||e.value[0]!=b||"s"!=e.value[1])return!1;e=d.next();return e.done||4!=e.value[0].x||"t"!=e.value[1]||!d.next().done?!1:!0}catch(q){return!1}}())return a;ja();sa();var b=new window.WeakMap,c=function(a){this.lf= {};this.Pe=f();this.size=0;if(a){a=_.wa(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};c.prototype.set=function(a,b){var c=d(this,a);c.list||(c.list=this.lf[c.id]=[]);c.ke?c.ke.value=b:(c.ke={next:this.Pe,Pi:this.Pe.Pi,head:this.Pe,key:a,value:b},c.list.push(c.ke),this.Pe.Pi.next=c.ke,this.Pe.Pi=c.ke,this.size++);return this};c.prototype["delete"]=function(a){a=d(this,a);return a.ke&&a.list?(a.list.splice(a.index,1),a.list.length||delete this.lf[a.id],a.ke.Pi.next=a.ke.next,a.ke.next.Pi= a.ke.Pi,a.ke.head=null,this.size--,!0):!1};c.prototype.clear=function(){this.lf={};this.Pe=this.Pe.Pi=f();this.size=0};c.prototype.has=function(a){return!!d(this,a).ke};c.prototype.get=function(a){return(a=d(this,a).ke)&&a.value};c.prototype.entries=function(){return e(this,function(a){return[a.key,a.value]})};c.prototype.keys=function(){return e(this,function(a){return a.key})};c.prototype.values=function(){return e(this,function(a){return a.value})};c.prototype.forEach=function(a,b){for(var c=this.entries(), d;!(d=c.next()).done;)d=d.value,a.call(b,d[1],d[0],this)};c.prototype[window.Symbol.iterator]=c.prototype.entries;var d=function(a,c){var d=c&&typeof c;"object"==d||"function"==d?b.has(c)?d=b.get(c):(d=""+ ++h,b.set(c,d)):d="p_"+c;var e=a.lf[d];if(e&&Ka(a.lf,d))for(a=0;a<e.length;a++){var f=e[a];if(c!==c&&f.key!==f.key||c===f.key)return{id:d,list:e,index:a,ke:f}}return{id:d,list:e,index:-1,ke:void 0}},e=function(a,b){var c=a.Pe;return ta(function(){if(c){for(;c.head!=a.Pe;)c=c.Pi;for(;c.next!=c.head;)return c= c.next,{done:!1,value:b(c)};c=null}return{done:!0,value:void 0}})},f=function(){var a={};return a.Pi=a.next=a.head=a},h=0;return c}); Ja("Set",function(a){if(function(){if(!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var b=Object.seal({x:4}),d=new a(_.wa([b]));if(!d.has(b)||1!=d.size||d.add(b)!=d||1!=d.size||d.add({x:4})!=d||2!=d.size)return!1;var e=d.entries(),f=e.next();if(f.done||f.value[0]!=b||f.value[1]!=b)return!1;f=e.next();return f.done||f.value[0]==b||4!=f.value[0].x||f.value[1]!=f.value[0]?!1:e.next().done}catch(h){return!1}}())return a;ja();sa();var b=function(a){this.V= new window.Map;if(a){a=_.wa(a);for(var b;!(b=a.next()).done;)this.add(b.value)}this.size=this.V.size};b.prototype.add=function(a){this.V.set(a,a);this.size=this.V.size;return this};b.prototype["delete"]=function(a){a=this.V["delete"](a);this.size=this.V.size;return a};b.prototype.clear=function(){this.V.clear();this.size=0};b.prototype.has=function(a){return this.V.has(a)};b.prototype.entries=function(){return this.V.entries()};b.prototype.values=function(){return this.V.values()};b.prototype.keys= b.prototype.values;b.prototype[window.Symbol.iterator]=b.prototype.values;b.prototype.forEach=function(a,b){var c=this;this.V.forEach(function(d){return a.call(b,d,d,c)})};return b});_.La=_.La||{};_.m=this;_.r=function(a){return void 0!==a};_.u=function(a){return"string"==typeof a}; _.Ma=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null"; else if("function"==b&&"undefined"==typeof a.call)return"object";return b};_.Oa=function(a){return"array"==_.Ma(a)};_.Pa="closure_uid_"+(1E9*Math.random()>>>0);_.Qa=Date.now||function(){return+new Date};_.w=function(a,b){a=a.split(".");var c=_.m;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&_.r(b)?c[d]=b:c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}}; _.z=function(a,b){function c(){}c.prototype=b.prototype;a.H=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.ep=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}}; _.Ta=window.osapi=window.osapi||{}; window.___jsl=window.___jsl||{}; (window.___jsl.cd=window.___jsl.cd||[]).push({gwidget:{parsetags:"explicit"},appsapi:{plus_one_service:"/plus/v1"},csi:{rate:.01},poshare:{hangoutContactPickerServer:"https://plus.google.com"},gappsutil:{required_scopes:["https://www.googleapis.com/auth/plus.me","https://www.googleapis.com/auth/plus.people.recommended"],display_on_page_ready:!1},appsutil:{required_scopes:["https://www.googleapis.com/auth/plus.me","https://www.googleapis.com/auth/plus.people.recommended"],display_on_page_ready:!1}, "oauth-flow":{authUrl:"https://accounts.google.com/o/oauth2/auth",proxyUrl:"https://accounts.google.com/o/oauth2/postmessageRelay",redirectUri:"postmessage",loggingUrl:"https://accounts.google.com/o/oauth2/client_log"},iframes:{sharebox:{params:{json:"&"},url:":socialhost:/:session_prefix:_/sharebox/dialog"},plus:{url:":socialhost:/:session_prefix:_/widget/render/badge?usegapi=1"},":socialhost:":"https://apis.google.com",":im_socialhost:":"https://plus.googleapis.com",domains_suggest:{url:"https://domains.google.com/suggest/flow"}, card:{params:{s:"#",userid:"&"},url:":socialhost:/:session_prefix:_/hovercard/internalcard"},":signuphost:":"https://plus.google.com",":gplus_url:":"https://plus.google.com",plusone:{url:":socialhost:/:session_prefix:_/+1/fastbutton?usegapi=1"},plus_share:{url:":socialhost:/:session_prefix:_/+1/sharebutton?plusShare=true&usegapi=1"},plus_circle:{url:":socialhost:/:session_prefix:_/widget/plus/circle?usegapi=1"},plus_followers:{url:":socialhost:/_/im/_/widget/render/plus/followers?usegapi=1"},configurator:{url:":socialhost:/:session_prefix:_/plusbuttonconfigurator?usegapi=1"}, appcirclepicker:{url:":socialhost:/:session_prefix:_/widget/render/appcirclepicker"},page:{url:":socialhost:/:session_prefix:_/widget/render/page?usegapi=1"},person:{url:":socialhost:/:session_prefix:_/widget/render/person?usegapi=1"},community:{url:":ctx_socialhost:/:session_prefix::im_prefix:_/widget/render/community?usegapi=1"},follow:{url:":socialhost:/:session_prefix:_/widget/render/follow?usegapi=1"},commentcount:{url:":socialhost:/:session_prefix:_/widget/render/commentcount?usegapi=1"},comments:{url:":socialhost:/:session_prefix:_/widget/render/comments?usegapi=1"}, youtube:{url:":socialhost:/:session_prefix:_/widget/render/youtube?usegapi=1"},reportabuse:{url:":socialhost:/:session_prefix:_/widget/render/reportabuse?usegapi=1"},additnow:{url:":socialhost:/additnow/additnow.html"},udc_webconsentflow:{url:"https://myaccount.google.com/webconsent?usegapi=1"},appfinder:{url:"https://gsuite.google.com/:session_prefix:marketplace/appfinder?usegapi=1"},":source:":"1p"},poclient:{update_session:"google.updateSessionCallback"},"googleapis.config":{methods:{"pos.plusones.list":!0, "pos.plusones.get":!0,"pos.plusones.insert":!0,"pos.plusones.delete":!0,"pos.plusones.getSignupState":!0},versions:{pos:"v1"},rpc:"/rpc",root:"https://content.googleapis.com","root-1p":"https://clients6.google.com",useGapiForXd3:!0,xd3:"/static/proxy.html",developerKey:"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ",auth:{useInterimAuth:!1}},report:{apis:["iframes\\..*","gadgets\\..*","gapi\\.appcirclepicker\\..*","gapi\\.client\\..*"],rate:1E-4},client:{perApiBatch:!0}}); var Za,eb,fb;_.Ua=function(a){return"number"==typeof a};_.Va=function(){};_.Wa=function(a){var b=_.Ma(a);return"array"==b||"object"==b&&"number"==typeof a.length};_.Xa=function(a){return"function"==_.Ma(a)};_.Ya=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};Za=0;_.bb=function(a){return a[_.Pa]||(a[_.Pa]=++Za)};eb=function(a,b,c){return a.call.apply(a.bind,arguments)}; fb=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};_.A=function(a,b,c){_.A=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?eb:fb;return _.A.apply(null,arguments)}; _.ib=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if(_.u(a))return _.u(b)&&1==b.length?a.indexOf(b,0):-1;for(var c=0;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};_.jb=Array.prototype.lastIndexOf?function(a,b){return Array.prototype.lastIndexOf.call(a,b,a.length-1)}:function(a,b){var c=a.length-1;0>c&&(c=Math.max(0,a.length+c));if(_.u(a))return _.u(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1}; _.lb=Array.prototype.forEach?function(a,b,c){Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=_.u(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};_.mb=Array.prototype.filter?function(a,b){return Array.prototype.filter.call(a,b,void 0)}:function(a,b){for(var c=a.length,d=[],e=0,f=_.u(a)?a.split(""):a,h=0;h<c;h++)if(h in f){var k=f[h];b.call(void 0,k,h,a)&&(d[e++]=k)}return d}; _.nb=Array.prototype.map?function(a,b){return Array.prototype.map.call(a,b,void 0)}:function(a,b){for(var c=a.length,d=Array(c),e=_.u(a)?a.split(""):a,f=0;f<c;f++)f in e&&(d[f]=b.call(void 0,e[f],f,a));return d};_.ob=Array.prototype.some?function(a,b,c){return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=_.u(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1}; _.qb=Array.prototype.every?function(a,b,c){return Array.prototype.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=_.u(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};_.rb=function(a,b){return 0<=(0,_.ib)(a,b)}; var vb;_.sb=function(a){return/^[\s\xa0]*$/.test(a)};_.tb=String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]};_.ub=String.prototype.repeat?function(a,b){return a.repeat(b)}:function(a,b){return Array(b+1).join(a)}; _.xb=function(a,b){var c=0;a=(0,_.tb)(String(a)).split(".");b=(0,_.tb)(String(b)).split(".");for(var d=Math.max(a.length,b.length),e=0;0==c&&e<d;e++){var f=a[e]||"",h=b[e]||"";do{f=/(\d*)(\D*)(.*)/.exec(f)||["","","",""];h=/(\d*)(\D*)(.*)/.exec(h)||["","","",""];if(0==f[0].length&&0==h[0].length)break;c=vb(0==f[1].length?0:(0,window.parseInt)(f[1],10),0==h[1].length?0:(0,window.parseInt)(h[1],10))||vb(0==f[2].length,0==h[2].length)||vb(f[2],h[2]);f=f[3];h=h[3]}while(0==c)}return c}; vb=function(a,b){return a<b?-1:a>b?1:0};_.yb=2147483648*Math.random()|0; a:{var Bb=_.m.navigator;if(Bb){var Cb=Bb.userAgent;if(Cb){_.Ab=Cb;break a}}_.Ab=""}_.Db=function(a){return-1!=_.Ab.indexOf(a)};var Fb;_.Eb=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};Fb="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");_.Gb=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<Fb.length;f++)c=Fb[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}}; _.Hb=function(){return _.Db("Opera")};_.Ib=function(){return _.Db("Trident")||_.Db("MSIE")};_.Lb=function(){return _.Db("iPhone")&&!_.Db("iPod")&&!_.Db("iPad")};_.Mb=function(){return _.Lb()||_.Db("iPad")||_.Db("iPod")};var Nb=function(a){Nb[" "](a);return a},Sb;Nb[" "]=_.Va;_.Qb=function(a,b){try{return Nb(a[b]),!0}catch(c){}return!1};Sb=function(a,b){var c=Rb;return Object.prototype.hasOwnProperty.call(c,a)?c[a]:c[a]=b(a)};var gc,hc,Rb,pc;_.Tb=_.Hb();_.C=_.Ib();_.Ub=_.Db("Edge");_.Vb=_.Ub||_.C;_.Wb=_.Db("Gecko")&&!(-1!=_.Ab.toLowerCase().indexOf("webkit")&&!_.Db("Edge"))&&!(_.Db("Trident")||_.Db("MSIE"))&&!_.Db("Edge");_.Xb=-1!=_.Ab.toLowerCase().indexOf("webkit")&&!_.Db("Edge");_.Yb=_.Xb&&_.Db("Mobile");_.Zb=_.Db("Macintosh");_.$b=_.Db("Windows");_.ac=_.Db("Linux")||_.Db("CrOS");_.bc=_.Db("Android");_.cc=_.Lb();_.dc=_.Db("iPad");_.ec=_.Db("iPod");_.fc=_.Mb(); gc=function(){var a=_.m.document;return a?a.documentMode:void 0};a:{var ic="",jc=function(){var a=_.Ab;if(_.Wb)return/rv:([^\);]+)(\)|;)/.exec(a);if(_.Ub)return/Edge\/([\d\.]+)/.exec(a);if(_.C)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(_.Xb)return/WebKit\/(\S+)/.exec(a);if(_.Tb)return/(?:Version)[ \/]?(\S+)/.exec(a)}();jc&&(ic=jc?jc[1]:"");if(_.C){var kc=gc();if(null!=kc&&kc>(0,window.parseFloat)(ic)){hc=String(kc);break a}}hc=ic}_.lc=hc;Rb={}; _.mc=function(a){return Sb(a,function(){return 0<=_.xb(_.lc,a)})};_.oc=function(a){return Number(_.nc)>=a};var qc=_.m.document;pc=qc&&_.C?gc()||("CSS1Compat"==qc.compatMode?(0,window.parseInt)(_.lc,10):5):void 0;_.nc=pc; var sc,wc,xc,yc,zc,Ac,Bc,Cc;_.rc=function(a,b){return _.da[a]=b};_.tc=function(a){return Array.prototype.concat.apply([],arguments)};_.uc=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};_.vc=function(a,b){return 0==a.lastIndexOf(b,0)};wc=/&/g;xc=/</g;yc=/>/g;zc=/"/g;Ac=/'/g;Bc=/\x00/g;Cc=/[\x00&<>"']/; _.Dc=function(a){if(!Cc.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(wc,"&"));-1!=a.indexOf("<")&&(a=a.replace(xc,"<"));-1!=a.indexOf(">")&&(a=a.replace(yc,">"));-1!=a.indexOf('"')&&(a=a.replace(zc,"""));-1!=a.indexOf("'")&&(a=a.replace(Ac,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(Bc,"�"));return a};_.Fc=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};_.Gc=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1}; var Hc,Ic;Hc=!_.C||_.oc(9);Ic=!_.Wb&&!_.C||_.C&&_.oc(9)||_.Wb&&_.mc("1.9.1");_.Jc=_.C&&!_.mc("9");_.Kc=_.C||_.Tb||_.Xb;_.Lc=_.C&&!_.oc(9);var Mc;_.Nc=function(){this.uw="";this.bP=Mc};_.Nc.prototype.Ch=!0;_.Nc.prototype.dg=function(){return this.uw};_.Nc.prototype.toString=function(){return"Const{"+this.uw+"}"};_.Oc=function(a){return a instanceof _.Nc&&a.constructor===_.Nc&&a.bP===Mc?a.uw:"type_error:Const"};Mc={};_.Pc=function(a){var b=new _.Nc;b.uw=a;return b};_.Pc(""); var Qc;_.Rc=function(){this.bC="";this.lP=Qc};_.Rc.prototype.Ch=!0;_.Rc.prototype.dg=function(){return this.bC};_.Rc.prototype.GA=!0;_.Rc.prototype.kl=function(){return 1};_.Sc=function(a){if(a instanceof _.Rc&&a.constructor===_.Rc&&a.lP===Qc)return a.bC;_.Ma(a);return"type_error:TrustedResourceUrl"};_.Uc=function(a){return _.Tc(_.Oc(a))};Qc={};_.Tc=function(a){var b=new _.Rc;b.bC=a;return b}; var Yc,Vc,Zc;_.Wc=function(){this.Zl="";this.VO=Vc};_.Wc.prototype.Ch=!0;_.Wc.prototype.dg=function(){return this.Zl};_.Wc.prototype.GA=!0;_.Wc.prototype.kl=function(){return 1};_.Xc=function(a){if(a instanceof _.Wc&&a.constructor===_.Wc&&a.VO===Vc)return a.Zl;_.Ma(a);return"type_error:SafeUrl"};Yc=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;_.$c=function(a){if(a instanceof _.Wc)return a;a=a.Ch?a.dg():String(a);Yc.test(a)||(a="about:invalid#zClosurez");return Zc(a)}; _.ad=function(a){if(a instanceof _.Wc)return a;a=a.Ch?a.dg():String(a);Yc.test(a)||(a="about:invalid#zClosurez");return Zc(a)};Vc={};Zc=function(a){var b=new _.Wc;b.Zl=a;return b};Zc("about:blank"); _.dd=function(){this.aC="";this.UO=_.bd};_.dd.prototype.Ch=!0;_.bd={};_.dd.prototype.dg=function(){return this.aC};_.dd.prototype.Bi=function(a){this.aC=a;return this};_.ed=(new _.dd).Bi("");_.gd=function(){this.$B="";this.TO=_.fd};_.gd.prototype.Ch=!0;_.fd={};_.id=function(a){a=_.Oc(a);return 0===a.length?hd:(new _.gd).Bi(a)};_.gd.prototype.dg=function(){return this.$B};_.gd.prototype.Bi=function(a){this.$B=a;return this};var hd=(new _.gd).Bi(""); var jd;_.kd=function(){this.Zl="";this.SO=jd;this.qG=null};_.kd.prototype.GA=!0;_.kd.prototype.kl=function(){return this.qG};_.kd.prototype.Ch=!0;_.kd.prototype.dg=function(){return this.Zl};_.ld=function(a){if(a instanceof _.kd&&a.constructor===_.kd&&a.SO===jd)return a.Zl;_.Ma(a);return"type_error:SafeHtml"};jd={};_.nd=function(a,b){return(new _.kd).Bi(a,b)};_.kd.prototype.Bi=function(a,b){this.Zl=a;this.qG=b;return this};_.nd("<!DOCTYPE html>",0);_.od=_.nd("",0);_.pd=_.nd("<br>",0); _.qd=function(a,b){b=b instanceof _.Wc?b:_.ad(b);a.href=_.Xc(b)};var wd,yd,Ad;_.td=function(a){return a?new _.rd(_.sd(a)):sc||(sc=new _.rd)};_.ud=function(a,b){return _.u(b)?a.getElementById(b):b}; _.vd=function(a,b,c,d){a=d||a;b=b&&"*"!=b?String(b).toUpperCase():"";if(a.querySelectorAll&&a.querySelector&&(b||c))return a.querySelectorAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName){a=a.getElementsByClassName(c);if(b){d={};for(var e=0,f=0,h;h=a[f];f++)b==h.nodeName&&(d[e++]=h);d.length=e;return d}return a}a=a.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;h=a[f];f++)b=h.className,"function"==typeof b.split&&_.rb(b.split(/\s+/),c)&&(d[e++]=h);d.length=e;return d}return a}; _.xd=function(a,b){_.Eb(b,function(b,d){b&&b.Ch&&(b=b.dg());"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:wd.hasOwnProperty(d)?a.setAttribute(wd[d],b):_.vc(d,"aria-")||_.vc(d,"data-")?a.setAttribute(d,b):a[d]=b})};wd={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"}; _.zd=function(a,b){var c=String(b[0]),d=b[1];if(!Hc&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',_.Dc(d.name),'"');if(d.type){c.push(' type="',_.Dc(d.type),'"');var e={};_.Gb(e,d);delete e.type;d=e}c.push(">");c=c.join("")}c=a.createElement(c);d&&(_.u(d)?c.className=d:_.Oa(d)?c.className=d.join(" "):_.xd(c,d));2<b.length&&yd(a,c,b,2);return c}; yd=function(a,b,c,d){function e(c){c&&b.appendChild(_.u(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d];!_.Wa(f)||_.Ya(f)&&0<f.nodeType?e(f):(0,_.lb)(Ad(f)?_.uc(f):f,e)}};_.Bd=function(a){return window.document.createElement(String(a))};_.Dd=function(a){if(1!=a.nodeType)return!1;switch(a.tagName){case "APPLET":case "AREA":case "BASE":case "BR":case "COL":case "COMMAND":case "EMBED":case "FRAME":case "HR":case "IMG":case "INPUT":case "IFRAME":case "ISINDEX":case "KEYGEN":case "LINK":case "NOFRAMES":case "NOSCRIPT":case "META":case "OBJECT":case "PARAM":case "SCRIPT":case "SOURCE":case "STYLE":case "TRACK":case "WBR":return!1}return!0}; _.Ed=function(a,b){yd(_.sd(a),a,arguments,1)};_.Fd=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};_.Gd=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)};_.Hd=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):null};_.Id=function(a){var b,c=a.parentNode;if(c&&11!=c.nodeType){if(a.removeNode)return a.removeNode(!1);for(;b=a.firstChild;)c.insertBefore(b,a);return _.Hd(a)}}; _.Jd=function(a){return Ic&&void 0!=a.children?a.children:(0,_.mb)(a.childNodes,function(a){return 1==a.nodeType})};_.Kd=function(a){return _.Ya(a)&&1==a.nodeType};_.Ld=function(a,b){if(!a||!b)return!1;if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};_.sd=function(a){return 9==a.nodeType?a:a.ownerDocument||a.document}; _.Md=function(a,b){if("textContent"in a)a.textContent=b;else if(3==a.nodeType)a.data=String(b);else if(a.firstChild&&3==a.firstChild.nodeType){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=String(b)}else _.Fd(a),a.appendChild(_.sd(a).createTextNode(String(b)))};Ad=function(a){if(a&&"number"==typeof a.length){if(_.Ya(a))return"function"==typeof a.item||"string"==typeof a.item;if(_.Xa(a))return"function"==typeof a.item}return!1}; _.rd=function(a){this.Va=a||_.m.document||window.document};_.g=_.rd.prototype;_.g.Ea=_.td;_.g.RC=_.ea(0);_.g.mb=function(){return this.Va};_.g.S=function(a){return _.ud(this.Va,a)};_.g.getElementsByTagName=function(a,b){return(b||this.Va).getElementsByTagName(String(a))};_.g.ma=function(a,b,c){return _.zd(this.Va,arguments)};_.g.createElement=function(a){return this.Va.createElement(String(a))};_.g.createTextNode=function(a){return this.Va.createTextNode(String(a))}; _.g.vb=function(){var a=this.Va;return a.parentWindow||a.defaultView};_.g.appendChild=function(a,b){a.appendChild(b)};_.g.append=_.Ed;_.g.canHaveChildren=_.Dd;_.g.xe=_.Fd;_.g.GI=_.Gd;_.g.removeNode=_.Hd;_.g.qR=_.Id;_.g.xz=_.Jd;_.g.isElement=_.Kd;_.g.contains=_.Ld;_.g.Eh=_.ea(1); /* gapi.loader.OBJECT_CREATE_TEST_OVERRIDE &&*/ _.Nd=window;_.Qd=window.document;_.Rd=_.Nd.location;_.Sd=/\[native code\]/;_.Td=function(a,b,c){return a[b]=a[b]||c};_.D=function(){var a;if((a=Object.create)&&_.Sd.test(a))a=a(null);else{a={};for(var b in a)a[b]=void 0}return a};_.Ud=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};_.Vd=function(a,b){a=a||{};for(var c in a)_.Ud(a,c)&&(b[c]=a[c])};_.Wd=_.Td(_.Nd,"gapi",{}); _.Xd=function(a,b,c){var d=new RegExp("([#].*&|[#])"+b+"=([^&#]*)","g");b=new RegExp("([?#].*&|[?#])"+b+"=([^&#]*)","g");if(a=a&&(d.exec(a)||b.exec(a)))try{c=(0,window.decodeURIComponent)(a[2])}catch(e){}return c};_.Yd=new RegExp(/^/.source+/([a-zA-Z][-+.a-zA-Z0-9]*:)?/.source+/(\/\/[^\/?#]*)?/.source+/([^?#]*)?/.source+/(\?([^#]*))?/.source+/(#((#|[^#])*))?/.source+/$/.source); _.Zd=new RegExp(/(%([^0-9a-fA-F%]|[0-9a-fA-F]([^0-9a-fA-F%])?)?)*/.source+/%($|[^0-9a-fA-F]|[0-9a-fA-F]($|[^0-9a-fA-F]))/.source,"g");_.$d=new RegExp(/\/?\??#?/.source+"("+/[\/?#]/i.source+"|"+/[\uD800-\uDBFF]/i.source+"|"+/%[c-f][0-9a-f](%[89ab][0-9a-f]){0,2}(%[89ab]?)?/i.source+"|"+/%[0-9a-f]?/i.source+")$","i"); _.be=function(a,b,c){_.ae(a,b,c,"add","at")};_.ae=function(a,b,c,d,e){if(a[d+"EventListener"])a[d+"EventListener"](b,c,!1);else if(a[e+"tachEvent"])a[e+"tachEvent"]("on"+b,c)};_.ce=_.Td(_.Nd,"___jsl",_.D());_.Td(_.ce,"I",0);_.Td(_.ce,"hel",10);var ee,fe,ge,he,ie,je,ke;ee=function(a){var b=window.___jsl=window.___jsl||{};b[a]=b[a]||[];return b[a]};fe=function(a){var b=window.___jsl=window.___jsl||{};b.cfg=!a&&b.cfg||{};return b.cfg};ge=function(a){return"object"===typeof a&&/\[native code\]/.test(a.push)}; he=function(a,b,c){if(b&&"object"===typeof b)for(var d in b)!Object.prototype.hasOwnProperty.call(b,d)||c&&"___goc"===d&&"undefined"===typeof b[d]||(a[d]&&b[d]&&"object"===typeof a[d]&&"object"===typeof b[d]&&!ge(a[d])&&!ge(b[d])?he(a[d],b[d]):b[d]&&"object"===typeof b[d]?(a[d]=ge(b[d])?[]:{},he(a[d],b[d])):a[d]=b[d])}; ie=function(a){if(a&&!/^\s+$/.test(a)){for(;0==a.charCodeAt(a.length-1);)a=a.substring(0,a.length-1);try{var b=window.JSON.parse(a)}catch(c){}if("object"===typeof b)return b;try{b=(new Function("return ("+a+"\n)"))()}catch(c){}if("object"===typeof b)return b;try{b=(new Function("return ({"+a+"\n})"))()}catch(c){}return"object"===typeof b?b:{}}}; je=function(a,b){var c={___goc:void 0};a.length&&a[a.length-1]&&Object.hasOwnProperty.call(a[a.length-1],"___goc")&&"undefined"===typeof a[a.length-1].___goc&&(c=a.pop());he(c,b);a.push(c)}; ke=function(a){fe(!0);var b=window.___gcfg,c=ee("cu"),d=window.___gu;b&&b!==d&&(je(c,b),window.___gu=b);b=ee("cu");var e=window.document.scripts||window.document.getElementsByTagName("script")||[];d=[];var f=[];f.push.apply(f,ee("us"));for(var h=0;h<e.length;++h)for(var k=e[h],l=0;l<f.length;++l)k.src&&0==k.src.indexOf(f[l])&&d.push(k);0==d.length&&0<e.length&&e[e.length-1].src&&d.push(e[e.length-1]);for(e=0;e<d.length;++e)d[e].getAttribute("gapi_processed")||(d[e].setAttribute("gapi_processed",!0), (f=d[e])?(h=f.nodeType,f=3==h||4==h?f.nodeValue:f.textContent||f.innerText||f.innerHTML||""):f=void 0,(f=ie(f))&&b.push(f));a&&je(c,a);d=ee("cd");a=0;for(b=d.length;a<b;++a)he(fe(),d[a],!0);d=ee("ci");a=0;for(b=d.length;a<b;++a)he(fe(),d[a],!0);a=0;for(b=c.length;a<b;++a)he(fe(),c[a],!0)};_.H=function(a,b){var c=fe();if(!a)return c;a=a.split("/");for(var d=0,e=a.length;c&&"object"===typeof c&&d<e;++d)c=c[a[d]];return d===a.length&&void 0!==c?c:b}; _.le=function(a,b){var c;if("string"===typeof a){var d=c={};a=a.split("/");for(var e=0,f=a.length;e<f-1;++e){var h={};d=d[a[e]]=h}d[a[e]]=b}else c=a;ke(c)}; var me=function(){var a=window.__GOOGLEAPIS;a&&(a.googleapis&&!a["googleapis.config"]&&(a["googleapis.config"]=a.googleapis),_.Td(_.ce,"ci",[]).push(a),window.__GOOGLEAPIS=void 0)};me&&me();ke();_.w("gapi.config.get",_.H);_.w("gapi.config.update",_.le); _.ne=function(a,b){var c=b||window.document;if(c.getElementsByClassName)a=c.getElementsByClassName(a)[0];else{c=window.document;var d=b||c;a=d.querySelectorAll&&d.querySelector&&a?d.querySelector(a?"."+a:""):_.vd(c,"*",a,b)[0]||null}return a||null}; var xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,Xe,Ze,$e,af,bf,ef,ff;ze=void 0;Ae=function(a){try{return _.m.JSON.parse.call(_.m.JSON,a)}catch(b){return!1}};Be=function(a){return Object.prototype.toString.call(a)};Ce=Be(0);De=Be(new Date(0));Ee=Be(!0);Fe=Be("");Ge=Be({});He=Be([]); Ie=function(a,b){if(b)for(var c=0,d=b.length;c<d;++c)if(a===b[c])throw new TypeError("Converting circular structure to JSON");d=typeof a;if("undefined"!==d){c=Array.prototype.slice.call(b||[],0);c[c.length]=a;b=[];var e=Be(a);if(null!=a&&"function"===typeof a.toJSON&&(Object.prototype.hasOwnProperty.call(a,"toJSON")||(e!==He||a.constructor!==Array&&a.constructor!==Object)&&(e!==Ge||a.constructor!==Array&&a.constructor!==Object)&&e!==Fe&&e!==Ce&&e!==Ee&&e!==De))return Ie(a.toJSON.call(a),c);if(null== a)b[b.length]="null";else if(e===Ce)a=Number(a),(0,window.isNaN)(a)||(0,window.isNaN)(a-a)?a="null":-0===a&&0>1/a&&(a="-0"),b[b.length]=String(a);else if(e===Ee)b[b.length]=String(!!Number(a));else{if(e===De)return Ie(a.toISOString.call(a),c);if(e===He&&Be(a.length)===Ce){b[b.length]="[";var f=0;for(d=Number(a.length)>>0;f<d;++f)f&&(b[b.length]=","),b[b.length]=Ie(a[f],c)||"null";b[b.length]="]"}else if(e==Fe&&Be(a.length)===Ce){b[b.length]='"';f=0;for(c=Number(a.length)>>0;f<c;++f)d=String.prototype.charAt.call(a, f),e=String.prototype.charCodeAt.call(a,f),b[b.length]="\b"===d?"\\b":"\f"===d?"\\f":"\n"===d?"\\n":"\r"===d?"\\r":"\t"===d?"\\t":"\\"===d||'"'===d?"\\"+d:31>=e?"\\u"+(e+65536).toString(16).substr(1):32<=e&&65535>=e?d:"\ufffd";b[b.length]='"'}else if("object"===d){b[b.length]="{";d=0;for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&(e=Ie(a[f],c),void 0!==e&&(d++&&(b[b.length]=","),b[b.length]=Ie(f),b[b.length]=":",b[b.length]=e));b[b.length]="}"}else return}return b.join("")}};Je=/[\0-\x07\x0b\x0e-\x1f]/; Ke=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*[\0-\x1f]/;Le=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*\\[^\\\/"bfnrtu]/;Me=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*\\u([0-9a-fA-F]{0,3}[^0-9a-fA-F])/;Ne=/"([^\0-\x1f\\"]|\\[\\\/"bfnrt]|\\u[0-9a-fA-F]{4})*"/g;Oe=/-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][-+]?[0-9]+)?/g;Pe=/[ \t\n\r]+/g;Qe=/[^"]:/;Re=/""/g;Se=/true|false|null/g;Te=/00/;Ue=/[\{]([^0\}]|0[^:])/;Ve=/(^|\[)[,:]|[,:](\]|\}|[,:]|$)/;We=/[^\[,:][\[\{]/;Xe=/^(\{|\}|\[|\]|,|:|0)+/;Ze=/\u2028/g; $e=/\u2029/g; af=function(a){a=String(a);if(Je.test(a)||Ke.test(a)||Le.test(a)||Me.test(a))return!1;var b=a.replace(Ne,'""');b=b.replace(Oe,"0");b=b.replace(Pe,"");if(Qe.test(b))return!1;b=b.replace(Re,"0");b=b.replace(Se,"0");if(Te.test(b)||Ue.test(b)||Ve.test(b)||We.test(b)||!b||(b=b.replace(Xe,"")))return!1;a=a.replace(Ze,"\\u2028").replace($e,"\\u2029");b=void 0;try{b=ze?[Ae(a)]:eval("(function (var_args) {\n return Array.prototype.slice.call(arguments, 0);\n})(\n"+a+"\n)")}catch(c){return!1}return b&&1=== b.length?b[0]:!1};bf=function(){var a=((_.m.document||{}).scripts||[]).length;if((void 0===xe||void 0===ze||ye!==a)&&-1!==ye){xe=ze=!1;ye=-1;try{try{ze=!!_.m.JSON&&'{"a":[3,true,"1970-01-01T00:00:00.000Z"]}'===_.m.JSON.stringify.call(_.m.JSON,{a:[3,!0,new Date(0)],c:function(){}})&&!0===Ae("true")&&3===Ae('[{"a":3}]')[0].a}catch(b){}xe=ze&&!Ae("[00]")&&!Ae('"\u0007"')&&!Ae('"\\0"')&&!Ae('"\\v"')}finally{ye=a}}};_.cf=function(a){if(-1===ye)return!1;bf();return(xe?Ae:af)(a)}; _.df=function(a){if(-1!==ye)return bf(),ze?_.m.JSON.stringify.call(_.m.JSON,a):Ie(a)};ef=!Date.prototype.toISOString||"function"!==typeof Date.prototype.toISOString||"1970-01-01T00:00:00.000Z"!==(new Date(0)).toISOString(); ff=function(){var a=Date.prototype.getUTCFullYear.call(this);return[0>a?"-"+String(1E6-a).substr(1):9999>=a?String(1E4+a).substr(1):"+"+String(1E6+a).substr(1),"-",String(101+Date.prototype.getUTCMonth.call(this)).substr(1),"-",String(100+Date.prototype.getUTCDate.call(this)).substr(1),"T",String(100+Date.prototype.getUTCHours.call(this)).substr(1),":",String(100+Date.prototype.getUTCMinutes.call(this)).substr(1),":",String(100+Date.prototype.getUTCSeconds.call(this)).substr(1),".",String(1E3+Date.prototype.getUTCMilliseconds.call(this)).substr(1), "Z"].join("")};Date.prototype.toISOString=ef?ff:Date.prototype.toISOString; _.w("gadgets.json.stringify",_.df);_.w("gadgets.json.parse",_.cf); _.Xj=window.gapi&&window.gapi.util||{}; _.Zj=function(a){if(!a)return"";a=a.split("#")[0].split("?")[0];a=a.toLowerCase();0==a.indexOf("//")&&(a=window.location.protocol+a);/^[\w\-]*:\/\//.test(a)||(a=window.location.href);var b=a.substring(a.indexOf("://")+3),c=b.indexOf("/");-1!=c&&(b=b.substring(0,c));a=a.substring(0,a.indexOf("://"));if("http"!==a&&"https"!==a&&"chrome-extension"!==a&&"file"!==a&&"android-app"!==a&&"chrome-search"!==a&&"app"!==a)throw Error("L
"+a);c="";var d=b.indexOf(":");if(-1!=d){var e=b.substring(d+1);b=b.substring(0, d);if("http"===a&&"80"!==e||"https"===a&&"443"!==e)c=":"+e}return a+"://"+b+c}; .Xj.Qa=function(a){return .Zj(a)}; .qe=window.console;.ue=function(a){.qe&&.qe.log&&.qe.log(a)};.ve=function(){}; .I=.I||{}; .I=.I||{}; (function(){var a=null;.I.xc=function(b){var c="undefined"===typeof b;if(null!==a&&c)return a;var d={};b=b||window.location.href;var e=b.indexOf("?"),f=b.indexOf("#");b=(-1===f?b.substr(e+1):[b.substr(e+1,f-e-1),"&",b.substr(f+1)].join("")).split("&");e=window.decodeURIComponent?window.decodeURIComponent:window.unescape;f=0;for(var h=b.length;f<h;++f){var k=b[f].indexOf("=");if(-1!==k){var l=b[f].substring(0,k);k=b[f].substring(k+1);k=k.replace(/+/g," ");try{d[l]=e(k)}catch(n){}}}c&&(a=d);return d}; .I.xc()})(); .w("gadgets.util.getUrlParameters",.I.xc); .Xd(.Nd.location.href,"rpctoken")&&.be(.Qd,"unload",function(){}); var dm=function(){this.$r={tK:Xl?"../"+Xl:null,NQ:Yl,GH:Zl,C9:$l,eu:am,l$:bm};this.Ee=.Nd;this.gK=this.JQ;this.tR=/MSIE\s0-8/.test(window.navigator.userAgent);if(this.$r.tK){this.Ee=this.$r.GH(this.Ee,this.$r.tK);var a=this.Ee.document,b=a.createElement("script");b.setAttribute("type","text/javascript");b.text="window.doPostMsg=function(w,s,o) {window.setTimeout(function(){w.postMessage(s,o);},0);};";a.body.appendChild(b);this.gK=this.Ee.doPostMsg}this.kD={};this.FD={};a=(0,.A)(this.hA, this);.be(this.Ee,"message",a);.Td(.ce,"RPMQ",[]).push(a);this.Ee!=this.Ee.parent&&cm(this,this.Ee.parent,'{"h":"'+(0,window.escape)(this.Ee.name)+'"}',"")},em=function(a){var b=null;0===a.indexOf('{"h":"')&&a.indexOf('"}')===a.length-2&&(b=(0,window.unescape)(a.substring(6,a.length-2)));return b},fm=function(a){if(!/^\s{/.test(a))return!1;a=.cf(a);return null!==a&&"object"===typeof a&&!!a.g}; dm.prototype.hA=function(a){var b=String(a.data);(0,.ve)("gapi.rpc.receive("+$l+"): "+(!b||512>=b.length?b:b.substr(0,512)+"... ("+b.length+" bytes)"));var c=0!==b.indexOf("!");c||(b=b.substring(2));var d=fm(b);if(!c&&!d){if(!d&&(c=em(b))){if(this.kD[c])this.kDc;else this.FD[c]=1;return}var e=a.origin,f=this.$r.NQ;this.tR?.Nd.setTimeout(function(){f(b,e)},0):f(b,e)}};dm.prototype.Dc=function(a,b){".."===a||this.FD[a]?(b(),delete this.FD[a]):this.kD[a]=b}; var cm=function(a,b,c,d){var e=fm(c)?"":"!";(0,.ve)("gapi.rpc.send("+$l+"): "+(!c||512>=c.length?c:c.substr(0,512)+"... ("+c.length+" bytes)"));a.gK(b,e+c,d)};dm.prototype.JQ=function(a,b,c){a.postMessage(b,c)};dm.prototype.send=function(a,b,c){(a=this.$r.GH(this.Ee,a))&&!a.closed&&cm(this,a,b,c)}; var gm,hm,im,jm,km,lm,mm,nm,Xl,$l,om,pm,qm,rm,Zl,am,sm,tm,ym,zm,Bm,bm,Dm,Cm,um,vm,Em,Yl,Fm,Gm;gm=0;hm=[];im={};jm={};km=.I.xc;lm=km();mm=lm.rpctoken;nm=lm.parent||.Qd.referrer;Xl=lm.rly;$l=Xl||(.Nd!==.Nd.top||.Nd.opener)&&.Nd.name||"..";om=null;pm={};qm=function(){};rm={send:qm,Dc:qm}; Zl=function(a,b){"/"==b.charAt(0)&&(b=b.substring(1),a=.Nd.top);for(b=b.split("/");b.length;){var c=b.shift();"{"==c.charAt(0)&&"}"==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1));if(".."===c)a=a==a.parent?a.opener:a.parent;else if(".."!==c&&a.frames[c]){if(a=a.frames[c],!("postMessage"in a))throw"Not a window";}else return null}return a};am=function(a){return(a=im[a])&&a.zk}; sm=function(a){if(a.f in{})return!1;var b=a.t,c=im[a.r];a=a.origin;return c&&(c.zk===b||!c.zk&&!b)&&(a===c.origin||""===c.origin)};tm=function(a){var b=a.id.split("/"),c=b[b.length-1],d=a.origin;return function(a){var b=a.origin;return a.f==c&&(d==b||""==d)}};.wm=function(a,b,c){a=um(a);jm[a.name]={Lg:b,Nq:a.Nq,zo:c||sm};vm()};.xm=function(a){delete jm[um(a).name]};ym={};zm=function(a,b){(a=ym[""+a])&&a1&&a[0].call(this,b)}; Bm=function(a){var b=a.c;if(!b)return qm;var c=a.r,d=a.g?"legacy__":"";return function(){var a=[].slice.call(arguments,0);a.unshift(c,d+"cb",null,b);.Am.apply(null,a)}};bm=function(a){om=a};Dm=function(a){pm[a]||(pm[a]=.Nd.setTimeout(function(){pm[a]=!1;Cm(a)},0))};Cm=function(a){var b=im[a];if(b&&b.ready){var c=b.dC;for(b.dC=[];c.length;)rm.send(a,_.df(c.shift()),b.origin)}};um=function(a){return 0===a.indexOf("legacy")?{name:a.substring(8),Nq:!0}:{name:a,Nq:!1}}; vm=function(){for(var a=.H("rpc/residenceSec")||60,b=(new Date).getTime()/1E3,c=0,d;d=hm[c];++c){var e=d.hm;if(!e||0<a&&b-d.timestamp>a)hm.splice(c,1),--c;else{var f=e.s,h=jm[f]||jm["*"];if(h)if(hm.splice(c,1),--c,e.origin=d.origin,d=Bm(e),e.callback=d,h.zo(e)){if("__cb"!==f&&!!h.Nq!=!!e.g)break;e=h.Lg.apply(e,e.a);void 0!==e&&d(e)}else(0,.ve)("gapi.rpc.rejected("+$l+"): "+f)}}};Em=function(a,b,c){hm.push({hm:a,origin:b,timestamp:(new Date).getTime()/1E3});c||vm()}; Yl=function(a,b){a=.cf(a);Em(a,b,!1)};Fm=function(a){for(;a.length;)Em(a.shift(),this.origin,!0);vm()};Gm=function(a){var b=!1;a=a.split("|");var c=a[0];0<=c.indexOf("/")&&(b=!0);return{id:c,origin:a[1]||"*",QA:b}}; .Hm=function(a,b,c,d){var e=Gm(a);d&&(.Nd.frames[e.id]=.Nd.frames[e.id]||d);a=e.id;if(!im.hasOwnProperty(a)){c=c||null;d=e.origin;if(".."===a)d=.Xj.Qa(nm),c=c||mm;else if(!e.QA){var f=.Qd.getElementById(a);f&&(f=f.src,d=.Xj.Qa(f),c=c||km(f).rpctoken)}"*"===e.origin&&d||(d=e.origin);im[a]={zk:c,dC:[],origin:d,xY:b,mK:function(){var b=a;im[b].ready=1;Cm(b)}};rm.Dc(a,im[a].mK)}return im[a].mK}; .Am=function(a,b,c,d){a=a||"..";.Hm(a);a=a.split("|",1)[0];var e=b,f=[].slice.call(arguments,3),h=c,k=$l,l=mm,n=im[a],p=k,q=Gm(a);if(n&&".."!==a){if(q.QA){if(!(l=im[a].xY)){l=om?om.substring(1).split("/"):[$l];p=l.length-1;for(var t=.Nd.parent;t!==.Nd.top;){var x=t.parent;if(!p--){for(var v=null,y=x.frames.length,F=0;F<y;++F)x.frames[F]==t&&(v=F);l.unshift("{"+v+"}")}t=x}l="/"+l.join("/")}p=l}else p=k="..";l=n.zk}h&&q?(n=sm,q.QA&&(n=tm(q)),ym[""+ ++gm]=[h,n],h=gm):h=null;f={s:e,f:k,r:p,t:l,c:h, a:f};e=um(e);f.s=e.name;f.g=e.Nq;im[a].dC.push(f);Dm(a)};if("function"===typeof .Nd.postMessage||"object"===typeof .Nd.postMessage)rm=new dm,.wm("__cb",zm,function(){return!0}),.wm("processBatch",Fm,function(){return!0}),.Hm(".."); .Of=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}};.Pf=function(a,b){a:{for(var c=a.length,d=.u(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){b=e;break a}b=-1}return 0>b?null:.u(a)?a.charAt(b):a[b]};.Qf=[];.Rf=[];.Sf=!1;.Tf=function(a){.Qf[.Qf.length]=a;if(.Sf)for(var b=0;b<.Rf.length;b++)a((0,.A)(.Rf[b].wrap,.Rf[b]))}; .Hg=function(a){return function(){return a}}(!0); var Ng;.Ig=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,.Ig);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))};.z(.Ig,Error);.Ig.prototype.name="CustomError";.Jg=function(a,b){for(var c in a)if(!(c in b)||a[c]!==b[c])return!1;for(c in b)if(!(c in a))return!1;return!0};.Kg=function(a){var b={},c;for(c in a)b[c]=a[c];return b};.Lg=function(a,b){a.src=.Sc(b)};.Mg=function(a){return a};Ng=function(a,b){this.FQ=a;this.lY=b;this.mv=0;this.Pe=null}; Ng.prototype.get=function(){if(0<this.mv){this.mv--;var a=this.Pe;this.Pe=a.next;a.next=null}else a=this.FQ();return a};Ng.prototype.put=function(a){this.lY(a);100>this.mv&&(this.mv++,a.next=this.Pe,this.Pe=a)}; var Og,Qg,Rg,Pg;Og=function(a){.m.setTimeout(function(){throw a;},0)};.Sg=function(a){a=Pg(a);!.Xa(.m.setImmediate)||.m.Window&&.m.Window.prototype&&!.Db("Edge")&&.m.Window.prototype.setImmediate==.m.setImmediate?(Qg||(Qg=Rg()),Qg(a)):.m.setImmediate(a)}; Rg=function(){var a=.m.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!.Db("Presto")&&(a=function(){var a=window.document.createElement("IFRAME");a.style.display="none";a.src="";window.document.documentElement.appendChild(a);var b=a.contentWindow;a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"":b.location.protocol+"//"+b.location.host;a=(0,_.A)(function(a){if((""== d||a.origin==d)&&a.data==c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!.Ib()){var b=new a,c={},d=c;b.port1.onmessage=function(){if(.r(c.next)){c=c.next;var a=c.cb;c.cb=null;a()}};return function(a){d.next={cb:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof window.document&&"onreadystatechange"in window.document.createElement("SCRIPT")?function(a){var b=window.document.createElement("SCRIPT"); b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};window.document.documentElement.appendChild(b)}:function(a){.m.setTimeout(a,0)}};Pg=.Mg;.Tf(function(a){Pg=a}); var Tg=function(){this.Ow=this.Co=null},Vg=new Ng(function(){return new Ug},function(a){a.reset()});Tg.prototype.add=function(a,b){var c=Vg.get();c.set(a,b);this.Ow?this.Ow.next=c:this.Co=c;this.Ow=c};Tg.prototype.remove=function(){var a=null;this.Co&&(a=this.Co,this.Co=this.Co.next,this.Co||(this.Ow=null),a.next=null);return a};var Ug=function(){this.next=this.scope=this.Lg=null};Ug.prototype.set=function(a,b){this.Lg=a;this.scope=b;this.next=null}; Ug.prototype.reset=function(){this.next=this.scope=this.Lg=null}; var Wg,Xg,Yg,Zg,ah;.$g=function(a,b){Wg||Xg();Yg||(Wg(),Yg=!0);Zg.add(a,b)};Xg=function(){if(-1!=String(.m.Promise).indexOf("[native code]")){var a=.m.Promise.resolve(void 0);Wg=function(){a.then(ah)}}else Wg=function(){.Sg(ah)}};Yg=!1;Zg=new Tg;ah=function(){for(var a;a=Zg.remove();){try{a.Lg.call(a.scope)}catch(b){Og(b)}Vg.put(a)}Yg=!1}; .bh=function(a){a.prototype.then=a.prototype.then;a.prototype.$goog_Thenable=!0};.ch=function(a){if(!a)return!1;try{return!!a.$goog_Thenable}catch(b){return!1}};var eh,fh,ph,nh;.dh=function(a,b){this.Da=0;this.Si=void 0;this.Tm=this.yj=this.hb=null;this.iu=this.bz=!1;if(a!=.Va)try{var c=this;a.call(b,function(a){c.Xg(2,a)},function(a){c.Xg(3,a)})}catch(d){this.Xg(3,d)}};eh=function(){this.next=this.context=this.On=this.Yq=this.Ok=null;this.Wo=!1};eh.prototype.reset=function(){this.context=this.On=this.Yq=this.Ok=null;this.Wo=!1};fh=new Ng(function(){return new eh},function(a){a.reset()});.gh=function(a,b,c){var d=fh.get();d.Yq=a;d.On=b;d.context=c;return d}; .hh=function(a){if(a instanceof .dh)return a;var b=new .dh(.Va);b.Xg(2,a);return b};.ih=function(a){return new .dh(function(b,c){c(a)})};.kh=function(a,b,c){jh(a,b,c,null)||.$g(.Of(b,a))};.mh=function(){var a,b,c=new .dh(function(c,e){a=c;b=e});return new lh(c,a,b)};.dh.prototype.then=function(a,b,c){return nh(this,.Xa(a)?a:null,.Xa(b)?b:null,c)};.bh(.dh);.dh.prototype.Aw=function(a,b){return nh(this,null,a,b)}; .dh.prototype.cancel=function(a){0==this.Da&&.$g(function(){var b=new oh(a);ph(this,b)},this)};ph=function(a,b){if(0==a.Da)if(a.hb){var c=a.hb;if(c.yj){for(var d=0,e=null,f=null,h=c.yj;h&&(h.Wo||(d++,h.Ok==a&&(e=h),!(e&&1<d)));h=h.next)e||(f=h);e&&(0==c.Da&&1==d?ph(c,b):(f?(d=f,d.next==c.Tm&&(c.Tm=d),d.next=d.next.next):qh(c),rh(c,e,3,b)))}a.hb=null}else a.Xg(3,b)};.th=function(a,b){a.yj||2!=a.Da&&3!=a.Da||sh(a);a.Tm?a.Tm.next=b:a.yj=b;a.Tm=b}; nh=function(a,b,c,d){var e=.gh(null,null,null);e.Ok=new .dh(function(a,h){e.Yq=b?function(c){try{var e=b.call(d,c);a(e)}catch(n){h(n)}}:a;e.On=c?function(b){try{var e=c.call(d,b);!.r(e)&&b instanceof oh?h(b):a(e)}catch(n){h(n)}}:h});e.Ok.hb=a;.th(a,e);return e.Ok};.dh.prototype.z=function(a){this.Da=0;this.Xg(2,a)};.dh.prototype.A=function(a){this.Da=0;this.Xg(3,a)}; .dh.prototype.Xg=function(a,b){0==this.Da&&(this===b&&(a=3,b=new TypeError("Promise cannot resolve to itself")),this.Da=1,jh(b,this.z,this.A_,this)||(this.Si=b,this.Da=a,this.hb=null,sh(this),3!=a||b instanceof oh||uh(this,b)))}; var jh=function(a,b,c,d){if(a instanceof .dh)return .th(a,.gh(b||.Va,c||null,d)),!0;if(.ch(a))return a.then(b,c,d),!0;if(.Ya(a))try{var e=a.then;if(.Xa(e))return vh(a,e,b,c,d),!0}catch(f){return c.call(d,f),!0}return!1},vh=function(a,b,c,d,e){var f=!1,h=function(a){f||(f=!0,c.call(e,a))},k=function(a){f||(f=!0,d.call(e,a))};try{b.call(a,h,k)}catch(l){k(l)}},sh=function(a){a.bz||(a.bz=!0,.$g(a.eR,a))},qh=function(a){var b=null;a.yj&&(b=a.yj,a.yj=b.next,b.next=null);a.yj||(a.Tm=null);return b}; .dh.prototype.eR=function(){for(var a;a=qh(this);)rh(this,a,this.Da,this.Si);this.bz=!1};var rh=function(a,b,c,d){if(3==c&&b.On&&!b.Wo)for(;a&&a.iu;a=a.hb)a.iu=!1;if(b.Ok)b.Ok.hb=null,wh(b,c,d);else try{b.Wo?b.Yq.call(b.context):wh(b,c,d)}catch(e){xh.call(null,e)}fh.put(b)},wh=function(a,b,c){2==b?a.Yq.call(a.context,c):a.On&&a.On.call(a.context,c)},uh=function(a,b){a.iu=!0;.$g(function(){a.iu&&xh.call(null,b)})},xh=Og,oh=function(a){.Ig.call(this,a)};.z(oh,.Ig);oh.prototype.name="cancel"; var lh=function(a,b,c){this.promise=a;this.resolve=b;this.reject=c}; .Im=function(a){return new .dh(a)}; .Jm=.Jm||{};.Jm.oT=function(){var a=0,b=0;window.self.innerHeight?(a=window.self.innerWidth,b=window.self.innerHeight):window.document.documentElement&&window.document.documentElement.clientHeight?(a=window.document.documentElement.clientWidth,b=window.document.documentElement.clientHeight):window.document.body&&(a=window.document.body.clientWidth,b=window.document.body.clientHeight);return{width:a,height:b}}; .Jm=.Jm||{}; (function(){function a(a,c){window.getComputedStyle(a,"").getPropertyValue(c).match(/^([0-9]+)/);return(0,window.parseInt)(RegExp.$1,10)}.Jm.Xc=function(){var b=.Jm.oT().height,c=window.document.body,d=window.document.documentElement;if("CSS1Compat"===window.document.compatMode&&d.scrollHeight)return d.scrollHeight!==b?d.scrollHeight:d.offsetHeight;if(0<=window.navigator.userAgent.indexOf("AppleWebKit")){b=0;for(c=[window.document.body];0<c.length;){var e=c.shift();d=e.childNodes;if("undefined"!== typeof e.style){var f=e.style.overflowY;f||(f=(f=window.document.defaultView.getComputedStyle(e,null))?f.overflowY:null);if("visible"!=f&&"inherit"!=f&&(f=e.style.height,f||(f=(f=window.document.defaultView.getComputedStyle(e,null))?f.height:""),0<f.length&&"auto"!=f))continue}for(e=0;e<d.length;e++){f=d[e];if("undefined"!==typeof f.offsetTop&&"undefined"!==typeof f.offsetHeight){var h=f.offsetTop+f.offsetHeight+a(f,"margin-bottom");b=Math.max(b,h)}c.push(f)}}return b+a(window.document.body,"border-bottom")+ a(window.document.body,"margin-bottom")+a(window.document.body,"padding-bottom")}if(c&&d)return e=d.scrollHeight,f=d.offsetHeight,d.clientHeight!==f&&(e=c.scrollHeight,f=c.offsetHeight),e>b?e>f?e:f:e<f?e:f}})(); var fl;fl=/^https?://(?:\w|[-.])+.google.(?:\w|[-:.])+(?:/[^\?#])?/u/(\d)//; .gl=function(a){var b=.H("googleapis.config/sessionIndex");"string"===typeof b&&254<b.length&&(b=null);null==b&&(b=window.__X_GOOG_AUTHUSER);"string"===typeof b&&254<b.length&&(b=null);if(null==b){var c=window.google;c&&(b=c.authuser)}"string"===typeof b&&254<b.length&&(b=null);null==b&&(a=a||window.location.href,b=.Xd(a,"authuser")||null,null==b&&(b=(b=a.match(fl))?b[1]:null));if(null==b)return null;b=String(b);254<b.length&&(b=null);return b}; var ll=function(){this.wj=-1};.ml=function(){this.wj=64;this.Fc=[];this.Rx=[];this.rP=[];this.zv=[];this.zv[0]=128;for(var a=1;a<this.wj;++a)this.zv[a]=0;this.Dw=this.An=0;this.reset()};.z(.ml,ll);.ml.prototype.reset=function(){this.Fc[0]=1732584193;this.Fc[1]=4023233417;this.Fc[2]=2562383102;this.Fc[3]=271733878;this.Fc[4]=3285377520;this.Dw=this.An=0}; var nl=function(a,b,c){c||(c=0);var d=a.rP;if(.u(b))for(var e=0;16>e;e++)d[e]=b.charCodeAt(c)<<24|b.charCodeAt(c+1)<<16|b.charCodeAt(c+2)<<8|b.charCodeAt(c+3),c+=4;else for(e=0;16>e;e++)d[e]=b[c]<<24|b[c+1]<<16|b[c+2]<<8|b[c+3],c+=4;for(e=16;80>e;e++){var f=d[e-3]^d[e-8]^d[e-14]^d[e-16];d[e]=(f<<1|f>>>31)&4294967295}b=a.Fc[0];c=a.Fc[1];var h=a.Fc[2],k=a.Fc[3],l=a.Fc[4];for(e=0;80>e;e++){if(40>e)if(20>e){f=k^c&(h^k);var n=1518500249}else f=c^h^k,n=1859775393;else 60>e?(f=c&h|k&(c|h),n=2400959708): (f=c^h^k,n=3395469782);f=(b<<5|b>>>27)+f+l+n+d[e]&4294967295;l=k;k=h;h=(c<<30|c>>>2)&4294967295;c=b;b=f}a.Fc[0]=a.Fc[0]+b&4294967295;a.Fc[1]=a.Fc[1]+c&4294967295;a.Fc[2]=a.Fc[2]+h&4294967295;a.Fc[3]=a.Fc[3]+k&4294967295;a.Fc[4]=a.Fc[4]+l&4294967295}; .ml.prototype.update=function(a,b){if(null!=a){.r(b)||(b=a.length);for(var c=b-this.wj,d=0,e=this.Rx,f=this.An;d<b;){if(0==f)for(;d<=c;)nl(this,a,d),d+=this.wj;if(_.u(a))for(;d<b;){if(e[f]=a.charCodeAt(d),++f,++d,f==this.wj){nl(this,e);f=0;break}}else for(;d<b;)if(e[f]=a[d],++f,++d,f==this.wj){nl(this,e);f=0;break}}this.An=f;this.Dw+=b}}; _.ml.prototype.digest=function(){var a=[],b=8this.Dw;56>this.An?this.update(this.zv,56-this.An):this.update(this.zv,this.wj-(this.An-56));for(var c=this.wj-1;56<=c;c--)this.Rx[c]=b&255,b/=256;nl(this,this.Rx);for(c=b=0;5>c;c++)for(var d=24;0<=d;d-=8)a[b]=this.Fc[c]>>d&255,++b;return a}; .ol=function(){this.jD=new .ml};.g=.ol.prototype;.g.reset=function(){this.jD.reset()};.g.qM=function(a){this.jD.update(a)};.g.pG=function(){return this.jD.digest()};.g.HD=function(a){a=(0,window.unescape)((0,window.encodeURIComponent)(a));for(var b=[],c=0,d=a.length;c<d;++c)b.push(a.charCodeAt(c));this.qM(b)};.g.Ig=function(){for(var a=this.pG(),b="",c=0;c<a.length;c++)b+="0123456789ABCDEF".charAt(Math.floor(a[c]/16))+"0123456789ABCDEF".charAt(a[c]%16);return b}; var Lm,Km,Rm,Sm,Mm,Pm,Nm,Tm,Om;.Qm=function(){if(Km){var a=new .Nd.Uint32Array(1);Lm.getRandomValues(a);a=Number("0."+a[0])}else a=Mm,a+=(0,window.parseInt)(Nm.substr(0,20),16),Nm=Om(Nm),a/=Pm+Math.pow(16,20);return a};Lm=.Nd.crypto;Km=!1;Rm=0;Sm=0;Mm=1;Pm=0;Nm="";Tm=function(a){a=a||.Nd.event;var b=a.screenX+a.clientX<<16;b+=a.screenY+a.clientY;b*=(new Date).getTime()%1E6;Mm=Mm*b%Pm;0<Rm&&++Sm==Rm&&.ae(.Nd,"mousemove",Tm,"remove","de")};Om=function(a){var b=new .ol;b.HD(a);return b.Ig()}; Km=!!Lm&&"function"==typeof Lm.getRandomValues;Km||(Pm=1E6*(window.screen.width*window.screen.width+window.screen.height),Nm=Om(.Qd.cookie+"|"+.Qd.location+"|"+(new Date).getTime()+"|"+Math.random()),Rm=.H("random/maxObserveMousemove")||0,0!=Rm&&.be(.Nd,"mousemove",Tm)); var Vm,Zm,$m,an,bn,cn,dn,en,fn,gn,hn,jn,kn,on,qn,rn,sn,tn,un,vn;.Um=function(a,b){b=b instanceof .Wc?b:.ad(b);a.href=.Xc(b)};.Wm=function(a){return!!a&&"object"===typeof a&&.Sd.test(a.push)};.Xm=function(a){for(var b=0;b<this.length;b++)if(this[b]===a)return b;return-1};.Ym=function(a,b){if(!a)throw Error(b||"");};Zm=/&/g;$m=/</g;an=/>/g;bn=/"/g;cn=/'/g;dn=function(a){return String(a).replace(Zm,"&").replace($m,"<").replace(an,">").replace(bn,""").replace(cn,"'")};en=/[\ud800-\udbff][\udc00-\udfff]|[^!-~]/g; fn=/%([a-f]|[0-9a-fA-F][a-f])/g;gn=/^(https?|ftp|file|chrome-extension):$/i; hn=function(a){a=String(a);a=a.replace(en,function(a){try{return(0,window.encodeURIComponent)(a)}catch(f){return(0,window.encodeURIComponent)(a.replace(/^[^%]+$/g,"\ufffd"))}}).replace(.Zd,function(a){return a.replace(/%/g,"%25")}).replace(fn,function(a){return a.toUpperCase()});a=a.match(.Yd)||[];var b=.D(),c=function(a){return a.replace(/\/g,"%5C").replace(/^/g,"%5E").replace(//g,"%60").replace(/\{/g,"%7B").replace(/\|/g,"%7C").replace(/\}/g,"%7D")},d=!!(a[1]||"").match(gn);b.ep=c((a[1]|| "")+(a[2]||"")+(a[3]||(a[2]&&d?"/":"")));d=function(a){return c(a.replace(/\?/g,"%3F").replace(/#/g,"%23"))};b.query=a[5]?[d(a[5])]:[];b.rh=a[7]?[d(a[7])]:[];return b};jn=function(a){return a.ep+(0<a.query.length?"?"+a.query.join("&"):"")+(0<a.rh.length?"#"+a.rh.join("&"):"")};kn=function(a,b){var c=[];if(a)for(var d in a)if(_.Ud(a,d)&&null!=a[d]){var e=b?b(a[d]):a[d];c.push((0,window.encodeURIComponent)(d)+"="+(0,window.encodeURIComponent)(e))}return c}; _.ln=function(a,b,c,d){a=hn(a);a.query.push.apply(a.query,kn(b,d));a.rh.push.apply(a.rh,kn(c,d));return jn(a)}; _.mn=function(a,b){var c=hn(b);b=c.ep;c.query.length&&(b+="?"+c.query.join(""));c.rh.length&&(b+="#"+c.rh.join(""));var d="";2E3<b.length&&(c=b,b=b.substr(0,2E3),b=b.replace(_.$d,""),d=c.substr(b.length));var e=a.createElement("div");a=a.createElement("a");c=hn(b);b=c.ep;c.query.length&&(b+="?"+c.query.join(""));c.rh.length&&(b+="#"+c.rh.join(""));a.href=b;e.appendChild(a);e.innerHTML=e.innerHTML;b=String(e.firstChild.href);e.parentNode&&e.parentNode.removeChild(e);c=hn(b+d);b=c.ep;c.query.length&& (b+="?"+c.query.join(""));c.rh.length&&(b+="#"+c.rh.join(""));return b};_.nn=/^https?:\/\/[^\/%\\?#\s]+\/[^\s]*$/i;on=function(a){for(;a.firstChild;)a.removeChild(a.firstChild)};_.pn=function(a,b){var c=_.Td(_.ce,"watt",_.D());_.Td(c,a,b)};qn=/^https?:\/\/(?:\w|[\-\.])+\.google\.(?:\w|[\-:\.])+(?:\/[^\?#]*)?\/b\/(\d{10,21})\//; rn=function(a){var b=_.H("googleapis.config/sessionDelegate");"string"===typeof b&&21<b.length&&(b=null);null==b&&(b=(a=(a||window.location.href).match(qn))?a[1]:null);if(null==b)return null;b=String(b);21<b.length&&(b=null);return b};sn=function(){var a=_.ce.onl;if(!a){a=_.D();_.ce.onl=a;var b=_.D();a.e=function(a){var c=b[a];c&&(delete b[a],c())};a.a=function(a,d){b[a]=d};a.r=function(a){delete b[a]}}return a};tn=function(a,b){b=b.onload;return"function"===typeof b?(sn().a(a,b),b):null}; un=function(a){_.Ym(/^\w+$/.test(a),"Unsupported id - "+a);sn();return'onload="window.___jsl.onl.e("'+a+'")"'};vn=function(a){sn().r(a)}; var xn,yn,Cn;_.wn={allowtransparency:"true",frameborder:"0",hspace:"0",marginheight:"0",marginwidth:"0",scrolling:"no",style:"",tabindex:"0",vspace:"0",width:"100%"};xn={allowtransparency:!0,onload:!0};yn=0;_.zn=function(a,b){var c=0;do var d=b.id||["I",yn++,"_",(new Date).getTime()].join("");while(a.getElementById(d)&&5>++c);_.Ym(5>c,"Error creating iframe id");return d};_.An=function(a,b){return a?b+"/"+a:""}; _.Bn=function(a,b,c,d){var e={},f={};a.documentMode&&9>a.documentMode&&(e.hostiemode=a.documentMode);_.Vd(d.queryParams||{},e);_.Vd(d.fragmentParams||{},f);var h=d.pfname;var k=_.D();_.H("iframes/dropLegacyIdParam")||(k.id=c);k._gfid=c;k.parent=a.location.protocol+"//"+a.location.host;c=_.Xd(a.location.href,"parent");h=h||"";!h&&c&&(h=_.Xd(a.location.href,"_gfid","")||_.Xd(a.location.href,"id",""),h=_.An(h,_.Xd(a.location.href,"pfname","")));h||(c=_.cf(_.Xd(a.location.href,"jcp","")))&&"object"== typeof c&&(h=_.An(c.id,c.pfname));k.pfname=h;d.connectWithJsonParam&&(h={},h.jcp=_.df(k),k=h);h=_.Xd(b,"rpctoken")||e.rpctoken||f.rpctoken;h||(h=d.rpctoken||String(Math.round(1E8*_.Qm())),k.rpctoken=h);d.rpctoken=h;_.Vd(k,d.connectWithQueryParams?e:f);k=a.location.href;a=_.D();(h=_.Xd(k,"_bsh",_.ce.bsh))&&(a._bsh=h);(k=_.ce.dpo?_.ce.h:_.Xd(k,"jsh",_.ce.h))&&(a.jsh=k);d.hintInFragment?_.Vd(a,f):_.Vd(a,e);return _.ln(b,e,f,d.paramsSerializer)}; Cn=function(a){_.Ym(!a||_.nn.test(a),"Illegal url for new iframe - "+a)}; _.Dn=function(a,b,c,d,e){Cn(c.src);var f,h=tn(d,c),k=h?un(d):"";try{window.document.all&&(f=a.createElement('<iframe frameborder="'+dn(String(c.frameborder))+'" scrolling="'+dn(String(c.scrolling))+'" '+k+' name="'+dn(String(c.name))+'"/>'))}catch(n){}finally{f||(f=a.createElement("iframe"),h&&(f.onload=function(){f.onload=null;h.call(this)},vn(d)))}f.setAttribute("ng-non-bindable","");for(var l in c)a=c[l],"style"===l&&"object"===typeof a?_.Vd(a,f.style):xn[l]||f.setAttribute(l,String(a));(l=e&& e.beforeNode||null)||e&&e.dontclear||on(b);b.insertBefore(f,l);f=l?l.previousSibling:b.lastChild;c.allowtransparency&&(f.allowTransparency=!0);return f}; var En,Hn;En=/^:[\w]+$/;_.Fn=/:([a-zA-Z_]+):/g;_.Gn=function(){var a=_.gl()||"0",b=rn();var c=_.gl(void 0)||a;var d=rn(void 0),e="";c&&(e+="u/"+(0,window.encodeURIComponent)(String(c))+"/");d&&(e+="b/"+(0,window.encodeURIComponent)(String(d))+"/");c=e||null;(e=(d=!1===_.H("isLoggedIn"))?"_/im/":"")&&(c="");var f=_.H("iframes/:socialhost:"),h=_.H("iframes/:im_socialhost:");return Vm={socialhost:f,ctx_socialhost:d?h:f,session_index:a,session_delegate:b,session_prefix:c,im_prefix:e}}; Hn=function(a,b){return _.Gn()[b]||""};_.In=function(a){return _.mn(_.Qd,a.replace(_.Fn,Hn))};_.Jn=function(a){var b=a;En.test(a)&&(b=_.H("iframes/"+b.substring(1)+"/url"),_.Ym(!!b,"Unknown iframe url config for - "+a));return _.In(b)}; _.Kn=function(a,b,c){var d=c||{};c=d.attributes||{};_.Ym(!(d.allowPost||d.forcePost)||!c.onload,"onload is not supported by post iframe (allowPost or forcePost)");a=_.Jn(a);c=b.ownerDocument||_.Qd;var e=_.zn(c,d);a=_.Bn(c,a,e,d);var f=_.D();_.Vd(_.wn,f);_.Vd(d.attributes,f);f.name=f.id=e;f.src=a;d.eurl=a;var h=d||{},k=!!h.allowPost;if(h.forcePost||k&&2E3<a.length){h=hn(a);f.src="";f["data-postorigin"]=a;a=_.Dn(c,b,f,e);if(-1!=window.navigator.userAgent.indexOf("WebKit")){var l=a.contentWindow.document; l.open();f=l.createElement("div");k={};var n=e+"_inner";k.name=n;k.src="";k.style="display:none";_.Dn(c,f,k,n,d)}f=(d=h.query[0])?d.split("&"):[];d=[];for(k=0;k<f.length;k++)n=f[k].split("=",2),d.push([(0,window.decodeURIComponent)(n[0]),(0,window.decodeURIComponent)(n[1])]);h.query=[];f=jn(h);_.Ym(_.nn.test(f),"Invalid URL: "+f);h=c.createElement("form");h.action=f;h.method="POST";h.target=e;h.style.display="none";for(e=0;e<d.length;e++)f=c.createElement("input"),f.type="hidden",f.name=d[e][0],f.value= d[e][1],h.appendChild(f);b.appendChild(h);h.submit();h.parentNode.removeChild(h);l&&l.close();b=a}else b=_.Dn(c,b,f,e,d);return b}; _.Ln=function(a){this.R=a};_.g=_.Ln.prototype;_.g.value=function(){return this.R};_.g.uk=function(a){this.R.width=a;return this};_.g.Ed=function(){return this.R.width};_.g.rk=function(a){this.R.height=a;return this};_.g.Xc=function(){return this.R.height};_.g.Jd=function(a){this.R.style=a;return this};_.g.zl=_.ea(9); var Mn=function(a){this.R=a};_.g=Mn.prototype;_.g.no=function(a){this.R.anchor=a;return this};_.g.vf=function(){return this.R.anchor};_.g.IC=function(a){this.R.anchorPosition=a;return this};_.g.rk=function(a){this.R.height=a;return this};_.g.Xc=function(){return this.R.height};_.g.uk=function(a){this.R.width=a;return this};_.g.Ed=function(){return this.R.width}; _.Nn=function(a){this.R=a||{}};_.g=_.Nn.prototype;_.g.value=function(){return this.R};_.g.setUrl=function(a){this.R.url=a;return this};_.g.getUrl=function(){return this.R.url};_.g.Jd=function(a){this.R.style=a;return this};_.g.zl=_.ea(8);_.g.Zi=function(a){this.R.id=a};_.g.ka=function(){return this.R.id};_.g.tk=_.ea(10);_.On=function(a,b){a.R.queryParams=b;return a};_.Pn=function(a,b){a.R.relayOpen=b;return a};_.Nn.prototype.oo=_.ea(11);_.Nn.prototype.getContext=function(){return this.R.context}; _.Nn.prototype.Qc=function(){return this.R.openerIframe};_.Qn=function(a){return new Mn(a.R)};_.Nn.prototype.hn=function(){this.R.attributes=this.R.attributes||{};return new _.Ln(this.R.attributes)};_.Rn=function(a){a.R.connectWithQueryParams=!0;return a}; var Sn,Yn,Zn,$n,go,fo;_.Ln.prototype.zl=_.rc(9,function(){return this.R.style});_.Nn.prototype.zl=_.rc(8,function(){return this.R.style});Sn=function(a,b){a.R.onload=b};_.Tn=function(a){a.R.closeClickDetection=!0};_.Un=function(a){return a.R.rpctoken};_.Vn=function(a,b){a.R.messageHandlers=b;return a};_.Wn=function(a,b){a.R.messageHandlersFilter=b;return a};_.Xn=function(a){a.R.waitForOnload=!0;return a};Yn=function(a){return(a=a.R.timeout)?a:null}; _.bo=function(a,b,c){if(a){_.Ym(_.Wm(a),"arrayForEach was called with a non array value");for(var d=0;d<a.length;d++)b.call(c,a[d],d)}};_.co=function(a,b,c){if(a)if(_.Wm(a))_.bo(a,b,c);else{_.Ym("object"===typeof a,"objectForEach was called with a non object value");c=c||a;for(var d in a)_.Ud(a,d)&&void 0!==a[d]&&b.call(c,a[d],d)}}; _.eo=function(a){return new _.dh(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a,c){d--;e[a]=c;0==d&&b(e)},h=function(a){c(a)},k=0,l;k<a.length;k++)l=a[k],_.kh(l,_.Of(f,k),h);else b(e)})};go=function(a){this.resolve=this.reject=null;this.promise=_.Im((0,_.A)(function(a,c){this.resolve=a;this.reject=c},this));a&&(this.promise=fo(this.promise,a))};fo=function(a,b){return a.then(function(a){try{b(a)}catch(d){}return a})}; _.ho=function(a){this.R=a||{}};_.z(_.ho,_.Nn);_.io=function(a,b){a.R.frameName=b;return a};_.ho.prototype.Cd=function(){return this.R.frameName};_.jo=function(a,b){a.R.rpcAddr=b;return a};_.ho.prototype.xl=function(){return this.R.rpcAddr};_.ko=function(a,b){a.R.retAddr=b;return a};_.lo=function(a){return a.R.retAddr};_.ho.prototype.Nh=function(a){this.R.origin=a;return this};_.ho.prototype.Qa=function(){return this.R.origin};_.ho.prototype.$i=function(a){this.R.setRpcReady=a;return this};_.mo=function(a){return a.R.setRpcReady}; _.ho.prototype.qo=function(a){this.R.context=a};var no=function(a,b){a.R._rpcReadyFn=b};_.ho.prototype.Ha=function(){return this.R.iframeEl}; var oo,so,ro;oo=/^[\w\.\-]*$/;_.po=function(a){return a.wd===a.getContext().wd};_.M=function(){return!0};_.qo=function(a){for(var b=_.D(),c=0;c<a.length;c++)b[a[c]]=!0;return function(a){return!!b[a.wd]}};so=function(a,b,c){return function(d){if(!b.Fb){_.Ym(this.origin===b.wd,"Wrong origin "+this.origin+" != "+b.wd);var e=this.callback;d=ro(a,d,b);!c&&0<d.length&&_.eo(d).then(e)}}};ro=function(a,b,c){a=Zn[a];if(!a)return[];for(var d=[],e=0;e<a.length;e++)d.push(_.hh(a[e].call(c,b,c)));return d}; _.to=function(a,b,c){_.Ym("_default"!=a,"Cannot update default api");$n[a]={map:b,filter:c}};_.uo=function(a,b,c){_.Ym("_default"!=a,"Cannot update default api");_.Td($n,a,{map:{},filter:_.po}).map[b]=c};_.vo=function(a,b){_.Td($n,"_default",{map:{},filter:_.M}).map[a]=b;_.co(_.ao.Ge,function(c){c.register(a,b,_.M)})};_.wo=function(){return _.ao}; _.yo=function(a){a=a||{};this.Fb=!1;this.bK=_.D();this.Ge=_.D();this.Ee=a._window||_.Nd;this.yd=this.Ee.location.href;this.cK=(this.OB=xo(this.yd,"parent"))?xo(this.yd,"pfname"):"";this.Aa=this.OB?xo(this.yd,"_gfid")||xo(this.yd,"id"):"";this.uf=_.An(this.Aa,this.cK);this.wd=_.Xj.Qa(this.yd);if(this.Aa){var b=new _.ho;_.jo(b,a._parentRpcAddr||"..");_.ko(b,a._parentRetAddr||this.Aa);b.Nh(_.Xj.Qa(this.OB||this.yd));_.io(b,this.cK);this.hb=this.uj(b.value())}else this.hb=null};_.g=_.yo.prototype; _.g.Dn=_.ea(3);_.g.Ca=function(){if(!this.Fb){for(var a=0;a<this.Ge.length;a++)this.Ge[a].Ca();this.Fb=!0}};_.g.Cd=function(){return this.uf};_.g.vb=function(){return this.Ee};_.g.mb=function(){return this.Ee.document};_.g.gw=_.ea(12);_.g.Ez=function(a){return this.bK[a]}; _.g.uj=function(a){_.Ym(!this.Fb,"Cannot attach iframe in disposed context");a=new _.ho(a);a.xl()||_.jo(a,a.ka());_.lo(a)||_.ko(a,"..");a.Qa()||a.Nh(_.Xj.Qa(a.getUrl()));a.Cd()||_.io(a,_.An(a.ka(),this.uf));var b=a.Cd();if(this.Ge[b])return this.Ge[b];var c=a.xl(),d=c;a.Qa()&&(d=c+"|"+a.Qa());var e=_.lo(a),f=_.Un(a);f||(f=(f=a.Ha())&&(f.getAttribute("data-postorigin")||f.src)||a.getUrl(),f=_.Xd(f,"rpctoken"));no(a,_.Hm(d,e,f,a.R._popupWindow));d=((window.gadgets||{}).rpc||{}).setAuthToken;f&&d&&d(c, f);var h=new _.zo(this,c,b,a),k=a.R.messageHandlersFilter;_.co(a.R.messageHandlers,function(a,b){h.register(b,a,k)});_.mo(a)&&h.$i();_.Ao(h,"_g_rpcReady");return h};_.g.vC=function(a){_.io(a,null);var b=a.ka();!b||oo.test(b)&&!this.vb().document.getElementById(b)||(_.ue("Ignoring requested iframe ID - "+b),a.Zi(null))};var xo=function(a,b){var c=_.Xd(a,b);c||(c=_.cf(_.Xd(a,"jcp",""))[b]);return c||""}; _.yo.prototype.Tg=function(a){_.Ym(!this.Fb,"Cannot open iframe in disposed context");var b=new _.ho(a);Bo(this,b);var c=b.Cd();if(c&&this.Ge[c])return this.Ge[c];this.vC(b);c=b.getUrl();_.Ym(c,"No url for new iframe");var d=b.R.queryParams||{};d.usegapi="1";_.On(b,d);d=this.ZH&&this.ZH(c,b);d||(d=b.R.where,_.Ym(!!d,"No location for new iframe"),c=_.Kn(c,d,a),b.R.iframeEl=c,d=c.getAttribute("id"));_.jo(b,d).Zi(d);b.Nh(_.Xj.Qa(b.R.eurl||""));this.iJ&&this.iJ(b,b.Ha());c=this.uj(a);c.aD&&c.aD(c,a); (a=b.R.onCreate)&&a(c);b.R.disableRelayOpen||c.Yo("_open");return c}; var Co=function(a,b,c){var d=b.R.canvasUrl;if(!d)return c;_.Ym(!b.R.allowPost&&!b.R.forcePost,"Post is not supported when using canvas url");var e=b.getUrl();_.Ym(e&&_.Xj.Qa(e)===a.wd&&_.Xj.Qa(d)===a.wd,"Wrong origin for canvas or hidden url "+d);b.setUrl(d);_.Xn(b);b.R.canvasUrl=null;return function(a){var b=a.vb(),d=b.location.hash;d=_.Jn(e)+(/#/.test(e)?d.replace(/^#/,"&"):d);b.location.replace(d);c&&c(a)}},Eo=function(a,b,c){var d=b.R.relayOpen;if(d){var e=a.hb;d instanceof _.zo?(e=d,_.Pn(b,0)): 0<Number(d)&&_.Pn(b,Number(d)-1);if(e){_.Ym(!!e.VJ,"Relaying iframe open is disabled");if(d=b.zl())if(d=_.Do[d])b.qo(a),d(b.value()),b.qo(null);b.R.openerIframe=null;c.resolve(e.VJ(b));return!0}}return!1},Io=function(a,b,c){var d=b.zl();if(d)if(_.Ym(!!_.Fo,"Defer style is disabled, when requesting style "+d),_.Go[d])Bo(a,b);else return Ho(d,function(){_.Ym(!!_.Go[d],"Fail to load style - "+d);c.resolve(a.open(b.value()))}),!0;return!1}; _.yo.prototype.open=function(a,b){_.Ym(!this.Fb,"Cannot open iframe in disposed context");var c=new _.ho(a);b=Co(this,c,b);var d=new go(b);(b=c.getUrl())&&c.setUrl(_.Jn(b));if(Eo(this,c,d)||Io(this,c,d)||Eo(this,c,d))return d.promise;if(null!=Yn(c)){var e=(0,window.setTimeout)(function(){h.Ha().src="about:blank";d.reject({timeout:"Exceeded time limit of :"+Yn(c)+"milliseconds"})},Yn(c)),f=d.resolve;d.resolve=function(a){(0,window.clearTimeout)(e);f(a)}}c.R.waitForOnload&&Sn(c.hn(),function(){d.resolve(h)}); var h=this.Tg(a);c.R.waitForOnload||d.resolve(h);return d.promise};_.yo.prototype.pH=_.ea(13);_.zo=function(a,b,c,d){this.Fb=!1;this.Od=a;this.Ti=b;this.uf=c;this.ya=d;this.eo=_.lo(this.ya);this.wd=this.ya.Qa();this.jV=this.ya.Ha();this.OL=this.ya.R.where;this.Un=[];this.Yo("_default");a=this.ya.R.apis||[];for(b=0;b<a.length;b++)this.Yo(a[b]);this.Od.Ge[c]=this};_.g=_.zo.prototype;_.g.Dn=_.ea(2); _.g.Ca=function(){if(!this.Fb){for(var a=0;a<this.Un.length;a++)this.unregister(this.Un[a]);delete _.ao.Ge[this.Cd()];this.Fb=!0}};_.g.getContext=function(){return this.Od};_.g.xl=function(){return this.Ti};_.g.Cd=function(){return this.uf};_.g.Ha=function(){return this.jV};_.g.$a=function(){return this.OL};_.g.Ze=function(a){this.OL=a};_.g.$i=function(){(0,this.ya.R._rpcReadyFn)()};_.g.pL=function(a,b){this.ya.value()[a]=b};_.g.Mz=function(a){return this.ya.value()[a]};_.g.Ob=function(){return this.ya.value()}; _.g.ka=function(){return this.ya.ka()};_.g.Qa=function(){return this.wd};_.g.register=function(a,b,c){_.Ym(!this.Fb,"Cannot register handler on disposed iframe "+a);_.Ym((c||_.po)(this),"Rejecting untrusted message "+a);c=this.uf+":"+this.Od.uf+":"+a;1==_.Td(Zn,c,[]).push(b)&&(this.Un.push(a),_.wm(c,so(c,this,"_g_wasClosed"===a)))}; _.g.unregister=function(a,b){var c=this.uf+":"+this.Od.uf+":"+a,d=Zn[c];d&&(b?(b=_.Xm.call(d,b),0<=b&&d.splice(b,1)):d.splice(0,d.length),0==d.length&&(b=_.Xm.call(this.Un,a),0<=b&&this.Un.splice(b,1),_.xm(c)))};_.g.YS=function(){return this.Un};_.g.Yo=function(a){this.Dx=this.Dx||[];if(!(0<=_.Xm.call(this.Dx,a))){this.Dx.push(a);a=$n[a]||{map:{}};for(var b in a.map)_.Ud(a.map,b)&&this.register(b,a.map[b],a.filter)}}; _.g.send=function(a,b,c,d){_.Ym(!this.Fb,"Cannot send message to disposed iframe - "+a);_.Ym((d||_.po)(this),"Wrong target for message "+a);c=new go(c);_.Am(this.Ti,this.Od.uf+":"+this.uf+":"+a,c.resolve,b);return c.promise};_.Ao=function(a,b,c,d){return a.send(b,c,d,_.M)};_.zo.prototype.tX=function(a){return a};_.zo.prototype.ping=function(a,b){return _.Ao(this,"_g_ping",b,a)};Zn=_.D();$n=_.D();_.ao=new _.yo;_.vo("_g_rpcReady",_.zo.prototype.$i);_.vo("_g_discover",_.zo.prototype.YS); _.vo("_g_ping",_.zo.prototype.tX); var Ho,Bo;_.Go=_.D();_.Do=_.D();_.Fo=function(a){return _.Go[a]};Ho=function(a,b){_.Wd.load("gapi.iframes.style."+a,b)};Bo=function(a,b){var c=b.zl();if(c){b.Jd(null);var d=_.Go[c];_.Ym(d,"No such style: "+c);b.qo(a);d(b.value());b.qo(null)}};var Jo,Ko;Jo={height:!0,width:!0};Ko=/^(?!-*(?:expression|(?:moz-)?binding))(?:[.#]?-?(?:[_a-z0-9-]+)(?:-[_a-z0-9-]+)*-?|-?(?:[0-9]+(?:\.[0-9]*)?|\.[0-9]+)(?:[a-z]{1,2}|%)?|!important|)$/i;_.Lo=function(a){"number"===typeof a&&(a=String(a)+"px");return a};_.zo.prototype.vb=function(){if(!_.po(this))return null;var a=this.ya.R._popupWindow;if(a)return a;var b=this.Ti.split("/");a=this.getContext().vb();for(var c=0;c<b.length&&a;c++){var d=b[c];a=".."===d?a==a.parent?a.opener:a.parent:a.frames[d]}return a}; var Mo=function(a,b){var c=a.hb,d=!0;b.filter&&(d=b.filter.call(b.yf,b.params));return _.hh(d).then(function(d){return d&&c?(b.aK&&b.aK.call(a,b.params),d=b.sender?b.sender(b.params):_.Ao(c,b.message,b.params),b.S_?d.then(function(){return!0}):!0):!1})}; _.yo.prototype.dy=function(a,b,c){a=Mo(this,{sender:function(a){var b=_.ao.hb;_.co(_.ao.Ge,function(c){c!==b&&_.Ao(c,"_g_wasClosed",a)});return _.Ao(b,"_g_closeMe",a)},message:"_g_closeMe",params:a,yf:c,filter:this.Ez("onCloseSelfFilter")});b=new go(b);b.resolve(a);return b.promise};_.yo.prototype.sC=function(a,b,c){a=a||{};b=new go(b);b.resolve(Mo(this,{message:"_g_restyleMe",params:a,yf:c,filter:this.Ez("onRestyleSelfFilter"),S_:!0,aK:this.pM}));return b.promise}; _.yo.prototype.pM=function(a){"auto"===a.height&&(a.height=_.Jm.Xc())};_.No=function(a){var b={};if(a)for(var c in a)_.Ud(a,c)&&_.Ud(Jo,c)&&Ko.test(a[c])&&(b[c]=a[c]);return b};_.g=_.zo.prototype;_.g.close=function(a,b){return _.Ao(this,"_g_close",a,b)};_.g.tr=function(a,b){return _.Ao(this,"_g_restyle",a,b)};_.g.bo=function(a,b){return _.Ao(this,"_g_restyleDone",a,b)};_.g.rQ=function(a){return this.getContext().dy(a,void 0,this)}; _.g.tY=function(a){if(a&&"object"===typeof a)return this.getContext().sC(a,void 0,this)};_.g.uY=function(a){var b=this.ya.R.onRestyle;b&&b.call(this,a,this);a=a&&"object"===typeof a?_.No(a):{};(b=this.Ha())&&a&&"object"===typeof a&&(_.Ud(a,"height")&&(a.height=_.Lo(a.height)),_.Ud(a,"width")&&(a.width=_.Lo(a.width)),_.Vd(a,b.style))}; _.g.sQ=function(a){var b=this.ya.R.onClose;b&&b.call(this,a,this);this.WF&&this.WF()||(b=this.Ha())&&b.parentNode&&b.parentNode.removeChild(b);if(b=this.ya.R.controller){var c={};c.frameName=this.Cd();_.Ao(b,"_g_disposeControl",c)}ro(this.uf+":"+this.Od.uf+":_g_wasClosed",a,this)};_.yo.prototype.bL=_.ea(14);_.yo.prototype.rL=_.ea(15);_.zo.prototype.sK=_.ea(16);_.zo.prototype.ik=function(a,b){this.register("_g_wasClosed",a,b)}; _.zo.prototype.V_=function(){delete this.getContext().Ge[this.Cd()];this.getContext().vb().setTimeout((0,_.A)(function(){this.Ca()},this),0)};_.vo("_g_close",_.zo.prototype.rQ);_.vo("_g_closeMe",_.zo.prototype.sQ);_.vo("_g_restyle",_.zo.prototype.tY);_.vo("_g_restyleMe",_.zo.prototype.uY);_.vo("_g_wasClosed",_.zo.prototype.V_); var Vo,Yo,Zo,$o;_.Nn.prototype.oo=_.rc(11,function(a){this.R.apis=a;return this});_.Nn.prototype.tk=_.rc(10,function(a){this.R.rpctoken=a;return this});_.Oo=function(a){a.R.show=!0;return a};_.Po=function(a,b){a.R.where=b;return a};_.Qo=function(a,b){a.R.onClose=b};_.Ro=function(a,b){a.rel="stylesheet";a.href=_.Sc(b)};_.So=function(a){this.R=a||{}};_.So.prototype.value=function(){return this.R};_.So.prototype.getIframe=function(){return this.R.iframe};_.To=function(a,b){a.R.role=b;return a}; _.So.prototype.$i=function(a){this.R.setRpcReady=a;return this};_.So.prototype.tk=function(a){this.R.rpctoken=a;return this};_.Uo=function(a){a.R.selfConnect=!0;return a};Vo=function(a){this.R=a||{}};Vo.prototype.value=function(){return this.R};var Wo=function(a){var b=new Vo;b.R.role=a;return b};Vo.prototype.xH=function(){return this.R.role};Vo.prototype.Xb=function(a){this.R.handler=a;return this};Vo.prototype.Bb=function(){return this.R.handler};var Xo=function(a,b){a.R.filter=b;return a}; Vo.prototype.oo=function(a){this.R.apis=a;return this};Yo=function(a){a.R.runOnce=!0;return a};Zo=/^https?:\/\/[^\/%\\?#\s]+$/i;$o={longdesc:!0,name:!0,src:!0,frameborder:!0,marginwidth:!0,marginheight:!0,scrolling:!0,align:!0,height:!0,width:!0,id:!0,"class":!0,title:!0,tabindex:!0,hspace:!0,vspace:!0,allowtransparency:!0};_.ap=function(a,b,c){var d=a.Ti,e=b.eo;_.ko(_.jo(c,a.eo+"/"+b.Ti),e+"/"+d);_.io(c,b.Cd()).Nh(b.wd)};_.yo.prototype.fy=_.ea(17);_.g=_.zo.prototype; _.g.vQ=function(a){var b=new _.ho(a);a=new _.So(b.value());if(a.R.selfConnect)var c=this;else(_.Ym(Zo.test(b.Qa()),"Illegal origin for connected iframe - "+b.Qa()),c=this.Od.Ge[b.Cd()],c)?_.mo(b)&&(c.$i(),_.Ao(c,"_g_rpcReady")):(b=_.io(_.ko(_.jo((new _.ho).tk(_.Un(b)),b.xl()),_.lo(b)).Nh(b.Qa()),b.Cd()).$i(_.mo(b)),c=this.Od.uj(b.value()));b=this.Od;var d=a.R.role;a=a.R.data;bp(b);d=d||"";_.Td(b.hy,d,[]).push({yf:c.Cd(),data:a});cp(c,a,b.wB[d])}; _.g.aD=function(a,b){(new _.ho(b)).R._relayedDepth||(b={},_.Uo(_.To(new _.So(b),"_opener")),_.Ao(a,"_g_connect",b))}; _.g.VJ=function(a){var b=this,c=a.R.messageHandlers,d=a.R.messageHandlersFilter,e=a.R.onClose;_.Qo(_.Wn(_.Vn(a,null),null),null);_.mh();return _.Ao(this,"_g_open",a.value()).then(function(f){var h=new _.ho(f[0]),k=h.Cd();f=new _.ho;var l=b.eo,n=_.lo(h);_.ko(_.jo(f,b.Ti+"/"+h.xl()),n+"/"+l);_.io(f,k);f.Nh(h.Qa());f.oo(h.R.apis);f.tk(_.Un(a));_.Vn(f,c);_.Wn(f,d);_.Qo(f,e);(h=b.Od.Ge[k])||(h=b.Od.uj(f.value()));return h})}; _.g.vC=function(a){var b=a.getUrl();_.Ym(!b||_.nn.test(b),"Illegal url for new iframe - "+b);var c=a.hn().value();b={};for(var d in c)_.Ud(c,d)&&_.Ud($o,d)&&(b[d]=c[d]);_.Ud(c,"style")&&(d=c.style,"object"===typeof d&&(b.style=_.No(d)));a.value().attributes=b}; _.g.gX=function(a){a=new _.ho(a);this.vC(a);var b=a.R._relayedDepth||0;a.R._relayedDepth=b+1;a.R.openerIframe=this;_.mh();var c=_.Un(a);a.tk(null);return this.Od.open(a.value()).then((0,_.A)(function(a){var d=(new _.ho(a.Ob())).R.apis,f=new _.ho;_.ap(a,this,f);0==b&&_.To(new _.So(f.value()),"_opener");f.$i(!0);f.tk(c);_.Ao(a,"_g_connect",f.value());f=new _.ho;_.io(_.ko(_.jo(f.oo(d),a.xl()),a.eo),a.Cd()).Nh(a.Qa());return f.value()},this))};var bp=function(a){a.hy||(a.hy=_.D(),a.wB=_.D())}; _.yo.prototype.xx=function(a,b,c,d){bp(this);"object"===typeof a?(b=new Vo(a),c=b.xH()||""):(b=Xo(Wo(a).Xb(b).oo(c),d),c=a);d=this.hy[c]||[];a=!1;for(var e=0;e<d.length&&!a;e++)cp(this.Ge[d[e].yf],d[e].data,[b]),a=b.R.runOnce;c=_.Td(this.wB,c,[]);a||b.R.dontWait||c.push(b)};_.yo.prototype.vK=_.ea(18); var cp=function(a,b,c){c=c||[];for(var d=0;d<c.length;d++){var e=c[d];if(e&&a){var f=e.R.filter||_.po;if(a&&f(a)){f=e.R.apis||[];for(var h=0;h<f.length;h++)a.Yo(f[h]);e.Bb()&&e.Bb()(a,b);e.R.runOnce&&(c.splice(d,1),--d)}}}};_.yo.prototype.sj=function(a,b,c){this.xx(Yo(Xo(Wo("_opener").Xb(a).oo(b),c)).value())};_.zo.prototype.sY=function(a){this.getContext().sj(function(b){b.send("_g_wasRestyled",a,void 0,_.M)},null,_.M)};var dp=_.ao.hb;dp&&dp.register("_g_restyleDone",_.zo.prototype.sY,_.M); _.vo("_g_connect",_.zo.prototype.vQ);var ep={};ep._g_open=_.zo.prototype.gX;_.to("_open",ep,_.M); _.w("gapi.iframes.create",_.Kn); _.zo.prototype.sK=_.rc(16,function(a,b){this.register("_g_wasRestyled",a,b)});_.g=_.yo.prototype;_.g.rL=_.rc(15,function(a){this.gw("onRestyleSelfFilter",a)});_.g.bL=_.rc(14,function(a){this.gw("onCloseSelfFilter",a)});_.g.pH=_.rc(13,function(){return this.hb});_.g.gw=_.rc(12,function(a,b){this.bK[a]=b});_.g.Dn=_.rc(3,function(){return this.Fb});_.zo.prototype.Dn=_.rc(2,function(){return this.Fb});_.w("gapi.iframes.registerStyle",function(a,b){_.Go[a]=b}); _.w("gapi.iframes.registerBeforeOpenStyle",function(a,b){_.Do[a]=b});_.w("gapi.iframes.getStyle",_.Fo);_.w("gapi.iframes.getBeforeOpenStyle",function(a){return _.Do[a]});_.w("gapi.iframes.registerIframesApi",_.to);_.w("gapi.iframes.registerIframesApiHandler",_.uo);_.w("gapi.iframes.getContext",_.wo);_.w("gapi.iframes.SAME_ORIGIN_IFRAMES_FILTER",_.po);_.w("gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER",_.M);_.w("gapi.iframes.makeWhiteListIframesFilter",_.qo);_.w("gapi.iframes.Context",_.yo); _.w("gapi.iframes.Context.prototype.isDisposed",_.yo.prototype.Dn);_.w("gapi.iframes.Context.prototype.getWindow",_.yo.prototype.vb);_.w("gapi.iframes.Context.prototype.getFrameName",_.yo.prototype.Cd);_.w("gapi.iframes.Context.prototype.getGlobalParam",_.yo.prototype.Ez);_.w("gapi.iframes.Context.prototype.setGlobalParam",_.yo.prototype.gw);_.w("gapi.iframes.Context.prototype.open",_.yo.prototype.open);_.w("gapi.iframes.Context.prototype.openChild",_.yo.prototype.Tg); _.w("gapi.iframes.Context.prototype.getParentIframe",_.yo.prototype.pH);_.w("gapi.iframes.Context.prototype.closeSelf",_.yo.prototype.dy);_.w("gapi.iframes.Context.prototype.restyleSelf",_.yo.prototype.sC);_.w("gapi.iframes.Context.prototype.setCloseSelfFilter",_.yo.prototype.bL);_.w("gapi.iframes.Context.prototype.setRestyleSelfFilter",_.yo.prototype.rL);_.w("gapi.iframes.Iframe",_.zo);_.w("gapi.iframes.Iframe.prototype.isDisposed",_.zo.prototype.Dn); _.w("gapi.iframes.Iframe.prototype.getContext",_.zo.prototype.getContext);_.w("gapi.iframes.Iframe.prototype.getFrameName",_.zo.prototype.Cd);_.w("gapi.iframes.Iframe.prototype.getId",_.zo.prototype.ka);_.w("gapi.iframes.Iframe.prototype.register",_.zo.prototype.register);_.w("gapi.iframes.Iframe.prototype.unregister",_.zo.prototype.unregister);_.w("gapi.iframes.Iframe.prototype.send",_.zo.prototype.send);_.w("gapi.iframes.Iframe.prototype.applyIframesApi",_.zo.prototype.Yo); _.w("gapi.iframes.Iframe.prototype.getIframeEl",_.zo.prototype.Ha);_.w("gapi.iframes.Iframe.prototype.getSiteEl",_.zo.prototype.$a);_.w("gapi.iframes.Iframe.prototype.setSiteEl",_.zo.prototype.Ze);_.w("gapi.iframes.Iframe.prototype.getWindow",_.zo.prototype.vb);_.w("gapi.iframes.Iframe.prototype.getOrigin",_.zo.prototype.Qa);_.w("gapi.iframes.Iframe.prototype.close",_.zo.prototype.close);_.w("gapi.iframes.Iframe.prototype.restyle",_.zo.prototype.tr); _.w("gapi.iframes.Iframe.prototype.restyleDone",_.zo.prototype.bo);_.w("gapi.iframes.Iframe.prototype.registerWasRestyled",_.zo.prototype.sK);_.w("gapi.iframes.Iframe.prototype.registerWasClosed",_.zo.prototype.ik);_.w("gapi.iframes.Iframe.prototype.getParam",_.zo.prototype.Mz);_.w("gapi.iframes.Iframe.prototype.setParam",_.zo.prototype.pL);_.w("gapi.iframes.Iframe.prototype.ping",_.zo.prototype.ping); var LM=function(a,b){a.R.data=b;return a};_.yo.prototype.vK=_.rc(18,function(a,b){a=_.Td(this.wB,a,[]);if(b)for(var c=0,d=!1;!d&&c<a.length;c++)a[c].Oe===b&&(d=!0,a.splice(c,1));else a.splice(0,a.length)}); _.yo.prototype.fy=_.rc(17,function(a,b){a=new _.So(a);var c=new _.So(b),d=_.mo(a);b=a.getIframe();var e=c.getIframe();if(e){var f=_.Un(a),h=new _.ho;_.ap(b,e,h);LM(_.To((new _.So(h.value())).tk(f),a.R.role),a.R.data).$i(d);var k=new _.ho;_.ap(e,b,k);LM(_.To((new _.So(k.value())).tk(f),c.R.role),c.R.data).$i(!0);_.Ao(b,"_g_connect",h.value(),function(){d||_.Ao(e,"_g_connect",k.value())});d&&_.Ao(e,"_g_connect",k.value())}else c={},LM(_.To(_.Uo(new _.So(c)),a.R.role),a.R.data),_.Ao(b,"_g_connect",c)}); _.w("gapi.iframes.Context.prototype.addOnConnectHandler",_.yo.prototype.xx);_.w("gapi.iframes.Context.prototype.removeOnConnectHandler",_.yo.prototype.vK);_.w("gapi.iframes.Context.prototype.addOnOpenerHandler",_.yo.prototype.sj);_.w("gapi.iframes.Context.prototype.connectIframes",_.yo.prototype.fy); _.ak=window.googleapis&&window.googleapis.server||{}; (function(){function a(a,b){if(!(a<c)&&d)if(2===a&&d.warn)d.warn(b);else if(3===a&&d.error)try{d.error(b)}catch(h){}else d.log&&d.log(b)}var b=function(b){a(1,b)};_.Ra=function(b){a(2,b)};_.Sa=function(b){a(3,b)};_.oe=function(){};b.INFO=1;b.WARNING=2;b.NONE=4;var c=1,d=window.console?window.console:window.opera?window.opera.postError:void 0;return b})(); _.pe=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(_.Wa(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var h=0;h<f;h++)a[e+h]=d[h]}else a.push(d)}}; _.I=_.I||{};_.I.Hs=function(a,b,c,d){"undefined"!=typeof a.addEventListener?a.addEventListener(b,c,d):"undefined"!=typeof a.attachEvent?a.attachEvent("on"+b,c):_.Ra("cannot attachBrowserEvent: "+b)};_.I.VX=function(a){var b=window;b.removeEventListener?b.removeEventListener("mousemove",a,!1):b.detachEvent?b.detachEvent("onmousemove",a):_.Ra("cannot removeBrowserEvent: mousemove")}; _.bk=function(){function a(){e[0]=1732584193;e[1]=4023233417;e[2]=2562383102;e[3]=271733878;e[4]=3285377520;p=n=0}function b(a){for(var b=h,c=0;64>c;c+=4)b[c/4]=a[c]<<24|a[c+1]<<16|a[c+2]<<8|a[c+3];for(c=16;80>c;c++)a=b[c-3]^b[c-8]^b[c-14]^b[c-16],b[c]=(a<<1|a>>>31)&4294967295;a=e[0];var d=e[1],f=e[2],k=e[3],l=e[4];for(c=0;80>c;c++){if(40>c)if(20>c){var n=k^d&(f^k);var p=1518500249}else n=d^f^k,p=1859775393;else 60>c?(n=d&f|k&(d|f),p=2400959708):(n=d^f^k,p=3395469782);n=((a<<5|a>>>27)&4294967295)+ n+l+p+b[c]&4294967295;l=k;k=f;f=(d<<30|d>>>2)&4294967295;d=a;a=n}e[0]=e[0]+a&4294967295;e[1]=e[1]+d&4294967295;e[2]=e[2]+f&4294967295;e[3]=e[3]+k&4294967295;e[4]=e[4]+l&4294967295}function c(a,c){if("string"===typeof a){a=(0,window.unescape)((0,window.encodeURIComponent)(a));for(var d=[],e=0,h=a.length;e<h;++e)d.push(a.charCodeAt(e));a=d}c||(c=a.length);d=0;if(0==n)for(;d+64<c;)b(a.slice(d,d+64)),d+=64,p+=64;for(;d<c;)if(f[n++]=a[d++],p++,64==n)for(n=0,b(f);d+64<c;)b(a.slice(d,d+64)),d+=64,p+=64} function d(){var a=[],d=8*p;56>n?c(k,56-n):c(k,64-(n-56));for(var h=63;56<=h;h--)f[h]=d&255,d>>>=8;b(f);for(h=d=0;5>h;h++)for(var l=24;0<=l;l-=8)a[d++]=e[h]>>l&255;return a}for(var e=[],f=[],h=[],k=[128],l=1;64>l;++l)k[l]=0;var n,p;a();return{reset:a,update:c,digest:d,Ig:function(){for(var a=d(),b="",c=0;c<a.length;c++)b+="0123456789ABCDEF".charAt(Math.floor(a[c]/16))+"0123456789ABCDEF".charAt(a[c]%16);return b}}}; _.ck=function(){function a(a){var b=_.bk();b.update(a);return b.Ig()}var b=window.crypto;if(b&&"function"==typeof b.getRandomValues)return function(){var a=new window.Uint32Array(1);b.getRandomValues(a);return Number("0."+a[0])};var c=_.H("random/maxObserveMousemove");null==c&&(c=-1);var d=0,e=Math.random(),f=1,h=1E6*(window.screen.width*window.screen.width+window.screen.height),k=function(a){a=a||window.event;var b=a.screenX+a.clientX<<16;b+=a.screenY+a.clientY;b*=(new Date).getTime()%1E6;f=f*b% h;0<c&&++d==c&&_.I.VX(k)};0!=c&&_.I.Hs(window,"mousemove",k,!1);var l=a(window.document.cookie+"|"+window.document.location+"|"+(new Date).getTime()+"|"+e);return function(){var b=f;b+=(0,window.parseInt)(l.substr(0,20),16);l=a(l);return b/(h+Math.pow(16,20))}}(); _.w("shindig.random",_.ck); _.I=_.I||{};(function(){var a=[];_.I.P9=function(b){a.push(b)};_.I.c$=function(){for(var b=0,c=a.length;b<c;++b)a[b]()}})(); _.we=function(){var a=window.gadgets&&window.gadgets.config&&window.gadgets.config.get;a&&_.le(a());return{register:function(a,c,d){d&&d(_.H())},get:function(a){return _.H(a)},update:function(a,c){if(c)throw"Config replacement is not supported";_.le(a)},Pb:function(){}}}(); _.w("gadgets.config.register",_.we.register);_.w("gadgets.config.get",_.we.get);_.w("gadgets.config.init",_.we.Pb);_.w("gadgets.config.update",_.we.update); var jf;_.gf=function(){var a=_.Qd.readyState;return"complete"===a||"interactive"===a&&-1==window.navigator.userAgent.indexOf("MSIE")};_.hf=function(a){if(_.gf())a();else{var b=!1,c=function(){if(!b)return b=!0,a.apply(this,arguments)};_.Nd.addEventListener?(_.Nd.addEventListener("load",c,!1),_.Nd.addEventListener("DOMContentLoaded",c,!1)):_.Nd.attachEvent&&(_.Nd.attachEvent("onreadystatechange",function(){_.gf()&&c.apply(this,arguments)}),_.Nd.attachEvent("onload",c))}};jf=jf||{};jf.HK=null; jf.zJ=null;jf.uu=null;jf.frameElement=null; jf=jf||{}; jf.ZD||(jf.ZD=function(){function a(a,b,c){"undefined"!=typeof window.addEventListener?window.addEventListener(a,b,c):"undefined"!=typeof window.attachEvent&&window.attachEvent("on"+a,b);"message"===a&&(window.___jsl=window.___jsl||{},a=window.___jsl,a.RPMQ=a.RPMQ||[],a.RPMQ.push(b))}function b(a){var b=_.cf(a.data);if(b&&b.f){(0,_.oe)("gadgets.rpc.receive("+window.name+"): "+a.data);var d=_.K.Bl(b.f);e&&("undefined"!==typeof a.origin?a.origin!==d:a.domain!==/^.+:\/\/([^:]+).*/.exec(d)[1])?_.Sa("Invalid rpc message origin. "+ d+" vs "+(a.origin||"")):c(b,a.origin)}}var c,d,e=!0;return{ZG:function(){return"wpm"},RV:function(){return!0},Pb:function(f,h){_.we.register("rpc",null,function(a){"true"===String((a&&a.rpc||{}).disableForceSecure)&&(e=!1)});c=f;d=h;a("message",b,!1);d("..",!0);return!0},Dc:function(a){d(a,!0);return!0},call:function(a,b,c){var d=_.K.Bl(a),e=_.K.bF(a);d?window.setTimeout(function(){var a=_.df(c);(0,_.oe)("gadgets.rpc.send("+window.name+"): "+a);e.postMessage(a,d)},0):".."!=a&&_.Sa("No relay set (used as window.postMessage targetOrigin), cannot send cross-domain message"); return!0}}}()); if(window.gadgets&&window.gadgets.rpc)"undefined"!=typeof _.K&&_.K||(_.K=window.gadgets.rpc,_.K.config=_.K.config,_.K.register=_.K.register,_.K.unregister=_.K.unregister,_.K.qK=_.K.registerDefault,_.K.oM=_.K.unregisterDefault,_.K.RG=_.K.forceParentVerifiable,_.K.call=_.K.call,_.K.kq=_.K.getRelayUrl,_.K.Ph=_.K.setRelayUrl,_.K.ew=_.K.setAuthToken,_.K.Hr=_.K.setupReceiver,_.K.fl=_.K.getAuthToken,_.K.kC=_.K.removeReceiver,_.K.uH=_.K.getRelayChannel,_.K.nK=_.K.receive,_.K.pK=_.K.receiveSameDomain,_.K.Qa= _.K.getOrigin,_.K.Bl=_.K.getTargetOrigin,_.K.bF=_.K._getTargetWin,_.K.xP=_.K._parseSiblingId);else{_.K=function(){function a(a,b){if(!aa[a]){var c=R;b||(c=ka);aa[a]=c;b=la[a]||[];for(var d=0;d<b.length;++d){var e=b[d];e.t=G[a];c.call(a,e.f,e)}la[a]=[]}}function b(){function a(){Ga=!0}N||("undefined"!=typeof window.addEventListener?window.addEventListener("unload",a,!1):"undefined"!=typeof window.attachEvent&&window.attachEvent("onunload",a),N=!0)}function c(a,c,d,e,f){G[c]&&G[c]===d||(_.Sa("Invalid gadgets.rpc token. "+ G[c]+" vs "+d),ua(c,2));f.onunload=function(){J[c]&&!Ga&&(ua(c,1),_.K.kC(c))};b();e=_.cf((0,window.decodeURIComponent)(e))}function d(b,c){if(b&&"string"===typeof b.s&&"string"===typeof b.f&&b.a instanceof Array)if(G[b.f]&&G[b.f]!==b.t&&(_.Sa("Invalid gadgets.rpc token. "+G[b.f]+" vs "+b.t),ua(b.f,2)),"__ack"===b.s)window.setTimeout(function(){a(b.f,!0)},0);else{b.c&&(b.callback=function(a){_.K.call(b.f,(b.g?"legacy__":"")+"__cb",null,b.c,a)});if(c){var d=e(c);b.origin=c;var f=b.r;try{var h=e(f)}catch(Ha){}f&& h==d||(f=c);b.referer=f}c=(y[b.s]||y[""]).apply(b,b.a);b.c&&"undefined"!==typeof c&&_.K.call(b.f,"__cb",null,b.c,c)}}function e(a){if(!a)return"";a=a.split("#")[0].split("?")[0];a=a.toLowerCase();0==a.indexOf("//")&&(a=window.location.protocol+a);-1==a.indexOf("://")&&(a=window.location.protocol+"//"+a);var b=a.substring(a.indexOf("://")+3),c=b.indexOf("/");-1!=c&&(b=b.substring(0,c));a=a.substring(0,a.indexOf("://"));if("http"!==a&&"https"!==a&&"chrome-extension"!==a&&"file"!==a&&"android-app"!== a&&"chrome-search"!==a)throw Error("p");c="";var d=b.indexOf(":");if(-1!=d){var e=b.substring(d+1);b=b.substring(0,d);if("http"===a&&"80"!==e||"https"===a&&"443"!==e)c=":"+e}return a+"://"+b+c}function f(a){if("/"==a.charAt(0)){var b=a.indexOf("|");return{id:0<b?a.substring(1,b):a.substring(1),origin:0<b?a.substring(b+1):null}}return null}function h(a){if("undefined"===typeof a||".."===a)return window.parent;var b=f(a);if(b)return window.top.frames[b.id];a=String(a);return(b=window.frames[a])?b:(b= window.document.getElementById(a))&&b.contentWindow?b.contentWindow:null}function k(a,b){if(!0!==J[a]){"undefined"===typeof J[a]&&(J[a]=0);var c=h(a);".."!==a&&null==c||!0!==R.Dc(a,b)?!0!==J[a]&&10>J[a]++?window.setTimeout(function(){k(a,b)},500):(aa[a]=ka,J[a]=!0):J[a]=!0}}function l(a){(a=F[a])&&"/"===a.substring(0,1)&&(a="/"===a.substring(1,2)?window.document.location.protocol+a:window.document.location.protocol+"//"+window.document.location.host+a);return a}function n(a,b,c){b&&!/http(s)?:\/\/.+/.test(b)&& (0==b.indexOf("//")?b=window.location.protocol+b:"/"==b.charAt(0)?b=window.location.protocol+"//"+window.location.host+b:-1==b.indexOf("://")&&(b=window.location.protocol+"//"+b));F[a]=b;"undefined"!==typeof c&&(E[a]=!!c)}function p(a,b){b=b||"";G[a]=String(b);k(a,b)}function q(a){a=(a.passReferrer||"").split(":",2);za=a[0]||"none";pa=a[1]||"origin"}function t(b){"true"===String(b.useLegacyProtocol)&&(R=jf.uu||ka,R.Pb(d,a))}function x(a,b){function c(c){c=c&&c.rpc||{};q(c);var d=c.parentRelayUrl|| "";d=e(V.parent||b)+d;n("..",d,"true"===String(c.useLegacyProtocol));t(c);p("..",a)}!V.parent&&b?c({}):_.we.register("rpc",null,c)}function v(a,b,c){if(".."===a)x(c||V.rpctoken||V.ifpctok||"",b);else a:{var d=null;if("/"!=a.charAt(0)){if(!_.I)break a;d=window.document.getElementById(a);if(!d)throw Error("q
"+a);}d=d&&d.src;b=b||.K.Qa(d);n(a,b);b=.I.xc(d);p(a,c||b.rpctoken)}}var y={},F={},E={},G={},B=0,L={},J={},V={},aa={},la={},za=null,pa=null,ba=window.top!==window.self,qa=window.name,ua=function(){}, db=window.console,ra=db&&db.log&&function(a){db.log(a)}||function(){},ka=function(){function a(a){return function(){ra(a+": call ignored")}}return{ZG:function(){return"noop"},RV:function(){return!0},Pb:a("init"),Dc:a("setup"),call:a("call")}}();.I&&(V=.I.xc());var Ga=!1,N=!1,R=function(){if("rmr"==V.rpctx)return jf.HK;var a="function"===typeof window.postMessage?jf.ZD:"object"===typeof window.postMessage?jf.ZD:window.ActiveXObject?jf.zJ?jf.zJ:jf.uu:0<window.navigator.userAgent.indexOf("WebKit")? jf.HK:"Gecko"===window.navigator.product?jf.frameElement:jf.uu;a||(a=ka);return a}();y[""]=function(){ra("Unknown RPC service: "+this.s)};y.__cb=function(a,b){var c=L[a];c&&(delete L[a],c.call(this,b))};return{config:function(a){"function"===typeof a.MK&&(ua=a.MK)},register:function(a,b){if("__cb"===a||"ack"===a)throw Error("r");if(""===a)throw Error("s");y[a]=b},unregister:function(a){if("cb"===a||"ack"===a)throw Error("t");if(""===a)throw Error("u");delete y[a]},qK:function(a){y[""]=a},oM:function(){delete y[""]}, RG:function(){},call:function(a,b,c,d){a=a||"..";var e="..";".."===a?e=qa:"/"==a.charAt(0)&&(e=_.K.Qa(window.location.href),e="/"+qa+(e?"|"+e:""));++B;c&&(L[B]=c);var h={s:b,f:e,c:c?B:0,a:Array.prototype.slice.call(arguments,3),t:G[a],l:!!E[a]};a:if("bidir"===za||"c2p"===za&&".."===a||"p2c"===za&&".."!==a){var k=window.location.href;var l="?";if("query"===pa)l="#";else if("hash"===pa)break a;l=k.lastIndexOf(l);l=-1===l?k.length:l;k=k.substring(0,l)}else k=null;k&&(h.r=k);if(".."===a||null!=f(a)|| window.document.getElementById(a))(k=aa[a])||null===f(a)||(k=R),0===b.indexOf("legacy")&&(k=R,h.s=b.substring(8),h.c=h.c?h.c:B),h.g=!0,h.r=e,k?(E[a]&&(k=jf.uu),!1===k.call(a,e,h)&&(aa[a]=ka,R.call(a,e,h))):la[a]?la[a].push(h):la[a]=[h]},kq:l,Ph:n,ew:p,Hr:v,fl:function(a){return G[a]},kC:function(a){delete F[a];delete E[a];delete G[a];delete J[a];delete aa[a]},uH:function(){return R.ZG()},nK:function(a,b){4<a.length?R.V7(a,d):c.apply(null,a.concat(b))},pK:function(a){a.a=Array.prototype.slice.call(a.a); window.setTimeout(function(){d(a)},0)},Qa:e,Bl:function(a){var b=null,c=l(a);c?b=c:(c=f(a))?b=c.origin:".."==a?b=V.parent:(a=window.document.getElementById(a))&&"iframe"===a.tagName.toLowerCase()&&(b=a.src);return e(b)},Pb:function(){!1===R.Pb(d,a)&&(R=ka);ba?v(".."):.we.register("rpc",null,function(a){a=a.rpc||{};q(a);t(a)})},bF:h,xP:f,c0:"__ack",E5:qa||"..",T5:0,S5:1,R5:2}}();.K.Pb()}; .K.config({MK:function(a){throw Error("v`"+a);}});.oe=.ve;.w("gadgets.rpc.config",.K.config);.w("gadgets.rpc.register",.K.register);.w("gadgets.rpc.unregister",.K.unregister);.w("gadgets.rpc.registerDefault",.K.qK);.w("gadgets.rpc.unregisterDefault",.K.oM);.w("gadgets.rpc.forceParentVerifiable",.K.RG);.w("gadgets.rpc.call",.K.call);.w("gadgets.rpc.getRelayUrl",.K.kq);.w("gadgets.rpc.setRelayUrl",.K.Ph);.w("gadgets.rpc.setAuthToken",.K.ew);.w("gadgets.rpc.setupReceiver",.K.Hr);.w("gadgets.rpc.getAuthToken",.K.fl); .w("gadgets.rpc.removeReceiver",.K.kC);.w("gadgets.rpc.getRelayChannel",.K.uH);.w("gadgets.rpc.receive",.K.nK);.w("gadgets.rpc.receiveSameDomain",.K.pK);.w("gadgets.rpc.getOrigin",.K.Qa);.w("gadgets.rpc.getTargetOrigin",.K.Bl); var dk=function(a){return{execute:function(b){var c={method:a.httpMethod||"GET",root:a.root,path:a.url,params:a.urlParams,headers:a.headers,body:a.body},d=window.gapi,e=function(){var a=d.config.get("client/apiKey"),e=d.config.get("client/version");try{var k=d.config.get("googleapis.config/developerKey"),l=d.config.get("client/apiKey",k);d.config.update("client/apiKey",l);d.config.update("client/version","1.0.0-alpha");var n=d.client;n.request.call(n,c).then(b,b)}finally{d.config.update("client/apiKey", a),d.config.update("client/version",e)}};d.client?e():d.load.call(d,"client",e)}}},ek=function(a,b){return function(c){var d={};c=c.body;var e=.cf(c),f={};if(e&&e.length)for(var h=0,k=e.length;h<k;++h){var l=e[h];f[l.id]=l}h=0;for(k=b.length;h<k;++h)l=b[h].id,d[l]=e&&e.length?f[l]:e;a(d,c)}},fk=function(a){a.transport={name:"googleapis",execute:function(b,c){for(var d=[],e=0,f=b.length;e<f;++e){var h=b[e],k=h.method,l=String(k).split(".")[0];l=.H("googleapis.config/versions/"+k)||.H("googleapis.config/versions/"+ l)||"v1";d.push({jsonrpc:"2.0",id:h.id,method:k,apiVersion:String(l),params:h.params})}b=dk({httpMethod:"POST",root:a.transport.root,url:"/rpc?pp=0",headers:{"Content-Type":"application/json"},body:d});b.execute.call(b,ek(c,d))},root:void 0}},gk=function(a){var b=this.method,c=this.transport;c.execute.call(c,[{method:b,id:b,params:this.rpc}],function(c){c=c[b];c.error||(c=c.data||c.result);a(c)})},ik=function(){for(var a=hk,b=a.split("."),c=function(b){b=b||{};b.groupId=b.groupId||"@self";b.userId= b.userId||"@viewer";b={method:a,rpc:b||{}};fk(b);b.execute=gk;return b},d=.m,e=0,f=b.length;e<f;++e){var h=d[b[e]]||{};e+1==f&&(h=c);d=d[b[e]]=h}if(1<b.length&&"googleapis"!=b[0])for(b[0]="googleapis","delete"==b[b.length-1]&&(b[b.length-1]="remove"),d=.m,e=0,f=b.length;e<f;++e)h=d[b[e]]||{},e+1==f&&(h=c),d=d[b[e]]=h},hk;for(hk in .H("googleapis.config/methods"))ik(); .w("googleapis.newHttpRequest",function(a){return dk(a)});.w("googleapis.setUrlParameter",function(a,b){if("trace"!==a)throw Error("M");.le("client/trace",b)}); .fp=.Td(.ce,"rw",.D()); var gp=function(a,b){(a=.fp[a])&&a.state<b&&(a.state=b)};var hp=function(a){a=(a=.fp[a])?a.oid:void 0;if(a){var b=.Qd.getElementById(a);b&&b.parentNode.removeChild(b);delete .fp[a];hp(a)}};.ip=function(a){a=a.container;"string"===typeof a&&(a=window.document.getElementById(a));return a};.jp=function(a){var b=a.clientWidth;return"position:absolute;top:-10000px;width:"+(b?b+"px":a.style.width||"300px")+";margin:0px;border-style:none;"}; .kp=function(a,b){var c={},d=a.Ob(),e=b&&b.width,f=b&&b.height,h=b&&b.verticalAlign;h&&(c.verticalAlign=h);e||(e=d.width||a.width);f||(f=d.height||a.height);d.width=c.width=e;d.height=c.height=f;d=a.Ha();e=a.ka();gp(e,2);a:{e=a.$a();c=c||{};if(.ce.oa){var k=d.id;if(k){f=(f=.fp[k])?f.state:void 0;if(1===f||4===f)break a;hp(k)}}(f=e.nextSibling)&&f.getAttribute&&f.getAttribute("data-gapistub")&&(e.parentNode.removeChild(f),e.style.cssText="");f=c.width;h=c.height;var l=e.style;l.textIndent="0";l.margin= "0";l.padding="0";l.background="transparent";l.borderStyle="none";l.cssFloat="none";l.styleFloat="none";l.lineHeight="normal";l.fontSize="1px";l.verticalAlign="baseline";e=e.style;e.display="inline-block";d=d.style;d.position="static";d.left="0";d.top="0";d.visibility="visible";f&&(e.width=d.width=f+"px");h&&(e.height=d.height=h+"px");c.verticalAlign&&(e.verticalAlign=c.verticalAlign);k&&gp(k,3)}(k=b?b.title:null)&&a.Ha().setAttribute("title",k);(b=b?b.ariaLabel:null)&&a.Ha().setAttribute("aria-label", b)};.lp=function(a){var b=a.$a();b&&b.removeChild(a.Ha())};.mp=function(a){a.where=.ip(a);var b=a.messageHandlers=a.messageHandlers||{},c=function(a){.kp(this,a)};b.ready=c;b.renderstart=c;var d=a.onClose;a.onClose=function(a){d&&d.call(this,a);.lp(this)};a.onCreate=function(a){a=a.Ha();a.style.cssText=.jp(a)}}; var Yj=.Xj=.Xj||{};window.jsl=window.jsl||{};Yj.Mx={E8:function(){return window.jsl.bsh},iH:function(){return window.jsl.h},KC:function(a){window.jsl.bsh=a},qZ:function(a){window.jsl.h=a}}; .I=.I||{};.I.Yu=function(a,b,c){for(var d=[],e=2,f=arguments.length;e<f;++e)d.push(arguments[e]);return function(){for(var c=d.slice(),e=0,f=arguments.length;e<f;++e)c.push(arguments[e]);return b.apply(a,c)}};.I.Rq=function(a){var b,c,d={};for(b=0;c=a[b];++b)d[c]=c;return d}; .I=.I||{}; (function(){function a(a,b){return String.fromCharCode(b)}var b={0:!1,10:!0,13:!0,34:!0,39:!0,60:!0,62:!0,92:!0,8232:!0,8233:!0,65282:!0,65287:!0,65308:!0,65310:!0,65340:!0};.I.escape=function(a,b){if(a){if("string"===typeof a)return .I.Ft(a);if("Array"===typeof a){var c=0;for(b=a.length;c<b;++c)a[c]=.I.escape(a[c])}else if("object"===typeof a&&b){b={};for(c in a)a.hasOwnProperty(c)&&(b[.I.Ft(c)]=.I.escape(a[c],!0));return b}}return a};.I.Ft=function(a){if(!a)return a;for(var c=[],e,f,h=0,k= a.length;h<k;++h)e=a.charCodeAt(h),f=b[e],!0===f?c.push("&#",e,";"):!1!==f&&c.push(a.charAt(h));return c.join("")};.I.x$=function(b){return b?b.replace(/&#([0-9]+);/g,a):b}})(); .O={};.op={};window.iframer=.op; .O.Ia=.O.Ia||{};.O.Ia.fQ=function(a){try{return!!a.document}catch(b){}return!1};.O.Ia.DH=function(a){var b=a.parent;return a!=b&&.O.Ia.fQ(b)?.O.Ia.DH(b):a};.O.Ia.Z8=function(a){var b=a.userAgent||"";a=a.product||"";return 0!=b.indexOf("Opera")&&-1==b.indexOf("WebKit")&&"Gecko"==a&&0<b.indexOf("rv:1.")}; var Mr,Nr,Or,Qr,Rr,Sr,Xr,Yr,Zr,$r,bs,cs,ds,fs,gs,is;Mr=function(){.O.tI++;return["I",.O.tI,"",(new Date).getTime()].join("")};Nr=function(a){return a instanceof Array?a.join(","):a instanceof Object?.df(a):a};Or=function(){};Qr=function(a){a&&a.match(Pr)&&.le("googleapis.config/gcv",a)};Rr=function(a){.Xj.Mx.qZ(a)};Sr=function(a){.Xj.Mx.KC(a)};.Tr=function(a,b){b=b||{};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}; .Vr=function(a,b,c,d,e){var f=[],h;for(h in a)if(a.hasOwnProperty(h)){var k=b,l=c,n=a[h],p=d,q=Ur(h);q[k]=q[k]||{};p=.I.Yu(p,n);n.iframe_wrapped_rpc&&(p.iframe_wrapped_rpc=!0);q[k][l]=p;f.push(h)}if(e)for(h in .O.tn).O.tn.hasOwnProperty(h)&&f.push(h);return f.join(",")};Xr=function(a,b,c){var d={};if(a&&a.methods){a=a.methods.split(",");for(var e=0;e<a.length;e++){var f=a[e];d[f]=Wr(f,b,c)}}return d}; Yr=function(a){if(a&&a.disableMultiLevelParentRelay)a=!1;else{var b;if(b=.op&&.op.open&&"inline"!=a.style&&!0!==a.inline)a=a.container,b=!(a&&("string"==typeof a&&window.document.getElementById(a)||window.document==(a.ownerDocument||a.document)));a=b}return a};Zr=function(a,b){var c={};b=b.params||{};for(var d in a)"#"==d.charAt(0)&&(c[d.substring(1)]=a[d]),0==d.indexOf("fr-")&&(c[d.substring(3)]=a[d]),"#"==b[d]&&(c[d]=a[d]);for(var e in c)delete a["fr-"+e],delete a["#"+e],delete a[e];return c}; $r=function(a){if(":"==a.charAt(0)){var b=.H("iframes/"+a.substring(1));a={};.Vd(b,a);(b=a.url)&&(a.url=.In(b));a.params||(a.params={});return a}return{url:.In(a)}};bs=function(a){function b(){}b.prototype=as.prototype;a.prototype=new b};cs=function(a){return .O.Rr[a]};ds=function(a,b){.O.Rr[a]=b};fs=function(a){a=a||{};"auto"===a.height&&(a.height=.Jm.Xc());var b=window&&es&&es.Na();b?b.DK(a.width||0,a.height||0):.op&&.op.resizeMe&&.op.resizeMe(a)};gs=function(a){Qr(a)}; .hs=function(){return .Nd.location.origin||.Nd.location.protocol+"//"+.Nd.location.host};is=function(a){var b=.Xd(a.location.href,"urlindex");if(b=.Td(.ce,"fUrl",[])[b]){var c=a.location.hash;b+=/#/.test(b)?c.replace(/^#/,"&"):c;a.location.replace(b)}}; if(window.ToolbarApi)es=window.ToolbarApi,es.Na=window.ToolbarApi.getInstance,es.prototype=window.ToolbarApi.prototype,.g=es.prototype,.g.openWindow=es.prototype.openWindow,.g.XF=es.prototype.closeWindow,.g.nL=es.prototype.setOnCloseHandler,.g.KF=es.prototype.canClosePopup,.g.DK=es.prototype.resizeWindow;else{var es=function(){},js=null;es.Na=function(){!js&&window.external&&window.external.GTB_IsToolbar&&(js=new es);return js};.g=es.prototype;.g.openWindow=function(a){return window.external.GTB_OpenPopup&& window.external.GTB_OpenPopup(a)};.g.XF=function(a){window.external.GTB_ClosePopupWindow&&window.external.GTB_ClosePopupWindow(a)};.g.nL=function(a,b){window.external.GTB_SetOnCloseHandler&&window.external.GTB_SetOnCloseHandler(a,b)};.g.KF=function(a){return window.external.GTB_CanClosePopup&&window.external.GTB_CanClosePopup(a)};.g.DK=function(a,b){return window.external.GTB_ResizeWindow&&window.external.GTB_ResizeWindow(a,b)};window.ToolbarApi=es;window.ToolbarApi.getInstance=es.Na}; var ks=function(){.K.register("noop_echo",function(){this.callback(.O.RS(.O.Tj[this.f]))})},ls=function(){window.setTimeout(function(){.K.call("..","noop_echo",.O.pX)},0)},Wr=function(a,b,c){var d=function(d){var e=Array.prototype.slice.call(arguments,0),h=e[e.length-1];if("function"===typeof h){var k=h;e.pop()}e.unshift(b,a,k,c);.K.call.apply(.K,e)};d.iframe_wrapped_rpc=!0;return d},Ur=function(a){.O.Lv[a]||(.O.Lv[a]={},.K.register(a,function(b,c){var d=this.f;if(!("string"!=typeof b|| b in{}||d in{})){var e=this.callback,f=.O.Lv[a][d],h;f&&Object.hasOwnProperty.call(f,b)?h=f[b]:Object.hasOwnProperty.call(.O.tn,a)&&(h=.O.tn[a]);if(h)return d=Array.prototype.slice.call(arguments,1),h.iframe_wrapped_rpc&&e&&d.push(e),h.apply({},d)}.Sa(['Unregistered call in window "',window.name,'" for method "',a,'", via proxyId "',b,'" from frame "',d,'".'].join(""));return null}));return .O.Lv[a]}; .O.cQ=function(a,b,c){var d=Array.prototype.slice.call(arguments);.O.qH(function(a){a.sameOrigin&&(d.unshift("/"+a.claimedOpenerId+"|"+window.location.protocol+"//"+window.location.host),.K.call.apply(.K,d))})};.O.RX=function(a,b){.K.register(a,b)}; var Pr=/^[-.0-9A-Za-z]+$/,ms={open:"open",onready:"ready",close:"close",onresize:"resize",onOpen:"open",onReady:"ready",onClose:"close",onResize:"resize",onRenderStart:"renderstart"},ns={onBeforeParentOpen:"beforeparentopen"},os={onOpen:function(a){var b=a.Ob();a.Bf(b.container||b.element);return a},onClose:function(a){a.remove()}};.O.hn=function(a){var b=.D();.Vd(.wn,b);.Vd(a,b);return b}; var as=function(a,b,c,d,e,f,h,k){this.config=$r(a);this.openParams=this.fr=b||{};this.params=c||{};this.methods=d;this.ww=!1;ps(this,b.style);this.jp={};qs(this,function(){var a;(a=this.fr.style)&&.O.Rr[a]?a=.O.Rr[a]:a?(.Ra(['Missing handler for style "',a,'". Continuing with default handler.'].join("")),a=null):a=os;if(a){if("function"===typeof a)var b=a(this);else{var c={};for(b in a){var d=a[b];c[b]="function"===typeof d?.I.Yu(a,d,this):d}b=c}for(var h in e)a=b[h],"function"===typeof a&&rs(this, e[h],.I.Yu(b,a))}f&&rs(this,"close",f)});this.Ki=this.ac=h;this.HB=(k||[]).slice();h&&this.HB.unshift(h.ka())};as.prototype.Ob=function(){return this.fr};as.prototype.Nj=function(){return this.params};as.prototype.Xt=function(){return this.methods};as.prototype.Qc=function(){return this.Ki};var ps=function(a,b){a.ww||((b=b&&!.O.Rr[b]&&.O.wy[b])?(a.vy=[],b(function(){a.ww=!0;for(var b=0,d=a.vy.length;b<d;++b)a.vy[b].call(a)})):a.ww=!0)},qs=function(a,b){a.ww?b.call(a):a.vy.push(b)}; as.prototype.Uc=function(a,b){qs(this,function(){rs(this,a,b)})};var rs=function(a,b,c){a.jp[b]=a.jp[b]||[];a.jp[b].push(c)};as.prototype.cm=function(a,b){qs(this,function(){var c=this.jp[a];if(c)for(var d=0,e=c.length;d<e;++d)if(c[d]===b){c.splice(d,1);break}})}; as.prototype.Og=function(a,b){var c=this.jp[a];if(c)for(var d=Array.prototype.slice.call(arguments,1),e=0,f=c.length;e<f;++e)try{var h=c[e].apply({},d)}catch(k){.Sa(['Exception when calling callback "',a,'" with exception "',k.name,": ",k.message,'".'].join(""))}return h}; var ss=function(a){return"number"==typeof a?{value:a,oz:a+"px"}:"100%"==a?{value:100,oz:"100%",QI:!0}:null},ts=function(a,b,c,d,e,f,h){as.call(this,a,b,c,d,ms,e,f,h);this.id=b.id||Mr();this.wr=b.rpctoken&&String(b.rpctoken)||Math.round(1E9*(0,.ck)());this.WU=Zr(this.params,this.config);this.ez={};qs(this,function(){this.Og("open");.Tr(this.ez,this)})};bs(ts);.g=ts.prototype; .g.Bf=function(a,b){if(!this.config.url)return .Sa("Cannot open iframe, empty URL."),this;var c=this.id;.O.Tj[c]=this;var d=.Tr(this.methods);d.ready=this.uv;d.close=this.close;d.open=this.vv;d.resizeMe=this.Yn;d.renderstart=this.PJ;var e=this.WU;this.wr&&(e.rpctoken=this.wr);e.methods=.Vr(d,c,"",this,!0);this.el=a="string"===typeof a?window.document.getElementById(a):a;d={};d.id=c;if(b){d.attributes=b;var f=b.style;if("string"===typeof f){if(f){var h=[];f=f.split(";");for(var k=0,l=f.length;k< l;++k){var n=f[k];if(0!=n.length||k+1!=l)n=n.split(":"),2==n.length&&n[0].match(/^[ a-zA-Z-]+$/)&&n[1].match(/^[ +.%0-9a-zA-Z-]+$/)?h.push(n.join(":")):.Sa(['Iframe style "',f[k],'" not allowed.'].join(""))}h=h.join(";")}else h="";b.style=h}}this.Ob().allowPost&&(d.allowPost=!0);this.Ob().forcePost&&(d.forcePost=!0);d.queryParams=this.params;d.fragmentParams=e;d.paramsSerializer=Nr;this.Qg=.Kn(this.config.url,a,d);a=this.Qg.getAttribute("data-postorigin")||this.Qg.src;.O.Tj[c]=this;.K.ew(this.id, this.wr);.K.Ph(this.id,a);return this};.g.le=function(a,b){this.ez[a]=b};.g.ka=function(){return this.id};.g.Ha=function(){return this.Qg};.g.$a=function(){return this.el};.g.Ze=function(a){this.el=a};.g.uv=function(a){var b=Xr(a,this.id,"");this.Ki&&"function"==typeof this.methods.ready&&(a.methods=.Vr(b,this.Ki.ka(),this.id,this,!1),this.methods.ready(a));.Tr(a,this);.Tr(b,this);this.Og("ready",a)};.g.PJ=function(a){this.Og("renderstart",a)}; .g.close=function(a){a=this.Og("close",a);delete .O.Tj[this.id];return a};.g.remove=function(){var a=window.document.getElementById(this.id);a&&a.parentNode&&a.parentNode.removeChild(a)}; .g.vv=function(a){var b=Xr(a.params,this.id,a.proxyId);delete a.params.methods;"parent"==a.openParams.anchor&&(a.openParams.anchor=this.el);if(Yr(a.openParams))new us(a.url,a.openParams,a.params,b,b.onclose,this,a.openedByProxyChain);else{var c=new ts(a.url,a.openParams,a.params,b,b.onclose,this,a.openedByProxyChain),d=this;qs(c,function(){var a={childId:c.ka()},f=c.ez;f.toclose=c.close;a.methods=.Vr(f,d.id,c.id,c,!1);b.onopen(a)})}}; .g.Yn=function(a){if(void 0===this.Og("resize",a)&&this.Qg){var b=ss(a.width);null!=b&&(this.Qg.style.width=b.oz);a=ss(a.height);null!=a&&(this.Qg.style.height=a.oz);this.Qg.parentElement&&(null!=b&&b.QI||null!=a&&a.QI)&&(this.Qg.parentElement.style.display="block")}}; var us=function(a,b,c,d,e,f,h){as.call(this,a,b,c,d,ns,e,f,h);this.url=a;this.xm=null;this.cC=Mr();qs(this,function(){this.Og("beforeparentopen");var a=.Tr(this.methods);a.onopen=this.fX;a.ready=this.uv;a.onclose=this.dX;this.params.methods=.Vr(a,"..",this.cC,this,!0);a={};for(c in this.params)a[c]=Nr(this.params[c]);var b=this.config.url;if(this.fr.hideUrlFromParent){var c=window.name;var d=b;b=.ln(this.config.url,this.params,{},Nr);var e=a;a={};a.methods=e.methods;a["#opener"]=e["#opener"]; a["#urlindex"]=e["#urlindex"];a["#opener"]&&void 0!=e["#urlindex"]?(a["#opener"]=c+","+a["#opener"],c=d):(d=.Td(.ce,"fUrl",[]),e=d.length,d[e]=b,.ce.rUrl=is,a["#opener"]=c,a["#urlindex"]=e,c=.Xj.Qa(.Nd.location.href),b=.H("iframes/relay_url"+(0,window.encodeURIComponent)(c))||"//gapi/sibling/1/frame.html",c+=b);b=c}.op.open({url:b,openParams:this.fr,params:a,proxyId:this.cC,openedByProxyChain:this.HB})})};bs(us);us.prototype.iT=function(){return this.xm}; us.prototype.fX=function(a){this.xm=a.childId;var b=Xr(a,"..",this.xm);.Tr(b,this);this.close=b.toclose;.O.Tj[this.xm]=this;this.Ki&&this.methods.onopen&&(a.methods=.Vr(b,this.Ki.ka(),this.xm,this,!1),this.methods.onopen(a))};us.prototype.uv=function(a){var b=String(this.xm),c=Xr(a,"..",b);.Tr(a,this);.Tr(c,this);this.Og("ready",a);this.Ki&&this.methods.ready&&(a.methods=.Vr(c,this.Ki.ka(),b,this,!1),this.methods.ready(a))}; us.prototype.dX=function(a){if(this.Ki&&this.methods.onclose)this.methods.onclose(a);else return a=this.Og("close",a),delete .O.Tj[this.xm],a}; var vs=function(a,b,c,d,e,f,h){as.call(this,a,b,c,d,ns,f,h);this.id=b.id||Mr();this.v=e;d.close=this.close;this.onClosed=this.JJ;this.HM=0;qs(this,function(){this.Og("beforeparentopen");var b=.Tr(this.methods);this.params.methods=.Vr(b,"..",this.cC,this,!0);b={};b.queryParams=this.params;a=.Bn(.Qd,this.config.url,this.id,b);var c=e.openWindow(a);this.canAutoClose=function(a){a(e.KF(c))};e.nL(c,this);this.HM=c})};bs(vs); vs.prototype.close=function(a){a=this.Og("close",a);this.v.XF(this.HM);return a};vs.prototype.JJ=function(){this.Og("close")}; (function(){.O.Tj={};.O.Rr={};.O.wy={};.O.tI=0;.O.Lv={};.O.tn={};.O.Bv=null;.O.Av=[];.O.pX=function(a){var b=!1;try{if(null!=a){var c=window.parent.frames[a.id];b=c.iframer.id==a.id&&c.iframes.openedId_(.op.id)}}catch(f){}try{.O.Bv={origin:this.origin,referer:this.referer,claimedOpenerId:a&&a.id,claimedOpenerProxyChain:a&&a.proxyChain||[],sameOrigin:b};for(a=0;a<.O.Av.length;++a).O.Ava;.O.Av=[]}catch(f){}};.O.RS=function(a){var b=a&&a.Ki,c=null;b&&(c={},c.id=b.ka(),c.proxyChain= a.HB);return c};ks();if(window.parent!=window){var a=.I.xc();a.gcv&&Qr(a.gcv);var b=a.jsh;b&&Rr(b);.Tr(Xr(a,"..",""),.op);.Tr(a,.op);ls()}.O.Bb=cs;.O.Xb=ds;.O.pZ=gs;.O.resize=fs;.O.ZR=function(a){return .O.wy[a]};.O.NC=function(a,b){.O.wy[a]=b};.O.CK=fs;.O.PZ=gs;.O.ou={};.O.ou.get=cs;.O.ou.set=ds;.O.EP=function(a,b){Ur(a);.O.tn[a]=b||window[a]};.O.s8=function(a){delete .O.tn[a]};.O.open=function(a,b,e,f,h,k){3==arguments.length?f={}:4==arguments.length&&"function"===typeof f&& (h=f,f={});var c="bubble"===b.style&&es?es.Na():null;return c?new vs(a,b,e,f,c,h,k):Yr(b)?new us(a,b,e,f,h,k):new ts(a,b,e,f,h,k)};.O.close=function(a,b){.op&&.op.close&&.op.close(a,b)};.O.ready=function(a,b,e){2==arguments.length&&"function"===typeof b&&(e=b,b={});var c=a||{};"height"in c||(c.height=.Jm.Xc());c.methods=.Vr(b||{},"..","",.op,!0);.op&&.op.ready&&.op.ready(c,e)};.O.qH=function(a){.O.Bv?a(.O.Bv):.O.Av.push(a)};.O.jX=function(a){return!!.O.Tj[a]};.O.kS=function(){return["https://ssl.gstatic.com/gb/js/", .H("googleapis.config/gcv")].join("")};.O.jK=function(a){var b={mouseover:1,mouseout:1};if(.op.event)for(var c=0;c<a.length;c++){var f=a[c];f in b&&.I.Hs(window.document,f,function(a){.op.event({event:a.type,timestamp:(new Date).getTime()})},!0)}};.O.zZ=Rr;.O.KC=Sr;.O.gJ=Or;.O.vI=.op})(); .w("iframes.allow",.O.EP);.w("iframes.callSiblingOpener",.O.cQ);.w("iframes.registerForOpenedSibling",.O.RX);.w("iframes.close",.O.close);.w("iframes.getGoogleConnectJsUri",.O.kS);.w("iframes.getHandler",.O.Bb);.w("iframes.getDeferredHandler",.O.ZR);.w("iframes.getParentInfo",.O.qH);.w("iframes.iframer",.O.vI);.w("iframes.open",.O.open);.w("iframes.openedId",.O.jX);.w("iframes.propagate",.O.jK);.w("iframes.ready",.O.ready);.w("iframes.resize",.O.resize); .w("iframes.setGoogleConnectJsVersion",.O.pZ);.w("iframes.setBootstrapHint",.O.KC);.w("iframes.setJsHint",.O.zZ);.w("iframes.setHandler",.O.Xb);.w("iframes.setDeferredHandler",.O.NC);.w("IframeBase",as);.w("IframeBase.prototype.addCallback",as.prototype.Uc);.w("IframeBase.prototype.getMethods",as.prototype.Xt);.w("IframeBase.prototype.getOpenerIframe",as.prototype.Qc);.w("IframeBase.prototype.getOpenParams",as.prototype.Ob);.w("IframeBase.prototype.getParams",as.prototype.Nj); .w("IframeBase.prototype.removeCallback",as.prototype.cm);.w("Iframe",ts);.w("Iframe.prototype.close",ts.prototype.close);.w("Iframe.prototype.exposeMethod",ts.prototype.le);.w("Iframe.prototype.getId",ts.prototype.ka);.w("Iframe.prototype.getIframeEl",ts.prototype.Ha);.w("Iframe.prototype.getSiteEl",ts.prototype.$a);.w("Iframe.prototype.openInto",ts.prototype.Bf);.w("Iframe.prototype.remove",ts.prototype.remove);.w("Iframe.prototype.setSiteEl",ts.prototype.Ze); .w("Iframe.prototype.addCallback",ts.prototype.Uc);.w("Iframe.prototype.getMethods",ts.prototype.Xt);.w("Iframe.prototype.getOpenerIframe",ts.prototype.Qc);.w("Iframe.prototype.getOpenParams",ts.prototype.Ob);.w("Iframe.prototype.getParams",ts.prototype.Nj);.w("Iframe.prototype.removeCallback",ts.prototype.cm);.w("IframeProxy",us);.w("IframeProxy.prototype.getTargetIframeId",us.prototype.iT);.w("IframeProxy.prototype.addCallback",us.prototype.Uc);.w("IframeProxy.prototype.getMethods",us.prototype.Xt); .w("IframeProxy.prototype.getOpenerIframe",us.prototype.Qc);.w("IframeProxy.prototype.getOpenParams",us.prototype.Ob);.w("IframeProxy.prototype.getParams",us.prototype.Nj);.w("IframeProxy.prototype.removeCallback",us.prototype.cm);.w("IframeWindow",vs);.w("IframeWindow.prototype.close",vs.prototype.close);.w("IframeWindow.prototype.onClosed",vs.prototype.JJ);.w("iframes.util.getTopMostAccessibleWindow",.O.Ia.DH);.w("iframes.handlers.get",.O.ou.get);.w("iframes.handlers.set",.O.ou.set); .w("iframes.resizeMe",.O.CK);.w("iframes.setVersionOverride",.O.PZ); as.prototype.send=function(a,b,c){.O.QK(this,a,b,c)};.op.send=function(a,b,c){.O.QK(.op,a,b,c)};as.prototype.register=function(a,b){var c=this;c.Uc(a,function(a){b.call(c,a)})};.O.QK=function(a,b,c,d){var e=[];void 0!==c&&e.push(c);d&&e.push(function(a){d.call(this,[a])});a[b]&&a[b].apply(a,e)};.O.Ho=function(){return!0};.w("iframes.CROSS_ORIGIN_IFRAMES_FILTER",.O.Ho);.w("IframeBase.prototype.send",as.prototype.send);.w("IframeBase.prototype.register",as.prototype.register); .w("Iframe.prototype.send",ts.prototype.send);.w("Iframe.prototype.register",ts.prototype.register);.w("IframeProxy.prototype.send",us.prototype.send);.w("IframeProxy.prototype.register",us.prototype.register);.w("IframeWindow.prototype.send",vs.prototype.send);.w("IframeWindow.prototype.register",vs.prototype.register);.w("iframes.iframer.send",.O.vI.send); var Iu=.O.Xb,Ju={open:function(a){var b=.ip(a.Ob());return a.Bf(b,{style:.jp(b)})},attach:function(a,b){var c=.ip(a.Ob()),d=b.id,e=b.getAttribute("data-postorigin")||b.src,f=/#(?:.&)?rpctoken=(\d+)/.exec(e);f=f&&f[1];a.id=d;a.wr=f;a.el=c;a.Qg=b;.O.Tj[d]=a;b=.Tr(a.methods);b.ready=a.uv;b.close=a.close;b.open=a.vv;b.resizeMe=a.Yn;b.renderstart=a.PJ;.Vr(b,d,"",a,!0);.K.ew(a.id,a.wr);.K.Ph(a.id,e);c=.O.hn({style:.jp(c)});for(var h in c)Object.prototype.hasOwnProperty.call(c,h)&&("style"== h?a.Qg.style.cssText=c[h]:a.Qg.setAttribute(h,c[h]))}};Ju.onready=.kp;Ju.onRenderStart=.kp;Ju.close=_.lp;Iu("inline",Ju); _.Wj=(window.gapi||{}).load; .np=.D(); _.pp=function(a){var b=window;a=(a||b.location.href).match(/.(?|#|&)usegapi=([^&#]+)/)||[];return"1"===(0,window.decodeURIComponent)(a[a.length-1]||"")}; var qp,rp,sp,tp,up,vp,zp,Ap;qp=function(a){if(.Sd.test(Object.keys))return Object.keys(a);var b=[],c;for(c in a).Ud(a,c)&&b.push(c);return b};rp=function(a,b){if(!.gf())try{a()}catch(c){}.hf(b)};sp={button:!0,div:!0,span:!0};tp=function(a){var b=.Td(.ce,"sws",[]);return 0<=.Xm.call(b,a)};up=function(a){return .Td(.ce,"watt",.D())[a]};vp=function(a){return function(b,c){return a?.Gn()[c]||a[c]||"":.Gn()[c]||""}}; .wp={apppackagename:1,callback:1,clientid:1,cookiepolicy:1,openidrealm:-1,includegrantedscopes:-1,requestvisibleactions:1,scope:1};.xp=!1; .yp=function(){if(!.xp){for(var a=window.document.getElementsByTagName("meta"),b=0;b<a.length;++b){var c=a[b].name.toLowerCase();if(.vc(c,"google-signin-")){c=c.substring(14);var d=a[b].content;.wp[c]&&d&&(.np[c]=d)}}if(window.self!==window.top){a=window.document.location.toString();for(var e in .wp)0<.wp[e]&&(b=.Xd(a,e,""))&&(.np[e]=b)}.xp=!0}e=.D();.Vd(.np,e);return e}; zp=function(a){var b;a.match(/^https?%3A/i)&&(b=(0,window.decodeURIComponent)(a));return .mn(window.document,b?b:a)};Ap=function(a){a=a||"canonical";for(var b=window.document.getElementsByTagName("link"),c=0,d=b.length;c<d;c++){var e=b[c],f=e.getAttribute("rel");if(f&&f.toLowerCase()==a&&(e=e.getAttribute("href"))&&(e=zp(e))&&null!=e.match(/^https?://[\w-.]+/i))return e}return window.location.href};.Bp=function(){return window.location.origin||window.location.protocol+"//"+window.location.host}; .Cp=function(a,b,c,d){return(a="string"==typeof a?a:void 0)?zp(a):Ap(d)};.Dp=function(a,b,c){null==a&&c&&(a=c.db,null==a&&(a=c.gwidget&&c.gwidget.db));return a||void 0};.Ep=function(a,b,c){null==a&&c&&(a=c.ecp,null==a&&(a=c.gwidget&&c.gwidget.ecp));return a||void 0}; .Fp=function(a,b,c){return .Cp(a,b,c,b.action?void 0:"publisher")};var Gp,Hp,Ip,Jp,Kp,Lp,Np,Mp;Gp={se:"0"};Hp={post:!0};Ip={style:"position:absolute;top:-10000px;width:450px;margin:0px;border-style:none"};Jp="onPlusOne ready close open resizeMe renderstart oncircled drefresh erefresh".split(" ");Kp=.Td(.ce,"WI",.D());Lp=["style","data-gapiscan"]; Np=function(a){for(var b=.D(),c=0!=a.nodeName.toLowerCase().indexOf("g:"),d=0,e=a.attributes.length;d<e;d++){var f=a.attributes[d],h=f.name,k=f.value;0<=.Xm.call(Lp,h)||c&&0!=h.indexOf("data-")||"null"===k||"specified"in f&&!f.specified||(c&&(h=h.substr(5)),b[h.toLowerCase()]=k)}a=a.style;(c=Mp(a&&a.height))&&(b.height=String(c));(a=Mp(a&&a.width))&&(b.width=String(a));return b}; .Pp=function(a,b,c,d,e,f){if(c.rd)var h=b;else h=window.document.createElement("div"),b.setAttribute("data-gapistub",!0),h.style.cssText="position:absolute;width:450px;left:-10000px;",b.parentNode.insertBefore(h,b);f.siteElement=h;h.id||(h.id=.Op(a));b=.D();b[">type"]=a;.Vd(c,b);a=.Kn(d,h,e);f.iframeNode=a;f.id=a.getAttribute("id")};.Op=function(a){.Td(Kp,a,0);return""+a+""+Kp[a]++};Mp=function(a){var b=void 0;"number"===typeof a?b=a:"string"===typeof a&&(b=(0,window.parseInt)(a,10));return b}; var Qp=function(){},Tp=function(a){var b=a.Wm,c=function(a){c.H.constructor.call(this,a);var b=this.mh.length;this.Hg=[];for(var d=0;d<b;++d)this.mh[d].p8||(this.Hg[d]=new this.mhd)};.z(c,b);for(var d=[];a;){if(b=a.Wm){b.mh&&.pe(d,b.mh);var e=b.prototype,f;for(f in e)if(e.hasOwnProperty(f)&&.Xa(e[f])&&e[f]!==b){var h=!!e[f].c8,k=Rp(f,e,d,h);(h=Sp(f,e,k,h))&&(c.prototype[f]=h)}}a=a.H&&a.H.constructor}c.prototype.mh=d;return c},Rp=function(a,b,c,d){for(var e=[],f=0;f<c.length&&(c[f].prototype[a]=== b[a]||(e.push(f),!d));++f);return e},Sp=function(a,b,c,d){return c.length?d?function(b){var d=this.Hg[c[0]];return d?d[a].apply(this.Hg[c[0]],arguments):this.mh[c[0]].prototype[a].apply(this,arguments)}:b[a].eQ?function(b){a:{var d=Array.prototype.slice.call(arguments,0);for(var e=0;e<c.length;++e){var k=this.Hg[c[e]];if(k=k?k[a].apply(k,d):this.mh[c[e]].prototype[a].apply(this,d)){d=k;break a}}d=!1}return d}:b[a].dQ?function(b){a:{var d=Array.prototype.slice.call(arguments,0);for(var e=0;e<c.length;++e){var k= this.Hg[c[e]];k=k?k[a].apply(k,d):this.mh[c[e]].prototype[a].apply(this,d);if(null!=k){d=k;break a}}d=void 0}return d}:b[a].AJ?function(b){for(var d=Array.prototype.slice.call(arguments,0),e=0;e<c.length;++e){var k=this.Hg[c[e]];k?k[a].apply(k,d):this.mh[c[e]].prototype[a].apply(this,d)}}:function(b){for(var d=Array.prototype.slice.call(arguments,0),e=[],k=0;k<c.length;++k){var l=this.Hg[c[k]];e.push(l?l[a].apply(l,d):this.mh[c[k]].prototype[a].apply(this,d))}return e}:d||b[a].eQ||b[a].dQ||b[a].AJ? null:Up},Up=function(){return[]};Qp.prototype.jz=function(a){if(this.Hg)for(var b=0;b<this.Hg.length;++b)if(this.Hg[b]instanceof a)return this.Hg[b];return null}; var Vp=function(a){return this.Ya.jz(a)};var Wp,Xp,Yp,Zp,$p=/(?:^|\s)g-((\S))(?:$|\s)/,aq={plusone:!0,autocomplete:!0,profile:!0,signin:!0,signin2:!0};Wp=.Td(.ce,"SW",.D());Xp=.Td(.ce,"SA",.D());Yp=.Td(.ce,"SM",.D());Zp=.Td(.ce,"FW",[]); var eq=function(a,b){var c;bq.ps0=(new Date).getTime();cq("ps0");a=("string"===typeof a?window.document.getElementById(a):a)||.Qd;var d=_.Qd.documentMode;if(a.querySelectorAll&&(!d||8<d)){d=b?[b]:qp(Wp).concat(qp(Xp)).concat(qp(Yp));for(var e=[],f=0;f<d.length;f++){var h=d[f];e.push(".g-"+h,"g\:"+h)}d=a.querySelectorAll(e.join(","))}else d=a.getElementsByTagName("");a=.D();for(e=0;e<d.length;e++){f=d[e];var k=f;h=b;var l=k.nodeName.toLowerCase(),n=void 0;if(k.getAttribute("data-gapiscan"))h=null; else{var p=l.indexOf("g:");0==p?n=l.substr(2):(p=(p=String(k.className||k.getAttribute("class")))&&$p.exec(p))&&(n=p[1]);h=!n||!(Wp[n]||Xp[n]||Yp[n])||h&&n!==h?null:n}h&&(aq[h]||0==f.nodeName.toLowerCase().indexOf("g:")||0!=qp(Np(f)).length)&&(f.setAttribute("data-gapiscan",!0),.Td(a,h,[]).push(f))}for(q in a)Zp.push(q);bq.ps1=(new Date).getTime();cq("ps1");if(b=Zp.join(":"))try{.Wd.load(b,void 0)}catch(t){.ue(t);return}e=[];for(c in a){d=a[c];var q=0;for(b=d.length;q<b;q++)f=d[q],dq(c,f,Np(f), e,b)}}; var fq=function(a,b){var c=up(a);b&&c?(c(b),(c=b.iframeNode)&&c.setAttribute("data-gapiattached",!0)):.Wd.load(a,function(){var c=up(a),e=b&&b.iframeNode,f=b&&b.userParams;e&&c?(c(b),e.setAttribute("data-gapiattached",!0)):(c=.Wd[a].go,"signin2"==a?c(e,f):c(e&&e.parentNode,f))})},dq=function(a,b,c,d,e,f,h){switch(gq(b,a,f)){case 0:a=Yp[a]?a+"annotation":a;d={};d.iframeNode=b;d.userParams=c;fq(a,d);break;case 1:if(b.parentNode){for(var k in c){if(f=.Ud(c,k))f=c[k],f=!!f&&"object"===typeof f&&(!f.toString|| f.toString===Object.prototype.toString||f.toString===Array.prototype.toString);if(f)try{c[k]=.df(c[k])}catch(F){delete c[k]}}k=!0;c.dontclear&&(k=!1);delete c.dontclear;var l;f={};var n=l=a;"plus"==a&&c.action&&(l=a+""+c.action,n=a+"/"+c.action);(l=.H("iframes/"+l+"/url"))||(l=":im_socialhost:/:session_prefix::im_prefix:/widget/render/"+n+"?usegapi=1");for(p in Gp)f[p]=p+"/"+(c[p]||Gp[p])+"/";var p=.mn(.Qd,l.replace(.Fn,vp(f)));n="iframes/"+a+"/params/";f={};.Vd(c,f);(l=.H("lang")||.H("gwidget/lang"))&& (f.hl=l);Hp[a]||(f.origin=.Bp());f.exp=.H(n+"exp");if(n=.H(n+"location"))for(l=0;l<n.length;l++){var q=n[l];f[q]=.Nd.location[q]}switch(a){case "plus":case "follow":f.url=.Fp(f.href,c,null);delete f.href;break;case "plusone":n=(n=c.href)?zp(n):Ap();f.url=n;f.db=.Dp(c.db,void 0,.H());f.ecp=.Ep(c.ecp,void 0,.H());delete f.href;break;case "signin":f.url=Ap()}.ce.ILI&&(f.iloader="1");delete f["data-onload"];delete f.rd;for(var t in Gp)f[t]&&delete f[t];f.gsrc=.H("iframes/:source:");t=.H("inline/css"); "undefined"!==typeof t&&0<e&&t>=e&&(f.ic="1");t=/^#|^fr-/;e={};for(var x in f).Ud(f,x)&&t.test(x)&&(e[x.replace(t,"")]=f[x],delete f[x]);x="q"==.H("iframes/"+a+"/params/si")?f:e;t=.yp();for(var v in t)!.Ud(t,v)||.Ud(f,v)||.Ud(e,v)||(x[v]=t[v]);v=[].concat(Jp);x=.H("iframes/"+a+"/methods");.Wm(x)&&(v=v.concat(x));for(y in c).Ud(c,y)&&/^on/.test(y)&&("plus"!=a||"onconnect"!=y)&&(v.push(y),delete f[y]);delete f.callback;e.methods=v.join(",");var y=.ln(p,f,e);v=h||{};v.allowPost=1;v.attributes= Ip;v.dontclear=!k;h={};h.userParams=c;h.url=y;h.type=a;.Pp(a,b,c,y,v,h);b=h.id;c=.D();c.id=b;c.userParams=h.userParams;c.url=h.url;c.type=h.type;c.state=1;.fp[b]=c;b=h}else b=null;b&&((c=b.id)&&d.push(c),fq(a,b))}},gq=function(a,b,c){if(a&&1===a.nodeType&&b){if(c)return 1;if(Yp[b]){if(sp[a.nodeName.toLowerCase()])return(a=a.innerHTML)&&a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")?0:1}else{if(Xp[b])return 0;if(Wp[b])return 1}}return null}; .Td(.Wd,"platform",{}).go=function(a,b){eq(a,b)};var hq=.Td(.ce,"perf",.D()),bq=.Td(hq,"g",.D()),iq=.Td(hq,"i",.D()),jq,kq,lq,cq,nq,oq,pq;.Td(hq,"r",[]);jq=.D();kq=.D();lq=function(a,b,c,d){jq[c]=jq[c]||!!d;.Td(kq,c,[]);kq[c].push([a,b])};cq=function(a,b,c){var d=hq.r;"function"===typeof d?d(a,b,c):d.push([a,b,c])};nq=function(a,b,c,d){if("p"==b)throw Error("S");.mq(a,b,c,d)};.mq=function(a,b,c,d){oq(b,c)[a]=d||(new Date).getTime();cq(a,b,c)};oq=function(a,b){a=.Td(iq,a,.D());return .Td(a,b,.D())}; pq=function(a,b,c){var d=null;b&&c&&(d=oq(b,c)[a]);return d||bq[a]}; (function(){function a(a){this.t={};this.tick=function(a,b,c){this.t[a]=[void 0!=c?c:(new Date).getTime(),b];if(void 0==c)try{window.console.timeStamp("CSI/"+a)}catch(p){}};this.tick("start",null,a)}var b;if(window.performance)var c=(b=window.performance.timing)&&b.responseStart;var d=0<c?new a(c):new a;window.gapi_jstiming={Timer:a,load:d};if(b){var e=b.navigationStart;0<e&&c>=e&&(window.gapi_jstiming.srt=c-e)}if(b){var f=window.gapi_jstiming.load;0<e&&c>=e&&(f.tick("wtsrt",void 0,e), f.tick("wtsrt","wtsrt",c),f.tick("tbsd","wtsrt_"))}try{b=null,window.chrome&&window.chrome.csi&&(b=Math.floor(window.chrome.csi().pageT),f&&0<e&&(f.tick("tbnd",void 0,window.chrome.csi().startE),f.tick("tbnd","tbnd",e))),null==b&&window.gtbExternal&&(b=window.gtbExternal.pageT()),null==b&&window.external&&(b=window.external.pageT,f&&0<e&&(f.tick("tbnd",void 0,window.external.startE),f.tick("tbnd","tbnd",e))),b&&(window.gapi_jstiming.pt=b)}catch(h){}})(); if(window.gapi_jstiming){window.gapi_jstiming.AF={};window.gapi_jstiming.eY=1;var sq=function(a,b,c){var d=a.t[b],e=a.t.start;if(d&&(e||c))return d=a.t[b][0],e=void 0!=c?c:e[0],Math.round(d-e)};window.gapi_jstiming.getTick=sq;window.gapi_jstiming.getLabels=function(a){var b=[],c;for(c in a.t)b.push(c);return b};var tq=function(a,b,c){var d="";window.gapi_jstiming.srt&&(d+="&srt="+window.gapi_jstiming.srt);window.gapi_jstiming.pt&&(d+="&tbsrt="+window.gapi_jstiming.pt); try{window.external&&window.external.tran?d+="&tran="+window.external.tran:window.gtbExternal&&window.gtbExternal.tran?d+="&tran="+window.gtbExternal.tran():window.chrome&&window.chrome.csi&&(d+="&tran="+window.chrome.csi().tran)}catch(q){}var e=window.chrome;if(e&&(e=e.loadTimes)){e().wasFetchedViaSpdy&&(d+="&p=s");if(e().wasNpnNegotiated){d+="&npn=1";var f=e().npnNegotiatedProtocol;f&&(d+="&npnv="+(window.encodeURIComponent||window.escape)(f))}e().wasAlternateProtocolAvailable&&(d+="&apa=1")}var h= a.t,k=h.start;e=[];f=[];for(var l in h)if("start"!=l&&0!=l.indexOf("")){var n=h[l][1];n?h[n]&&f.push(l+"."+sq(a,l,h[n][0])):k&&e.push(l+"."+sq(a,l))}if(b)for(var p in b)d+="&"+p+"="+b[p];(b=c)||(b="https:"==window.document.location.protocol?"https://csi.gstatic.com/csi":"http://csi.gstatic.com/csi");return[b,"?v=3","&s="+(window.__gapi_jstiming__.sn||"")+"&action=",a.name,f.length?"&it="+f.join(","):"",d,"&rt=",e.join(",")].join("")},uq=function(a,b,c){a=tq(a,b,c);if(!a)return"";b=new window.Image; var d=window.gapi_jstiming.eY++;window.gapi_jstiming.AF[d]=b;b.onload=b.onerror=function(){window.gapi_jstiming&&delete window.gapi_jstiming.AF[d]};b.src=a;b=null;return a};window.gapi_jstiming.report=function(a,b,c){var d=window.document.visibilityState,e="visibilitychange";d||(d=window.document.webkitVisibilityState,e="webkitvisibilitychange");if("prerender"==d){var f=!1,h=function(){if(!f){b?b.prerender="1":b={prerender:"1"};if("prerender"==(window.document.visibilityState|| window.document.webkitVisibilityState))var d=!1;else uq(a,b,c),d=!0;d&&(f=!0,window.document.removeEventListener(e,h,!1))}};window.document.addEventListener(e,h,!1);return""}return uq(a,b,c)}}; var vq={g:"gapi_global",m:"gapi_module",w:"gwidget"},wq=function(a,b){this.type=a?"p"==a?"m":"w":"g";this.name=a;this.wo=b};wq.prototype.key=function(){switch(this.type){case "g":return this.type;case "m":return this.type+"."+this.wo;case "w":return this.type+"."+this.name+this.wo}}; var xq=new wq,yq=window.navigator.userAgent.match(/iPhone|iPad|Android|PalmWebOS|Maemo|Bada/),zq=.Td(hq,"c",.D()),Aq=Math.random()<(.H("csi/rate")||0),Cq=function(a,b,c){for(var d=new wq(b,c),e=.Td(zq,d.key(),.D()),f=kq[a]||[],h=0;h<f.length;++h){var k=f[h],l=k[0],n=a,p=b,q=c;k=pq(k[1],p,q);n=pq(n,p,q);e[l]=k&&n?n-k:null}jq[a]&&Aq&&(Bq(xq),Bq(d))},Dq=function(a,b){b=b||[];for(var c=[],d=0;d<b.length;d++)c.push(a+b[d]);return c},Bq=function(a){var b=.Nd.gapi_jstiming;b.sn=vq[a.type];var c= new b.Timer(0);a:{switch(a.type){case "g":var d="global";break a;case "m":d=a.wo;break a;case "w":d=a.name;break a}d=void 0}c.name=d;d=!1;var e=a.key(),f=zq[e];c.tick("start",null,0);for(var h in f)c.tick(h,"start",f[h]),d=!0;zq[e]=.D();d&&(h=[],h.push("l"+(.H("isPlusUser")?"1":"0")),d="m"+(yq?"1":"0"),h.push(d),"m"==a.type?h.push("p"+a.wo):"w"==a.type&&(e="n"+a.wo,h.push(e),"0"==a.wo&&h.push(d+e)),h.push("u"+(.H("isLoggedIn")?"1":"0")),a=Dq("",h),a=Dq("abc_",a).join(","),b.report(c,{e:a}))}; lq("blt","bs0","bs1");lq("psi","ps0","ps1");lq("rpcqi","rqe","rqd");lq("bsprt","bsrt0","bsrt1");lq("bsrqt","bsrt1","bsrt2");lq("bsrst","bsrt2","bsrt3");lq("mli","ml0","ml1");lq("mei","me0","me1",!0);lq("wcdi","wrs","wcdi");lq("wci","wrs","wdc");lq("wdi","wrs","wrdi");lq("wdt","bs0","wrdt");lq("wri","wrs","wrri",!0);lq("wrt","bs0","wrrt");lq("wji","wje0","wje1",!0);lq("wjli","wjl0","wjl1");lq("whi","wh0","wh1",!0);lq("wai","waaf0","waaf1",!0);lq("wadi","wrs","waaf1",!0);lq("wadt","bs0","waaf1",!0); lq("wprt","wrt0","wrt1");lq("wrqt","wrt1","wrt2");lq("wrst","wrt2","wrt3",!0);lq("fbprt","fsrt0","fsrt1");lq("fbrqt","fsrt1","fsrt2");lq("fbrst","fsrt2","fsrt3",!0);lq("fdns","fdns0","fdns1");lq("fcon","fcon0","fcon1");lq("freq","freq0","freq1");lq("frsp","frsp0","frsp1");lq("fttfb","fttfb0","fttfb1");lq("ftot","ftot0","ftot1",!0);var Eq=hq.r;if("function"!==typeof Eq){for(var Fq;Fq=Eq.shift();)Cq.apply(null,Fq);hq.r=Cq}; var Gq=["div"],Hq="onload",Iq=!0,Jq=!0,Kq=function(a){return a},Lq=null,Mq=function(a){var b=.H(a);return"undefined"!==typeof b?b:.H("gwidget/"+a)},hr,ir,jr,kr,ar,cr,lr,br,mr,nr,or,pr;Lq=.H();.H("gwidget");var Nq=Mq("parsetags");Hq="explicit"===Nq||"onload"===Nq?Nq:Hq;var Oq=Mq("google_analytics");"undefined"!==typeof Oq&&(Iq=!!Oq);var Pq=Mq("data_layer");"undefined"!==typeof Pq&&(Jq=!!Pq); var Qq=function(){var a=this&&this.ka();a&&(.ce.drw=a)},Rq=function(){.ce.drw=null},Sq=function(a){return function(b){var c=a;"number"===typeof b?c=b:"string"===typeof b&&(c=b.indexOf("px"),-1!=c&&(b=b.substring(0,c)),c=(0,window.parseInt)(b,10));return c}},Tq=function(a){"string"===typeof a&&(a=window[a]);return"function"===typeof a?a:null},Uq=function(){return Mq("lang")||"en-US"},Vq=function(a){if(!.O.Bb("attach")){var b={},c=.O.Bb("inline"),d;for(d in c)c.hasOwnProperty(d)&&(b[d]=c[d]);b.open= function(a){var b=a.Ob().renderData.id;b=window.document.getElementById(b);if(!b)throw Error("T");return c.attach(a,b)};.O.Xb("attach",b)}a.style="attach"},Wq=function(){var a={};a.width=[Sq(450)];a.height=[Sq(24)];a.onready=[Tq];a.lang=[Uq,"hl"];a.iloader=[function(){return .ce.ILI},"iloader"];return a}(),Zq=function(a){var b={};b.De=a[0];b.Bo=-1;b.D$=""+b.De+"";b.W="g:"+b.De;b.o9="g-"+b.De;b.wK=[];b.config={};b.Vs=[];b.uM={};b.Ew={};var c=function(a){for(var c in a)if(.Ud(a,c)){b.config[c]= [Tq];b.Vs.push(c);var d=a[c],e=null,l=null,n=null;"function"===typeof d?e=d:d&&"object"===typeof d&&(e=d.Y8,l=d.Xr,n=d.Mw);n&&(b.Vs.push(n),b.config[n]=[Tq],b.uM[c]=n);e&&(b.config[c]=[e]);l&&(b.Ew[c]=l)}},d=function(a){for(var c={},d=0;d<a.length;++d)c[a[d].toLowerCase()]=1;c[b.W]=1;b.lW=c};a[1]&&(b.parameters=a[1]);(function(a){b.config=a;for(var c in Wq)Wq.hasOwnProperty(c)&&!b.config.hasOwnProperty(c)&&(b.config[c]=Wq[c])})(a[2]||{});a[3]&&c(a[3]);a[4]&&d(a[4]);a[5]&&(b.jk=a[5]);b.u$=!0===a[6]; b.EX=a[7];b.H_=a[8];b.lW||d(Gq);b.CB=function(a){b.Bo++;nq("wrs",b.De,String(b.Bo));var c=[],d=a.element,e=a.config,l=":"+b.De;":plus"==l&&a.hk&&a.hk.action&&(l+=""+a.hk.action);var n=Xq(b,e),p={};.Vd(.yp(),p);for(var q in a.hk)null!=a.hk[q]&&(p[q]=a.hk[q]);q={container:d.id,renderData:a.$X,style:"inline",height:e.height,width:e.width};Vq(q);b.jk&&(c[2]=q,c[3]=p,c[4]=n,b.jk("i",c));l=.O.open(l,q,p,n);Yq(b,l,e,d,a.GQ);c[5]=l;b.jk&&b.jk("e",c)};return b},Xq=function(a,b){for(var c={},d=a.Vs.length- 1;0<=d;--d){var e=a.Vs[d],f=b[a.uM[e]||e]||b[e],h=b[e];h&&f!==h&&(f=function(a,b){return function(c){b.apply(this,arguments);a.apply(this,arguments)}}(f,h));f&&(c[e]=f)}for(var k in a.Ew)a.Ew.hasOwnProperty(k)&&(c[k]=$q(c[k]||function(){},a.Ew[k]));c.drefresh=Qq;c.erefresh=Rq;return c},$q=function(a,b){return function(c){var d=b(c);if(d){var e=c.href||null;if(Iq){if(window.gat)try{var f=window.gat.getTrackerByName("~0");f&&"UA-XXXXX-X"!=f.getAccount()?f.trackSocial("Google",d,e):window.gaq&& window.gaq.push(["trackSocial","Google",d,e])}catch(k){}if(window.ga&&window.ga.getAll)try{var h=window.ga.getAll();for(f=0;f<h.length;f++)h[f].send("social","Google",d,e)}catch(k){}}if(Jq&&window.dataLayer)try{window.dataLayer.push({event:"social",socialNetwork:"Google",socialAction:d,socialTarget:e})}catch(k){}}a.call(this,c)}},Yq=function(a,b,c,d,e){ar(b,c);br(b,d);cr(a,b,e);dr(a.De,a.Bo.toString(),b);(new er).Ya.Jk(a,b,c,d,e)},er=function(){if(!this.Ya){for(var a=this.constructor;a&&!a.Wm;)a= a.H&&a.H.constructor;a.Wm.lG||(a.Wm.lG=Tp(a));this.Ya=new a.Wm.lG(this);this.jz||(this.jz=Vp)}},fr=function(){},gr=er;fr.H||.z(fr,Qp);gr.Wm=fr;fr.prototype.Jk=function(a){a=a?a:function(){};a.AJ=!0;return a}();hr=function(a){return .zo&&"undefined"!=typeof .zo&&a instanceof .zo};ir=function(a){return hr(a)?"renderstart":"renderstart"};jr=function(a){return hr(a)?"ready":"ready"};kr=function(){return!0}; ar=function(a,b){if(b.onready){var c=!1,d=function(){c||(c=!0,b.onready.call(null))};a.register(jr(a),d,kr);a.register(ir(a),d,kr)}}; cr=function(a,b,c){var d=a.De,e=String(a.Bo),f=!1,h=function(){f||(f=!0,c&&nq("wrdt",d,e),nq("wrdi",d,e))};b.register(ir(b),h,kr);var k=!1;a=function(){k||(k=!0,h(),c&&nq("wrrt",d,e),nq("wrri",d,e))};b.register(jr(b),a,kr);hr(b)?b.register("widget-interactive-"+b.id,a,kr):.K.register("widget-interactive-"+b.id,a);.K.register("widget-csi-tick-"+b.id,function(a,b,c){"wdc"===a?nq("wdc",d,e,c):"wje0"===a?nq("wje0",d,e,c):"wje1"===a?nq("wje1",d,e,c):"wh0"==a?.mq("wh0",d,e,c):"wh1"==a?.mq("wh1",d,e, c):"wcdi"==a&&.mq("wcdi",d,e,c)})};lr=function(a){return"number"==typeof a?a+"px":"100%"==a?a:null};br=function(a,b){var c=function(c){c=c||a;var d=lr(c.width);d&&b.style.width!=d&&(b.style.width=d);(c=lr(c.height))&&b.style.height!=c&&(b.style.height=c)};hr(a)?a.pL("onRestyle",c):(a.register("ready",c,kr),a.register("renderstart",c,kr),a.register("resize",c,kr))};mr=function(a,b){for(var c in Wq)if(Wq.hasOwnProperty(c)){var d=Wq[c][1];d&&!b.hasOwnProperty(d)&&(b[d]=a[d])}return b}; nr=function(a,b){var c={},d;for(d in a)a.hasOwnProperty(d)&&(c[a[d][1]||d]=(a[d]&&a[d][0]||Kq)(b[d.toLowerCase()],b,Lq));return c};or=function(a){if(a=a.EX)for(var b=0;b<a.length;b++)(new window.Image).src=a[b]};pr=function(a,b){var c=b.userParams,d=b.siteElement;d||(d=(d=b.iframeNode)&&d.parentNode);if(d&&1===d.nodeType){var e=nr(a.config,c);a.wK.push({element:d,config:e,hk:mr(e,nr(a.parameters,c)),X9:3,GQ:!!c["data-onload"],$X:b})}b=a.wK;for(a=a.CB;0<b.length;)a(b.shift())}; .qr=function(a){var b=Zq(a);or(b);.pn(b.De,function(a){pr(b,a)});Wp[b.De]=!0;var c={va:function(a,c,f){var d=c||{};d.type=b.De;c=d.type;delete d.type;var e=("string"===typeof a?window.document.getElementById(a):a)||void 0;if(e){a={};for(var l in d).Ud(d,l)&&(a[l.toLowerCase()]=d[l]);a.rd=1;(l=!!a.ri)&&delete a.ri;dq(c,e,a,[],0,l,f)}else .ue("string"==="gapi."+c+".render: missing element "+typeof a?a:"")},go:function(a){eq(a,b.De)},Y9:function(){var a=.Td(.ce,"WI",.D()),b;for(b in a)delete a[b]}}; a=function(){"onload"===Hq&&c.go()};tp(b.De)||rp(a,a);.w("gapi."+b.De+".go",c.go);.w("gapi."+b.De+".render",c.va);return c}; var rr=pr,sr=function(a,b){a.Bo++;nq("wrs",a.De,String(a.Bo));var c=b.userParams,d=nr(a.config,c),e=[],f=b.iframeNode,h=b.siteElement,k=Xq(a,d),l=nr(a.parameters,c);.Vd(.yp(),l);l=mr(d,l);c=!!c["data-onload"];var n=.ao,p=.D();p.renderData=b;p.height=d.height;p.width=d.width;p.id=b.id;p.url=b.url;p.iframeEl=f;p.where=p.container=h;p.apis=["open"];p.messageHandlers=k;p.messageHandlersFilter=.M;.mp(p);f=l;a.jk&&(e[2]=p,e[3]=f,e[4]=k,a.jk("i",e));k=n.uj(p);k.id=b.id;k.aD(k,p);Yq(a,k,d,h,c);e[5]= k;a.jk&&a.jk("e",e)};pr=function(a,b){var c=b.url;a.H||.pp(c)?.wo?sr(a,b):(0,.Wj)("gapi.iframes.impl",function(){sr(a,b)}):.O.open?rr(a,b):(0,.Wj)("iframes",function(){rr(a,b)})}; var tr=function(){var a=window;return!!a.performance&&!!a.performance.getEntries},dr=function(a,b,c){if(tr()){var d=function(){var a=!1;return function(){if(a)return!0;a=!0;return!1}}(),e=function(){d()||window.setTimeout(function(){var d=c.Ha().src;var e=d.indexOf("#");-1!=e&&(d=d.substring(0,e));d=window.performance.getEntriesByName(d);1>d.length?d=null:(d=d[0],d=0==d.responseStart?null:d);if(d){e=Math.round(d.requestStart);var k=Math.round(d.responseStart),l=Math.round(d.responseEnd);nq("wrt0", a,b,Math.round(d.startTime));nq("wrt1",a,b,e);nq("wrt2",a,b,k);nq("wrt3",a,b,l)}},1E3)};c.register(ir(c),e,kr);c.register(jr(c),e,kr)}}; .w("gapi.widget.make",.qr); var ur,vr,wr,yr;ur=["left","right"];vr="inline bubble none only pp vertical-bubble".split(" ");wr=function(a,b){if("string"==typeof a){a=a.toLowerCase();var c;for(c=0;c<b.length;c++)if(b[c]==a)return a}};.xr=function(a){return wr(a,vr)};yr=function(a){return wr(a,ur)};.zr=function(a){a.source=[null,"source"];a.expandTo=[null,"expandTo"];a.align=[yr];a.annotation=[.xr];a.origin=[.Bp]}; .O.NC("bubble",function(a){(0,.Wj)("iframes-styles-bubble",a)}); .O.NC("slide-menu",function(a){(0,.Wj)("iframes-styles-slide-menu",a)}); .w("gapi.plusone.render",.TV);.w("gapi.plusone.go",.UV); var VV={tall:{"true":{width:50,height:60},"false":{width:50,height:24}},small:{"false":{width:24,height:15},"true":{width:70,height:15}},medium:{"false":{width:32,height:20},"true":{width:90,height:20}},standard:{"false":{width:38,height:24},"true":{width:106,height:24}}},WV={width:180,height:35},XV=function(a){return"string"==typeof a?""!=a&&"0"!=a&&"false"!=a.toLowerCase():!!a},YV=function(a){var b=(0,window.parseInt)(a,10);if(b==a)return String(b)},ZV=function(a){if(XV(a))return"true"},$V=function(a){return"string"== typeof a&&VV[a.toLowerCase()]?a.toLowerCase():"standard"},aW=function(a,b){return"tall"==$V(b)?"true":null==a||XV(a)?"true":"false"},bW=function(a,b){return VV[$V(a)][aW(b,a)]},cW=function(a,b,c){a=.xr(a);b=$V(b);if(""!=a){if("inline"==a||"only"==a)return a=450,c.width&&(a=120<c.width?c.width:120),{width:a,height:VV[b]["false"].height};if("bubble"!=a){if("none"==a)return VV[b]["false"];if("pp"==a)return WV}}return VV[b]["true"]},dW={href:[.Cp,"url"],width:[YV],size:[$V],resize:[ZV],autosize:[ZV], count:[function(a,b){return aW(b.count,b.size)}],db:[.Dp],ecp:[.Ep],textcolor:[function(a){if("string"==typeof a&&a.match(/^[0-9A-F]{6}$/i))return a}],drm:[ZV],recommendations:[],fu:[],ad:[ZV],cr:[YV],ag:[YV],"fr-ai":[],"fr-sigh":[]}; (function(){var a={0:"plusone"},b=.H("iframes/plusone/preloadUrl");b&&(a[7]=b);.zr(dW);a[1]=dW;a[2]={width:[function(a,b){return b.annotation?cW(b.annotation,b.size,b).width:bW(b.size,b.count).width}],height:[function(a,b){return b.annotation?cW(b.annotation,b.size,b).height:bW(b.size,b.count).height}]};a[3]={onPlusOne:{Xr:function(a){return"on"==a.state?"+1":null},Mw:"callback"},onstartinteraction:!0,onendinteraction:!0,onpopup:!0};a[4]=["div","button"];a=.qr(a);.UV=a.go;.TV=a.va})(); }); // Google Inc. - diasks2/ruby-nlp - A collection of links to Ruby Natural Language Processing (NLP) libraries, tools and software
- digitalformula/qclocktwo -
- emijrp/awesome-awesome - A curated list of awesome curated lists of many topics.
- fasten-project/Debian-license-collector -
- first20hours/google-10000-english - This repo contains a list of the 10,000 most common English words in order of frequency, as determined by n-gram frequency analysis of the Google's Trillion Word Corpus.
- ftomassetti/awesome-compilers - 😎 Curated list of awesome resources on Compilers, Interpreters and Runtimes
- fuse-compound/awesome-fuse - A curated list of awesome Fuse applications, articles, and plugins
- gerardokaztro/cybersecurity-entry-level - Curso para aprender Ciberseguridad desde cero, en español y 100% gratis. Abarca 5 dominios fundamentales que necesitas conocer para poder dar tus primeros pasos en este apasionante mundo.
- gunnarmorling/awesome-annotation-processing - A curated list of resources related to the Java annotation processing API (JSR 269)
- gutenye/syncthing-kindle - Setup Syncthing on Kindle Touch
- hardikvasa/awesome-programming - A curated list of awesome programming talks, articles, books, resources and more!!
- hrj/awesome-eclipse - List of awesome plugins and other resources for eclipse
- jelmer/awesome-codemods - Curated list of tools that can fix your code for you
- jghoman/awe-wasm - awe-wasm = awesome WASM - repo for tracking WASM related resources I find
- jossthev/linda - Creation of a data shared space, based on Linda pattern, using Java (multi-threading, RMI)
- katopz/awesome-wasm - WebAssembly FTW
- koding/awesome-fuse-fs - Resources related to FUSE (filesystem in user space).
- mbasso/awesome-wasm - 😎 Curated list of awesome things regarding the WebAssembly (wasm) ecosystem.
- mholm/backbone.trix - Backbone.Trix: A framework that turns tricks on a dime.
- phoe/the-elusive-language - A small Common Lisp-related art project.
- photopea/photopea - Photopea is online image editor
- pventuzelo/awesome-wasm-examples - 😎 A curated list of WebAssembly (wasm) examples
- pysemtec/semantic-python-overview - (subjective) overview of projects which are related both to python and semantic technologies (RDF, OWL, Reasoning, ...)
- relink2013/Awesome-Self-hosting-for-the-whole-family - An Awesome List of apps that can be self hosted that your family can actually use without frustration.
- replayio/gecko-dev - Record Replay gecko based browser source
- rishirdua/awesome-code-formatters - A curated list of awesome code formatting tools and libraries
- sanmak/awesome-blogs - List of awesome blogs run, managed by a human or two and not an organisation, company or institution.
- semantalytics/awesome-semantic-web - A curated list of various semantic web and linked data resources.
- sjh258933/IntelliJGit -
- swyxio/buying-domains - useful data and advice for buying domains.
- synflow/SHA-256 - SHA-256 implemented with the Cx language
- titzer/student-projects - A collection of projects for students on Virgil, Wizard, or WebAssembly
- transatomic/reactor - Transatomic reactor design documentation
- vshymanskyy/awesome-wasm-tools - 😎 A curated list of awesome, language-agnostic WebAssembly tools
- wasmerio/awesome-wasi - 😎 Curated list of awesome things regarding WebAssembly WASI ecosystem.
- waylau/java-virtual-machine-specification - Chinese translation of The Java® Virtual Machine Specification.《Java 虚拟机规范(第11版)》中文翻译及示例,Java SE 11 版
- xhorak/firefox-dev-flatpak - Create flatpak from freshly compiled Firefox Nightly.
- zencq/NomNom - NomNom is the most complete savegame editor for NMS but also shows additional information around the data you're about to change. You can also easily look up each item individually to examine its attributes, independently of a savegame, or get other useful information that are not related to a specific savegame (but enhanced if one is loaded).