text:
package com.djs.learn.spring_sample.knight;

public class GoldenWool
{
	private final boolean golden = true;

	public boolean isGolden()
	{
		return golden;
	}

	@Override
	public String toString()
	{
		return "Golden wool";
	}
}


text:
// Prexonite
//
// Copyright (c) 2014, Christian Klauser
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
//  are permitted provided that the following conditions are met:
//
//     Redistributions of source code must retain the above copyright notice,
//          this list of conditions and the following disclaimer.
//     Redistributions in binary form must reproduce the above copyright notice,
//          this list of conditions and the following disclaimer in the
//          documentation and/or other materials provided with the distribution.
//     The names of the contributors may be used to endorse or
//          promote products derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
//  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
//  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
//  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
//  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
//  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
//  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
//  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
//  IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Diagnostics.Contracts;

namespace Prexonite
{
    public class CombinedSymbolProxy<T>
    {
        private CombinedSymbolProxy(ISymbolTable<T>[] tables)
        {
            Contract.Requires<ArgumentNullException>(tables != null);
            Contract.Requires(tables.Length > 0,"A CombinedSymbolProxy needs to be backed by at least one SymbolTable. (Array was empty)");

            var copy = new ISymbolTable<T>[tables.Length];
            Array.Copy(tables, copy, tables.Length);
            _tables = tables;
        }

        public static CombinedSymbolProxy<T> CreateHierarchy(params ISymbolTable<T>[] tableHierarchy)
        {
            return new CombinedSymbolProxy<T>(tableHierarchy);
        }

        private readonly ISymbolTable<T>[] _tables;
        protected ISymbolTable<T> TargetTable { get { return _tables[_tables.Length - 1]; } }
    }
}

redpajama_set_name: RedPajamaGithub


text:
module Vagrant
  module Guest
    # The base class for a "system." A system represents an installed
    # operating system on a given box. There are some portions of
    # Vagrant which are fairly OS-specific (such as mounting shared
    # folders) and while the number is few, this abstraction allows
    # more obscure operating systems to be installed without having
    # to directly modify Vagrant internals.
    #
    # Subclasses of the system base class are expected to implement
    # all the methods. These methods are described in the comments
    # above their definition.
    #
    # **This is by no means a complete specification. The methods
    # required by systems can and will change at any time. Any
    # changes will be noted on release notes.**
    class Base
      class BaseError < Errors::VagrantError
        error_namespace("vagrant.guest.base")
      end

      include Vagrant::Util

      # The VM which this system is tied to.
      attr_reader :vm

      # Initializes the system. Any subclasses MUST make sure this
      # method is called on the parent. Therefore, if a subclass overrides
      # `initialize`, then you must call `super`.
      def initialize(vm)
        @vm = vm
      end

      # This method is automatically called when the system is available (when
      # Vagrant can successfully SSH into the machine) to give the system a chance
      # to determine the distro and return a distro-specific system.
      #
      # **Warning:** If a return value which subclasses from {Base} is
      # returned, Vagrant will use it as the new system instance for the
      # class.
      def distro_dispatch; end

      # Halt the machine. This method should gracefully shut down the
      # operating system. This method will cause `vagrant halt` and associated
      # commands to _block_, meaning that if the machine doesn't halt
      # in a reasonable amount of time, this method should just return.
      #
      # If when this method returns, the machine's state isn't "powered_off,"
      # Vagrant will proceed to forcefully shut the machine down.
      def halt
        raise BaseError, :_key => :unsupported_halt
      end

      # Mounts a shared folder.
      #
      # This method should create, mount, and properly set permissions
      # on the shared folder. This method should also properly
      # adhere to any configuration values such as `shared_folder_uid`
      # on `config.vm`.
      #
      # @param [String] name The name of the shared folder.
      # @param [String] guestpath The path on the machine which the user
      #   wants the folder mounted.
      # @param [Hash] options Additional options for the shared folder
      #   which can be honored.
      def mount_shared_folder(name, guestpath, options)
        raise BaseError, :_key => :unsupported_shared_folder
      end

      # Mounts a shared folder via NFS. This assumes that the exports
      # via the host are already done.
      def mount_nfs(ip, folders)
        raise BaseError, :_key => :unsupported_nfs
      end

      # Configures the given list of networks on the virtual machine.
      #
      # The networks parameter will be an array of hashes where the hashes
      # represent the configuration of a network interface. The structure
      # of the hash will be roughly the following:
      #
      # {
      #   :type      => :static,
      #   :ip        => "192.168.33.10",
      #   :netmask   => "255.255.255.0",
      #   :interface => 1
      # }
      #
      def configure_networks(networks)
        raise BaseError, :_key => :unsupported_configure_networks
      end

      # Called to change the hostname of the virtual machine.
      def change_host_name(name)
        raise BaseError, :_key => :unsupported_host_name
      end
    end
  end
end


text:
package com.evolveum.midpoint.prism.equivalence;

import com.evolveum.midpoint.prism.Item;
import com.evolveum.midpoint.prism.PrismValue;

import java.util.HashMap;
import java.util.Map;

/**
 *  Implementation of EquivalenceStrategy that uses a parametrization of built-in equals/hashCode/diff methods.
 *
 *  These strategies are still in progress and (most probably) will be changed before 4.0 release.
 *
 *  The difference between REAL_VALUE and IGNORE_METADATA is to be established yet.
 *
 *  Basically, REAL_VALUE is oriented towards the effective content of the item or value.
 *  Contrary to IGNORE_METADATA it ignores element names and reference filters (if OID is present).
 */
@SuppressWarnings("unused")
public class ParameterizedEquivalenceStrategy implements EquivalenceStrategy {

    /**
     * The (almost) highest level of recognition. Useful e.g. for comparing values for the purpose of XML editing.
     * Still, ignores e.g. definitions, parent objects, origin, immutability flag, etc.
     *
     * Corresponds to pre-4.0 flags ignoreMetadata = false, literal = true.
     */
    public static final ParameterizedEquivalenceStrategy LITERAL;

    /**
     * As LITERAL but ignores XML namespace prefixes.
     * Also fills-in default relation name if not present (when comparing reference values).
     *
     * Currently this is the default for equals/hashCode.
     *
     * Roughly corresponds to pre-4.0 flags ignoreMetadata = false, literal = false.
     */
    public static final ParameterizedEquivalenceStrategy NOT_LITERAL;

    /**
     * Ignores metadata, typically operational items and values, container IDs, and origin information.
     * However, takes OID-ful reference filters into account.
     *
     * Corresponds to pre-4.0 flags ignoreMetadata = true, literal = false.
     */
    public static final ParameterizedEquivalenceStrategy IGNORE_METADATA;

    /**
     * Ignores metadata, typically operational items and values and origin information.
     *
     * Container IDs are taken into account only if they directly contradict each other, meaning both values being compared
     * do have them and they are different.
     *
     * Currently this is the default for diff and for delta application.
     *
     * EXPERIMENTAL
     */
    public static final ParameterizedEquivalenceStrategy IGNORE_METADATA_CONSIDER_DIFFERENT_IDS;

    /**
     * As IGNORE_METADATA, but takes XML namespace prefixes into account.
     *
     * It is not clear in which situations this should be needed. But we include it here for compatibility reasons.
     * Historically it is used on a few places in midPoint.
     *
     * Corresponds to pre-4.0 flags ignoreMetadata = true, literal = true.
     */
    public static final ParameterizedEquivalenceStrategy LITERAL_IGNORE_METADATA;

    /**
     * Compares the real content if prism structures.
     * Corresponds to "equalsRealValue" method used in pre-4.0.
     *
     * It is to be seen if operational data should be considered in this mode (they are ignored now).
     * So, currently this is the most lax way of determining equivalence.
     */
    public static final ParameterizedEquivalenceStrategy REAL_VALUE;

    /**
     * As REAL_VALUE but treats values with different non-null IDs as not equivalent.
     *
     * EXPERIMENTAL
     */
    public static final ParameterizedEquivalenceStrategy REAL_VALUE_CONSIDER_DIFFERENT_IDS;

    public static final ParameterizedEquivalenceStrategy DEFAULT_FOR_EQUALS;
    public static final ParameterizedEquivalenceStrategy DEFAULT_FOR_DIFF;
    public static final ParameterizedEquivalenceStrategy DEFAULT_FOR_DELTA_APPLICATION;

    private static final Map<String, String> NICE_NAMES = new HashMap<>();

    static {
        LITERAL = new ParameterizedEquivalenceStrategy();
        LITERAL.literalDomComparison = true;
        LITERAL.consideringOperationalData = true;
        LITERAL.consideringContainerIds = true;
        LITERAL.consideringDifferentContainerIds = true;
        LITERAL.consideringValueOrigin = false;
        LITERAL.consideringReferenceFilters = true;
        LITERAL.compareElementNames = true;
        putIntoNiceNames(LITERAL, "LITERAL");

        NOT_LITERAL = new ParameterizedEquivalenceStrategy();
        NOT_LITERAL.literalDomComparison = false;
        NOT_LITERAL.consideringOperationalData = true;
        NOT_LITERAL.consideringContainerIds = true;
        NOT_LITERAL.consideringDifferentContainerIds = true;
        NOT_LITERAL.consideringValueOrigin = false;
        NOT_LITERAL.consideringReferenceFilters = true;
        NOT_LITERAL.compareElementNames = true;
        putIntoNiceNames(NOT_LITERAL, "NOT_LITERAL");

        IGNORE_METADATA = new ParameterizedEquivalenceStrategy();
        IGNORE_METADATA.literalDomComparison = false;
        IGNORE_METADATA.consideringOperationalData = false;
        IGNORE_METADATA.consideringContainerIds = false;
        IGNORE_METADATA.consideringDifferentContainerIds = false;
        IGNORE_METADATA.consideringValueOrigin = false;
        IGNORE_METADATA.consideringReferenceFilters = true;
        IGNORE_METADATA.compareElementNames = true; //???
        putIntoNiceNames(IGNORE_METADATA, "IGNORE_METADATA");

        IGNORE_METADATA_CONSIDER_DIFFERENT_IDS = new ParameterizedEquivalenceStrategy();
        IGNORE_METADATA_CONSIDER_DIFFERENT_IDS.literalDomComparison = false;
        IGNORE_METADATA_CONSIDER_DIFFERENT_IDS.consideringOperationalData = false;
        IGNORE_METADATA_CONSIDER_DIFFERENT_IDS.consideringContainerIds = false;
        IGNORE_METADATA_CONSIDER_DIFFERENT_IDS.consideringDifferentContainerIds = true;
        IGNORE_METADATA_CONSIDER_DIFFERENT_IDS.consideringValueOrigin = false;
        IGNORE_METADATA_CONSIDER_DIFFERENT_IDS.consideringReferenceFilters = true;
        IGNORE_METADATA_CONSIDER_DIFFERENT_IDS.compareElementNames = true; //???
        putIntoNiceNames(IGNORE_METADATA_CONSIDER_DIFFERENT_IDS, "IGNORE_METADATA_CONSIDER_DIFFERENT_IDS");

        LITERAL_IGNORE_METADATA = new ParameterizedEquivalenceStrategy();
        LITERAL_IGNORE_METADATA.literalDomComparison = true;
        LITERAL_IGNORE_METADATA.consideringOperationalData = false;
        LITERAL_IGNORE_METADATA.consideringContainerIds = false;
        LITERAL_IGNORE_METADATA.consideringDifferentContainerIds = false;
        LITERAL_IGNORE_METADATA.consideringValueOrigin = false;
        LITERAL_IGNORE_METADATA.consideringReferenceFilters = true;
        LITERAL_IGNORE_METADATA.compareElementNames = true;
        putIntoNiceNames(LITERAL_IGNORE_METADATA, "LITERAL_IGNORE_METADATA");

        REAL_VALUE = new ParameterizedEquivalenceStrategy();
        REAL_VALUE.literalDomComparison = false;
        REAL_VALUE.consideringOperationalData = false;
        REAL_VALUE.consideringContainerIds = false;
        REAL_VALUE.consideringDifferentContainerIds = false;
        REAL_VALUE.consideringValueOrigin = false;
        REAL_VALUE.consideringReferenceFilters = false;
        REAL_VALUE.compareElementNames = false;
        putIntoNiceNames(REAL_VALUE, "REAL_VALUE");

        REAL_VALUE_CONSIDER_DIFFERENT_IDS = new ParameterizedEquivalenceStrategy();
        REAL_VALUE_CONSIDER_DIFFERENT_IDS.literalDomComparison = false;
        REAL_VALUE_CONSIDER_DIFFERENT_IDS.consideringOperationalData = false;
        REAL_VALUE_CONSIDER_DIFFERENT_IDS.consideringContainerIds = false;
        REAL_VALUE_CONSIDER_DIFFERENT_IDS.consideringDifferentContainerIds = true;
        REAL_VALUE_CONSIDER_DIFFERENT_IDS.consideringValueOrigin = false;
        REAL_VALUE_CONSIDER_DIFFERENT_IDS.consideringReferenceFilters = false;
        REAL_VALUE_CONSIDER_DIFFERENT_IDS.compareElementNames = false;
        putIntoNiceNames(REAL_VALUE_CONSIDER_DIFFERENT_IDS, "REAL_VALUE_CONSIDER_DIFFERENT_IDS");

        DEFAULT_FOR_EQUALS = NOT_LITERAL;
        DEFAULT_FOR_DIFF = IGNORE_METADATA_CONSIDER_DIFFERENT_IDS;
        DEFAULT_FOR_DELTA_APPLICATION = IGNORE_METADATA_CONSIDER_DIFFERENT_IDS;
    }

    private static void putIntoNiceNames(ParameterizedEquivalenceStrategy strategy, String name) {
        NICE_NAMES.put(strategy.getDescription(), name);
    }

    private boolean literalDomComparison;                   // L
    private boolean consideringOperationalData;             // O
    private boolean consideringContainerIds;                // I
    private boolean consideringDifferentContainerIds;       // i
    private boolean consideringValueOrigin;                 // o
    private boolean consideringReferenceFilters;            // F
    private boolean compareElementNames;                    // E

    /**
     *  Whether we hash runtime-schema items. Setting this to "true" is dangerous because these can hold unparsed (raw) values
     *  so hashing them can break equals-hashcode contract. (See MID-5851.) Note that although statically (compile-time)
     *  defined items can hold raw values as well the probability is much lesser.
     *
     *  This excludes e.g. attributes, extension items and resource/connector configuration elements.
     *
     *  On the other hand we must be a bit careful because if we exclude too much from hashing, we can run into
     *  performance issues (see MID-5852).
     */
    private boolean hashRuntimeSchemaItems;                 // R

    public String getDescription() {
        return (literalDomComparison ? "L" : "-") +
                (consideringOperationalData ? "O" : "-") +
                (consideringContainerIds ? "I" : "-") +
                (consideringDifferentContainerIds ? "i" : "-") +
                (consideringValueOrigin ? "o" : "-") +
                (consideringReferenceFilters ? "F" : "-") +
                (compareElementNames ? "E" : "-") +
                (hashRuntimeSchemaItems ? "R" : "-");
    }

    @Override
    public boolean equals(Item<?, ?> first, Item<?, ?> second) {
        return first == second || first != null && second != null && first.equals(second, this);
    }

    @Override
    public boolean equals(PrismValue first, PrismValue second) {
        return first == second || first != null && second != null && first.equals(second, this);
    }

    @Override
    public int hashCode(Item<?, ?> item) {
        return item != null ? item.hashCode(this) : 0;
    }

    @Override
    public int hashCode(PrismValue value) {
        return value != null ? value.hashCode(this) : 0;
    }

    public boolean isConsideringDefinitions() {
        return false;
    }

    public boolean isConsideringElementNames() {
        return compareElementNames;
    }

    public void setCompareElementNames(boolean compareElementNames) {
        this.compareElementNames = compareElementNames;
    }

    public boolean isConsideringValueOrigin() {
        return consideringValueOrigin;
    }

    public void setConsideringValueOrigin(boolean consideringValueOrigin) {
        this.consideringValueOrigin = consideringValueOrigin;
    }

    public boolean isLiteralDomComparison() {
        return literalDomComparison;
    }

    public void setLiteralDomComparison(boolean literalDomComparison) {
        this.literalDomComparison = literalDomComparison;
    }

    public boolean isConsideringContainerIds() {
        return consideringContainerIds;
    }

    public void setConsideringContainerIds(boolean consideringContainerIds) {
        this.consideringContainerIds = consideringContainerIds;
    }

    public boolean isConsideringDifferentContainerIds() {
        return consideringDifferentContainerIds;
    }

    public void setConsideringDifferentContainerIds(boolean consideringDifferentContainerIds) {
        this.consideringDifferentContainerIds = consideringDifferentContainerIds;
    }

    @SuppressWarnings("BooleanMethodIsAlwaysInverted")
    public boolean isConsideringOperationalData() {
        return consideringOperationalData;
    }

    public void setConsideringOperationalData(boolean consideringOperationalData) {
        this.consideringOperationalData = consideringOperationalData;
    }

    public boolean isConsideringReferenceFilters() {
        return consideringReferenceFilters;
    }

    public void setConsideringReferenceFilters(boolean consideringReferenceFilters) {
        this.consideringReferenceFilters = consideringReferenceFilters;
    }

    public boolean isHashRuntimeSchemaItems() {
        return hashRuntimeSchemaItems;
    }

    public void setHashRuntimeSchemaItems(boolean hashRuntimeSchemaItems) {
        this.hashRuntimeSchemaItems = hashRuntimeSchemaItems;
    }

    @Override
    public String toString() {
        String desc = getDescription();
        String niceName = NICE_NAMES.get(desc);
        return niceName != null ? niceName + " (" + desc + ")" : "(" + desc + ")";
    }
}


text:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class GameController : MonoBehaviour {

	[Tooltip("Turns on console debugging information.")]
	public bool isDebug = true;
	[Range(6.0f, 16.0f)]
	[Tooltip("A higher frequency means more meteors will spawn.")]
	public float meteorFrequency = 8.0f;
	[Tooltip("A list of meteors that can spawn at random.")]
	public List<GameObject> meteors;
	[Range(0.001f, 1.0f)]
	[Tooltip("A higher frequency means more power ups will spawn.")]
	public float powerUpFrequency = 0.3f;
	[Tooltip("A list of power ups that can spawn at random.")]
	public List<GameObject> powerUps;

	private int startDelay; // Seconds to count down before game starts.
	private float startDelayTimer; // Times when to decrease the startDelay before the game starts.
	private bool paused; // Whether or not the game is paused.
	private Rect screenRect; // The world coordinates of the edges of the screen.
	private float meteorTimer; // The time between meteor spawns.
	private float powerUpTimer; // The time between power up spawns.
	private RectTransform healthRect; // The level of the player's health in the UI.
	private int score; // The player's score this run.
	private Text scoreText; // The text script of the score UI element.
	private float scoreTimer; // How long to wait between updating the score.
	private int diffThreshold; // The next score that will increase difficulty level.
	private float difficulty; // The game's difficulty level. Affects meteor spawn, health, and damage.
	private Text statusText; // The text object that shows the startup countdown, paused, and game over.
	private bool isGameOver; // True if the game is over.
	private float gameOverTimer; // How long to wait after the game is over before movement stops.
	private AudioSource startSoundShort; // Short start beep.
	private AudioSource startSoundLong; // Long start beep.
	private AudioSource diffSound; // The sound played when the difficulty goes up.
	private GameObject pauseScreen; // Contains all of the pause screen UI.
	private GameObject leaderboardScreen; // Shows the leaderboards.
	private int time; // The time in seconds for each run of the game. Used for leaderboarding.
	private float timeCounter; // Used to increment the time.

	// Use this for initialization
	void Start () {
		// Disable mouse during play.
		Cursor.lockState = CursorLockMode.Locked;
		Cursor.visible = false;

		startDelay = 3;
		startDelayTimer = Time.fixedTime + 0.667f; // Prevent changing status from 3 to 2 until after 2/3 of a second.
		paused = true;

		refreshScreenRect();

		meteorTimer = 1.0f;
		powerUpTimer = Time.fixedTime + 4.0f / powerUpFrequency;
		scoreTimer = 0.0f;

		GameObject[] ui = GameObject.FindGameObjectsWithTag("UI");
		foreach(GameObject obj in ui){
			if(obj.name == "health"){
				healthRect = obj.GetComponent<RectTransform>(); // Locate the RectTransform of the healthbar.
			}else if(obj.name == "score text"){
				scoreText = obj.GetComponent<Text>(); // Locate the Text of the score.
			}else if(obj.name == "status text"){
				statusText = obj.GetComponent<Text>();
				statusText.text = "3";
			}else if(obj.name == "pause screen"){
				pauseScreen = obj; // The parent object of the restard button and main menu button.
				pauseScreen.SetActive(false); // Hide the pause screen until the player dies or game is paused.
			}else if(obj.name == "leaderboards screen"){
				leaderboardScreen = obj;
			}
		}
		updateUI(100);

		diffThreshold = 1000;
		difficulty = 1.0f;
		gameOverTimer = 0.0f;

		// Get attached audio sources.
		AudioSource[] audio = GetComponents<AudioSource>();
		startSoundShort = audio[0];
		startSoundLong = audio[1];
		diffSound = audio[2];

		// Setup time counting.
		time = 0;
		timeCounter = Time.fixedTime + 1.0f;
	}

	// Update is called once per frame
	void Update () {
		// Run the game when it is not paused.
		if(!paused){
			// Increment the game's run time.
			if(timeCounter <= Time.fixedTime){
				time++;
				timeCounter = Time.fixedTime + 1.0f;
			}

			// Drop meteors and power ups randomly.
			if(meteorTimer <= Time.fixedTime && !isGameOver){
				// Drop power up instead of meteor.
				if(powerUpTimer <= Time.fixedTime){
					spawnPowerUp();
					powerUpTimer = Time.fixedTime + 4.0f / powerUpFrequency; // Time to wait before next power up spawn.
				}else{
					spawnMeteor();
					meteorTimer = Time.fixedTime + 4.0f / meteorFrequency; // Time to wait before next meteor spawn.
				}
			}

			// Add score.
			if(scoreTimer <= Time.fixedTime && !isGameOver){
				score++;
				scoreText.text = string.Format("{0}", score.ToString("D7")); // Show score padded with zeros.
				scoreTimer = Time.fixedTime + 0.05f * difficulty; // Update score every 1/20 of a second at 1.0 difficulty.

				// Increase difficulty based on score.
				if(score >= diffThreshold){
					diffThreshold *= 5;
					difficulty += 0.2f;
					meteorFrequency *= difficulty; // More meteors when it is more difficult.
					powerUpFrequency *= difficulty; // More power ups when it is more difficult.

					// Show player that it got harder.
					if(difficulty >= 1.4f){
						showStatusFade("Difficulty Up!"); // Show text on the screen.
						diffSound.Play();
					}

					if(isDebug){
						Debug.Log("The difficulty level is now " + difficulty);
					}
				}
			}

			// Check for game over.
			if(isGameOver){
				if(gameOverTimer <= Time.fixedTime){
					paused = true; // Stop all movement in the game.
					Time.timeScale = 0.0f;
					statusText.text = "Game Over"; // Show game over on the screen.
					statusText.enabled = true; // Turn on status text object.
					pauseScreen.SetActive(true); // Show the restart button.

					// Disable mouse only during play.
					Cursor.lockState = CursorLockMode.None;
					Cursor.visible = true;

					// Add player' score to leaderboards.
					string playerName = PlayerPrefs.GetString("player name");
					string platform = getPlatform();
					string url = "http://dreamlo.com/lb/myRWqJsfaUCYc8XiQotBUAWFIMsYUuUECMFShEK8_rHA/add/" + playerName + "/" + score + "/" + time + "/" + platform;
					new WWW(url);
				}
			}

			// Check for pause button being pressed and pause the game. Cannot pause during startup countdown.
			if(Input.GetButtonDown("Cancel") && startDelay <= 0){
				if(isDebug){
					Debug.Log("Escape button pressed.");
				}

				// Stop game movement.
				paused = true;
				Time.timeScale = 0.0f;

				// Disable mouse only during play.
				Cursor.lockState = CursorLockMode.None;
				Cursor.visible = true;

				// Show paused menu.
				statusText.text = "Paused"; // Show game over on the screen.
				statusText.enabled = true; // Turn on status text object.
				pauseScreen.SetActive(true); // Show the restart button.
			}
		}else{
			// Start the game after a brief, displayed delay. This is only used for new games.
			if(startDelay > 0 && startDelayTimer <= Time.fixedTime){
				startDelay--; // Decrease startDelay.
				if(startDelay <= 0){
					paused = false; // Start the game when startDelay gets to zero.
					statusText.text = "Go!";
					statusText.GetComponent<FadeText>().enabled = true; // Turn on the FadeText script.
					startSoundLong.Play();
				}else{
					statusText.text = "" + startDelay;
					startSoundShort.Play();
				}
				startDelayTimer = Time.fixedTime + 0.667f; // Decrease start delay again in 2/3 of a second.
			}else if(startDelay > 0){
				// Hide the leaderboards if it is shown.
				if(leaderboardScreen.activeSelf){
					leaderboardScreen.SetActive(false); // Hide leaderboards screen until button is pressed.
				}
			}

			// Check for pause button being pressed and unpause the game.
			if(Input.GetButtonDown("Cancel") && startDelay <= 0){
				if(isDebug){
					Debug.Log("Escape button pressed.");
				}

				// Start game movement.
				paused = false;
				Time.timeScale = 1.0f;

				// Disable mouse only during play.
				Cursor.lockState = CursorLockMode.Locked;
				Cursor.visible = false;

				// Hide pause menu and leaderboards menu.
				statusText.enabled = false; // Turn off status text object.
				pauseScreen.SetActive(false); // Hide the restart button.
				leaderboardScreen.SetActive(false); // Hide the leaderboards.
			}
		}
	}

	private string getPlatform(){
		string s = "";
		switch(Application.platform){
			case RuntimePlatform.OSXEditor:
				s = "osx editor";
				break;
			case RuntimePlatform.OSXPlayer:
				s = "osx";
				break;
			case RuntimePlatform.WindowsPlayer:
				s = "windows";
				break;
			case RuntimePlatform.OSXDashboardPlayer:
				s = "osx dashboard";
				break;
			case RuntimePlatform.WindowsEditor:
				s = "windows editor";
				break;
			case RuntimePlatform.IPhonePlayer:
				s = "iphone";
				break;
			case RuntimePlatform.Android:
				s = "android";
				break;
			case RuntimePlatform.LinuxPlayer:
				s = "linux";
				break;
			case RuntimePlatform.LinuxEditor:
				s = "linux editor";
				break;
			case RuntimePlatform.WebGLPlayer:
				s = "web";
				break;
			case RuntimePlatform.XboxOne:
				s = "xbox";
				break;
			case RuntimePlatform.Switch:
				s = "switch";
				break;
			default:
				s = "unknown";
				break;
		}

		return s;
	}

	public float getDifficulty(){
		return difficulty;
	}

	public bool isPaused(){
		if(paused && startDelay <= 0){
			// Game is paused and it is not the start of a game.
			return true;
		}else if(isGameOver){
			// Game is over.
			return true;
		}else{
			// Game is not paused or it is the start of a new game.
			return false;
		}
	}

	public void addToScore(int amount){
		if(!isGameOver){
			score += amount;
			scoreText.text = string.Format("{0}", score.ToString("D7")); // Show score padded with zeros.
		}
	}

	public void showStatus(string status){
		statusText.enabled = true;
		statusText.text = status;
		statusText.GetComponent<FadeText>().enabled = true; // Turn on the FadeText script.
	}

	public void showStatusFade(string status){
		statusText.enabled = true;
		FadeText script = statusText.GetComponent<FadeText>();
		script.enabled = true; // Enable fade message script.
		script.setPauseTime(Time.fixedTime + 1.0f); // Wait one second to fade.
		statusText.fontSize = 20; // Shrink font for in-game messages.
		statusText.text = status;
		statusText.GetComponent<FadeText>().enabled = true; // Turn on the FadeText script.
	}

	public Rect getScreenRect(){
		return screenRect;
	}

	public void gameOver(){
		isGameOver = true;
		gameOverTimer = Time.fixedTime + 3.0f; // Allow for 3 seconds of game action after game is over.
	}

	public void refreshScreenRect(){
		// Gets world coordinates from the camera for objects z distance away from the camera.
		Vector3 lowerLeft  = Camera.main.ViewportToWorldPoint(new Vector3(0.0f, 0.0f, 0.0f));
		Vector3 upperRight = Camera.main.ViewportToWorldPoint(new Vector3(1.0f, 1.0f, 0.0f));

		// Calculates the bounds of the screen.
		float top = upperRight.y; // Upper bound of the screen in world coordinates.
		float bottom = lowerLeft.y; // Upper bound of the screen in world coordinates.
		float left = lowerLeft.x; // Upper bound of the screen in world coordinates.
		float right = upperRight.x; // Upper bound of the screen in world coordinates.
		screenRect = new Rect(left, bottom, right, top);

		if(isDebug){
			Debug.Log("Calculated Screen Rect\nTop: " + top + "\nBottom: " + bottom + "\nLeft: " + left + "\nRight: " + right);
		}
	}

	private void spawnMeteor(){
		int ran = Mathf.FloorToInt(Random.Range(0.0f, meteors.Count)); // Randomly pick which meteor to create.
		float posX = Random.Range(screenRect.x, screenRect.width); // Randomly place new meteor within screen bounds.
		GameObject meteor = GameObject.Instantiate(meteors[ran], new Vector3(posX, 7, 0), Quaternion.identity);
		GameObject.Destroy(meteor, 8.0f); // Ensure all meteors eventually leave the game.
	}

	private void spawnPowerUp(){
		int ran = Mathf.FloorToInt(Random.Range(0.0f, powerUps.Count)); // Randomly pick which power up to create.
		float posX = Random.Range(screenRect.x, screenRect.width); // Randomly place new power up within screen bounds.
		GameObject powerUp = GameObject.Instantiate(powerUps[ran], new Vector3(posX, 7, 0), Quaternion.identity);
		GameObject.Destroy(powerUp, 8.0f); // Ensure all power ups eventually leave the game.
	}

	public void updateUI(int health){
		healthRect.localPosition = new Vector3(-100 + health, healthRect.localPosition.y, healthRect.localPosition.z);

		if(isDebug){
			Debug.Log("New player healthbar position: " + healthRect.localPosition.x);
		}
	}
}


text:
package com.shejiaomao.weibo.service.adapter;

import com.shejiaomao.maobo.R;
import android.content.Context;
import android.util.Log;
import android.view.View;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.TextView;

import com.cattong.commons.Logger;
import com.shejiaomao.weibo.common.GlobalResource;
import com.shejiaomao.weibo.common.theme.Theme;
import com.shejiaomao.weibo.common.theme.ThemeUtil;
import com.shejiaomao.weibo.service.task.ImageLoad4HeadTask;

public class UserSelectorHolder {
	private static final String TAG = "UserSelectorHolder";
	private Context context;
	ImageView ivProfilePicture;
	TextView tvScreenName;
	TextView tvImpress;
	ImageView ivVerify;
	CheckBox cbUser;

	ImageLoad4HeadTask headTask;
	public UserSelectorHolder(View convertView) {
		if (convertView == null) {
			throw new IllegalArgumentException("convertView is null!");
		}
		context = convertView.getContext();
		ivProfilePicture = (ImageView) convertView.findViewById(R.id.ivProfilePicture);
		tvScreenName = (TextView) convertView.findViewById(R.id.tvScreenName);
		ivVerify = (ImageView) convertView.findViewById(R.id.ivVerify);
		tvImpress = (TextView) convertView.findViewById(R.id.tvImpress);
		cbUser = (CheckBox)convertView.findViewById(R.id.cbUser);

		//主题
		Theme theme = ThemeUtil.createTheme(context);
		tvScreenName.setTextColor(theme.getColor("content"));
		ivVerify.setImageDrawable(theme.getDrawable("icon_verification"));
		tvImpress.setTextColor(theme.getColor("remark"));
		cbUser.setButtonDrawable(theme.getDrawable("selector_checkbox"));

		reset();
	}

	public void reset() {
		if (ivProfilePicture != null) {
			ivProfilePicture.setImageDrawable(GlobalResource.getDefaultMinHeader(context));
		}

		if (tvScreenName != null) {
			tvScreenName.setText("");
		}

		if (ivVerify != null) {
			ivVerify.setVisibility(View.GONE);
		}

		if (tvImpress != null) {
			tvImpress.setText("");
		}

	    if (cbUser != null) {
	    	cbUser.setChecked(false);
	    }

	    headTask = null;
	}

	public void recycle() {
		if (headTask != null) {
			headTask.cancel(true);
		}
		if (Logger.isDebug()) Log.d(TAG, "userselector convertView recycle");
	}
}


text:
export {
    General,
} from './General';

export {
    Marker,
    Sprite,
    PriorityGroup,
    BBox,
} from './types';


text:
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ChangeListManager">
    <list default="true" id="f02d23b5-192d-4cfa-8f90-3107b993275d" name="Default" comment="">
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/scripts/prodavachnik.js" afterPath="$PROJECT_DIR$/scripts/prodavachnik.js" />
    </list>
    <ignored path="$PROJECT_DIR$/.tmp/" />
    <ignored path="$PROJECT_DIR$/temp/" />
    <ignored path="$PROJECT_DIR$/tmp/" />
    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
    <option name="TRACKING_ENABLED" value="true" />
    <option name="SHOW_DIALOG" value="false" />
    <option name="HIGHLIGHT_CONFLICTS" value="true" />
    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
    <option name="LAST_RESOLUTION" value="IGNORE" />
  </component>
  <component name="CreatePatchCommitExecutor">
    <option name="PATCH_PATH" value="" />
  </component>
  <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
  <component name="FileEditorManager">
    <leaf SIDE_TABS_SIZE_LIMIT_KEY="375">
      <file leaf-file-name="prodavachnik.js" pinned="false" current-in-tab="true">
        <entry file="file://$PROJECT_DIR$/scripts/prodavachnik.js">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="1711">
              <caret line="136" column="24" lean-forward="true" selection-start-line="136" selection-start-column="24" selection-end-line="136" selection-end-column="24" />
            <state relative-caret-position="264">
              <caret line="24" column="0" lean-forward="true" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="api.js" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/scripts/api.js">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="2486">
              <caret line="113" column="5" lean-forward="false" selection-start-line="113" selection-start-column="5" selection-end-line="113" selection-end-column="5" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="index.html" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/index.html">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="-132">
              <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
              <folding>
              </folding>
            </state>
          </provider>
        </entry>
      </file>
    </leaf>
  </component>
  <component name="FileTemplateManagerImpl">
    <option name="RECENT_TEMPLATES">
      <list>
        <option value="JavaScript File" />
      </list>
    </option>
  </component>
  <component name="Git.Settings">
    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
  </component>
  <component name="IdeDocumentHistory">
    <option name="CHANGED_PATHS">
      <list>
        <option value="$PROJECT_DIR$/scripts/api.js" />
        <option value="$PROJECT_DIR$/scripts/ExtractUniqueWords.js" />
        <option value="$PROJECT_DIR$/index.html" />
        <option value="$PROJECT_DIR$/scripts/ExtractUniqueWords.js" />
        <option value="$PROJECT_DIR$/scripts/prodavachnik.js" />
      </list>
    </option>
  </component>
  <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
  <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
  <component name="JsGulpfileManager">
    <detection-done>true</detection-done>
    <sorting>DEFINITION_ORDER</sorting>
  </component>
  <component name="ProjectFrameBounds">
    <option name="x" value="-9" />
    <option name="y" value="-9" />
    <option name="width" value="1384" />
    <option name="height" value="786" />
  </component>
  <component name="ProjectView">
    <navigator currentView="ProjectPane" proportions="" version="1">
      <flattenPackages />
      <showMembers />
      <showModules />
      <showLibraryContents />
      <hideEmptyPackages />
      <abbreviatePackageNames />
      <autoscrollToSource />
      <autoscrollFromSource />
      <sortByType />
      <manualOrder />
      <foldersAlwaysOnTop value="true" />
    </navigator>
    <panes>
      <pane id="Scratches" />
      <pane id="ProjectPane">
        <subPane>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="JSTeamworkProject" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="JSTeamworkProject" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="JSTeamworkProject" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="JSTeamworkProject" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="styles" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="JSTeamworkProject" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="JSTeamworkProject" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="static" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="JSTeamworkProject" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="JSTeamworkProject" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="scripts" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
        </subPane>
      </pane>
      <pane id="Scope" />
    </panes>
  </component>
  <component name="PropertiesComponent">
    <property name="settings.editor.selected.configurable" value="Settings.JavaScript" />
    <property name="JavaScriptPreferStrict" value="true" />
    <property name="JavaScriptWeakerCompletionTypeGuess" value="true" />
    <property name="settings.editor.splitter.proportion" value="0.2420886" />
    <property name="WebServerToolWindowFactoryState" value="false" />
    <property name="last_opened_file_path" value="$PROJECT_DIR$/../���� ����� (2)/JSTeamworkProject" />
    <property name="HbShouldOpenHtmlAsHb" value="" />
    <property name="nodejs_interpreter_path" value="C:/Program Files/nodejs/node" />
    <property name="js.eslint.eslintPackage" value="" />
    <property name="js-jscs-nodeInterpreter" value="C:\Program Files\nodejs\node.exe" />
  </component>
  <component name="RunManager">
    <configuration default="true" type="DartCommandLineRunConfigurationType" factoryName="Dart Command Line Application">
      <method />
    </configuration>
    <configuration default="true" type="DartTestRunConfigurationType" factoryName="Dart Test">
      <method />
    </configuration>
    <configuration default="true" type="JavaScriptTestRunnerKarma" factoryName="Karma">
      <config-file value="" />
      <node-interpreter value="project" />
      <envs />
      <method />
    </configuration>
    <configuration default="true" type="JavaScriptTestRunnerProtractor" factoryName="Protractor">
      <config-file value="" />
      <node-interpreter value="project" />
      <envs />
      <method />
    </configuration>
    <configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
      <method />
    </configuration>
    <configuration default="true" type="NodeJSConfigurationType" factoryName="Node.js" path-to-node="project" working-dir="">
      <method />
    </configuration>
    <configuration default="true" type="cucumber.js" factoryName="Cucumber.js">
      <option name="cucumberJsArguments" value="" />
      <option name="executablePath" />
      <option name="filePath" />
      <method />
    </configuration>
    <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
      <node-interpreter>project</node-interpreter>
      <node-options />
      <gulpfile />
      <tasks />
      <arguments />
      <envs />
      <method />
    </configuration>
    <configuration default="true" type="js.build_tools.npm" factoryName="npm">
      <command value="run" />
      <scripts />
      <node-interpreter value="project" />
      <envs />
      <method />
    </configuration>
    <configuration default="true" type="mocha-javascript-test-runner" factoryName="Mocha">
      <node-interpreter>project</node-interpreter>
      <node-options />
      <working-directory />
      <pass-parent-env>true</pass-parent-env>
      <envs />
      <ui />
      <extra-mocha-options />
      <test-kind>DIRECTORY</test-kind>
      <test-directory />
      <recursive>false</recursive>
      <method />
    </configuration>
  </component>
  <component name="ShelveChangesManager" show_recycled="false">
    <option name="remove_strategy" value="false" />
  </component>
  <component name="TaskManager">
    <task active="true" id="Default" summary="Default task">
      <changelist id="f02d23b5-192d-4cfa-8f90-3107b993275d" name="Default" comment="" />
      <created>1496844381235</created>
      <option name="number" value="Default" />
      <option name="presentableId" value="Default" />
      <updated>1496844381235</updated>
      <workItem from="1496844384625" duration="1575000" />
      <workItem from="1497238138238" duration="3770000" />
      <workItem from="1497423128388" duration="1133000" />
      <workItem from="1497238138238" duration="5118000" />
      <workItem from="1497423128388" duration="1133000" />
    </task>
    <servers />
  </component>
  <component name="TimeTrackingManager">

    <option name="totallyTimeSpent" value="6478000" />

  </component>
  <component name="ToolWindowManager">
    <frame x="-9" y="-9" width="1384" height="786" extended-state="6" />
    <editor active="true" />
    <layout>
      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24588938" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />

      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />

      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />

      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
    </layout>
  </component>
  <component name="TypeScriptGeneratedFilesManager">
    <option name="processedProjectFiles" value="true" />
  </component>
  <component name="VcsContentAnnotationSettings">
    <option name="myLimit" value="2678400000" />
  </component>
  <component name="XDebuggerManager">
    <breakpoint-manager />
    <watches-manager />
  </component>
  <component name="editorHistoryManager">
    <entry file="file://$PROJECT_DIR$/scripts/prodavachnik.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="4268">
          <caret line="194" column="1" lean-forward="false" selection-start-line="194" selection-start-column="1" selection-end-line="194" selection-end-column="1" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/scripts/api.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="2486">
          <caret line="113" column="5" lean-forward="false" selection-start-line="113" selection-start-column="5" selection-end-line="113" selection-end-column="5" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/index.html">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding>
            <marker date="1497422502334" expanded="true" signature="4119:4134" ph="..." />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/scripts/prodavachnik.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="3168">
          <caret line="144" column="0" lean-forward="false" selection-start-line="144" selection-start-column="0" selection-end-line="144" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/index.html">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>

    <entry file="file://$PROJECT_DIR$/scripts/api.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="2486">
          <caret line="113" column="5" lean-forward="false" selection-start-line="113" selection-start-column="5" selection-end-line="113" selection-end-column="5" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/scripts/ExtractUniqueWords.js" />
    <entry file="file://$PROJECT_DIR$/index.html">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="-132">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />

          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/scripts/prodavachnik.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="1711">
          <caret line="136" column="24" lean-forward="true" selection-start-line="136" selection-start-column="24" selection-end-line="136" selection-end-column="24" />
          <folding />
        </state>
      </provider>
    </entry>
  </component>
</project>


text:
<?php

namespace GuiasDocentes\AppBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use GuiasDocentes\AppBundle\Form\HiloType;

class ConsultaType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('hiloid', new HiloType(), array ('label' => false))
            ->add('texto','textarea', array ('label' => 'Consulta'))
        ;
    }

    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'GuiasDocentes\AppBundle\Entity\Consulta',
            'cascade_validation' => true
        ));
    }

    /**
     * @return string
     */
    public function getName()
    {
        // return 'guiasdocentes_appbundle_consulta';
        return 'consulta';
    }
}


text:
prefix=PREFIX_VAR

# Use the ephemeral drive as workspace:
cd /media/ephemeral0

# Install:
# - Ruby 1.9 for better multi-threading performance than Ruby 1.8
yum -y install ruby19
yum -y install lighttpd
yum -y install ftp
yum -y install git

# Magic? No! It is for logging console output properly -- including output of this script!
exec > >(tee /var/www/lighttpd/log.txt|tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1

service lighttpd start

# Configure wget to use the squid proxy:
grep -v -E '^((https?|ftp)_proxy|use_proxy)' /etc/wgetrc > wgetrc.tmp
cp wgetrc.tmp /etc/wgetrc
rm -f wgetrc.tmp
echo "https_proxy = http://CACHE_IP_VAR:3128/" >> /etc/wgetrc
echo "http_proxy = http://CACHE_IP_VAR:3128/" >> /etc/wgetrc
echo "ftp_proxy = http://CACHE_IP_VAR:3128/" >> /etc/wgetrc
echo "use_proxy = on" >> /etc/wgetrc

# Get the text-mining pipeline software bundle:
mkdir /media/ephemeral0/pipeline
cd /media/ephemeral0/pipeline
wget http://CACHE_IP_VAR/bundle.tar
tar xf bundle.tar

# Download PMC OA corpus, dictionaries, ontologies, etc., but don't produce labels ("cache" does that):
opacmo/make_opacmo.sh freeze "${prefix}*" | tee -a /media/ephemeral0/pipeline/WORKER_${prefix}_LOG
opacmo/make_opacmo.sh get "${prefix}*" | tee -a /media/ephemeral0/pipeline/WORKER_${prefix}_LOG
opacmo/make_opacmo.sh dictionaries "${prefix}*" | tee -a /media/ephemeral0/pipeline/WORKER_${prefix}_LOG
opacmo/make_opacmo.sh pner "${prefix}*" | tee -a /media/ephemeral0/pipeline/WORKER_${prefix}_LOG
opacmo/make_opacmo.sh tsv "${prefix}*" | tee -a /media/ephemeral0/pipeline/WORKER_${prefix}_LOG

# Package logs and results into separate tar files:
tar cf worker_log_${prefix}.tar fork_*/FORK_LOG VERSION_* WORKER_*
tar cf worker_opacmo_data_${prefix}.tar opacmo_data

# Compress the tar files:
gzip worker_log_${prefix}.tar
gzip worker_opacmo_data_${prefix}.tar

# Uploads the packaged logs/results to the "cache" spot-instance:
ftp -n -v CACHE_IP_VAR << EOT
user anonymous x@y.z
prompt
cd uploads
binary
put worker_log_${prefix}.tar.gz
put worker_opacmo_data_${prefix}.tar.gz
bye
bye
EOT

# Signal script completion:
echo "---opacmo---worker-complete---(${prefix})---"

# And now, terminate the instance:
halt


text:
Meetup CSS SP
======

[Início](../README.md) > [Meetups](../meetups.md) > 20 de outubro de 2015 - Locaweb

## Meetup #10

* **Local:** Locaweb
* **Endereço:** Rua da Várzea, 240 - Barra Funda
* **Patrocinadores:** [Locaweb](http://www.locaweb.com.br/)
* **Participantes:** 60 pessoas
* **Link do Meetup:** [Clique aqui](http://www.meetup.com/pt/CSS-SP/events/225755287/)
* **Fotos:** [Clique aqui](https://www.flickr.com/photos/raphaelfabeni/albums/72157660134791662)

### Talks

| Talk                            | Quem
| ------------------------------  | ------------------------------------------------------------------
| [Flexbox e Grid Layout](http://pt.slideshare.net/diegoeis/flexbox-to-the-people) | [Diego Eis](https://twitter.com/diegoeis)

Tem algum link relacionado ao tema ou que foi discutido no meetup? Abre um PR e adiciona aqui :heart_eyes:

* [A Complete Guide To Flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/)
* [Normalizing Cross-browser Flexbox Bugs](http://philipwalton.com/articles/normalizing-cross-browser-flexbox-bugs/)
* [What the Flexbox](http://flexbox.io/)


text:
package com.andriell.firefly;

import android.content.pm.ActivityInfo;
import android.graphics.Canvas;
import android.media.MediaPlayer;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;

import com.andriell.game.base.Animation;
import com.andriell.game.base.DrawSprite;
import com.andriell.game.base.GameActivity;
import com.andriell.game.base.InterfaceSpriteButtonDownListener;
import com.andriell.game.base.InterfaceSpriteButtonUpListener;
import com.andriell.game.base.InterfaceSpriteCollisionListener;
import com.andriell.game.base.InterfaceSpriteCollisionTarget;
import com.andriell.game.base.SpriteAnimation;
import com.andriell.game.base.SpriteBitmap;
import com.andriell.game.base.SpriteButtonClear;
import com.andriell.game.base.SpriteRouteLissajous;
import com.andriell.game.base.SpriteRunnerAnimation;
import com.andriell.game.base.SpriteSheetBitmap;
import com.andriell.game.base.SpriteSheetXBitmaps;

/**
 * Created by Андрей on 25.12.2016.
 */
public class Level_1_Activity extends GameActivity {
    DrawSprite drawSprite;
    Player player;

    @Override
    protected void init() {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    }

    @Override
    protected View preload() {
        return null;
    }

    @Override
    protected View game() {
        drawSprite = new DrawSprite(this, 4);

        SpriteBitmap bg1 = createSpriteBitmapP(R.drawable.bg1_1);
        drawSprite.addSprite(0, bg1);

        SpriteSheetBitmap bg2 = new SpriteSheetBitmap();
        bg2.setBitmap(createBitmapP(R.drawable.bg2_1));
        setWidthP(bg2, 1F);
        setPositionPBL(bg2, 0, 0);
        bg2.setSpeedX(yP(-0.001F));
        drawSprite.addSprite(0, bg2);

        SpriteSheetXBitmaps bg3 = new SpriteSheetXBitmaps();
        bg3.setBitmap(createBitmapArray(new int[]{R.drawable.bg3_1, R.drawable.bg3_2}));
        setWidthP(bg3, 1F);
        setPositionPBL(bg3, 0, 0);
        bg3.setY(bg3.getY() + 100);
        bg3.setSpeedX(yP(-0.005F));
        drawSprite.addSprite(0, bg3);

        SpriteSheetXBitmaps bg4 = new SpriteSheetXBitmaps();
        bg4.setBitmap(createBitmapArray(new int[]{R.drawable.bg4_1, R.drawable.bg4_2, R.drawable.bg4_3, R.drawable.bg4_4}));
        setWidthP(bg4, 1F);
        setPositionPBL(bg4, 0, 0);
        bg4.setSpeedX(yP(-0.01F));
        drawSprite.addSprite(0, bg4);

        player = new Player();
        drawSprite.addSprite(2, player);

        Monster monster = new Monster();
        setPositionPTR(monster, 0.5F, 0.2F);
        SpriteRouteLissajous lissajousMonster = new SpriteRouteLissajous(1);
        lissajousMonster.setSpeed(1);
        lissajousMonster.add(0, monster, 5000);
        lissajousMonster.setCircleY(2);
        setSizeP(lissajousMonster, 0.4F, 0.9F);
        setPositionPTR(lissajousMonster, 0F, 0.2F);
        drawSprite.addSprite(2, lissajousMonster);

        SpriteButtonClear jumpButton = new SpriteButtonClear();
        jumpButton.setDownListener(player);
        jumpButton.setUpListener(player);
        setSizeP(jumpButton, 0.5F, 1F);
        setPositionPTL(jumpButton, 0F, 0F);
        drawSprite.addSprite(3, jumpButton);

        SpriteButtonClear fireButton = new SpriteButtonClear();
            fireButton.setUpListener(new InterfaceSpriteButtonUpListener() {
            @Override
            public boolean onUp(MotionEvent e, float x, float y) {
                drawSprite.addSprite(2, new PlayerShell(x, y));
                return true;
            }
        });
        setSizeP(fireButton, 0.5F, 1F);
        setPositionPTR(fireButton, 0F, 0F);
        drawSprite.addSprite(3, fireButton);

        MediaPlayer player1 = MediaPlayer.create(this, R.raw.level1);
        player1.setLooping(true);
        player1.start();

        return drawSprite;
    }

    class Player extends SpriteAnimation implements InterfaceSpriteButtonDownListener, InterfaceSpriteButtonUpListener {
        final float A = 0.1F;
        float maxY = 0;
        float speedY = 0;
        float accelerationY = A;

        public Player() {
            setAnimation(createAnimationP(new int[]{R.drawable.player1_1, R.drawable.player1_2}, new int[]{100,100}));
            x = getAnimation().getWidth();
            maxY = displaySize.y - getAnimation().getHeight();
            y = maxY / 2;
        }

        @Override
        public boolean onDraw(Canvas c) {
            speedY += accelerationY;
            y += speedY;
            if (y >= maxY) {
                speedY = 0F;
                y = maxY;
            } else if (y < 0F) {
                speedY = 0F;
                y = 0F;
            }
            return super.onDraw(c);
        }

        @Override
        public boolean onDown(MotionEvent e, float x, float y) {
            accelerationY = -A;
            return true;
        }

        @Override
        public boolean onUp(MotionEvent e, float x, float y) {
            accelerationY = A;
            return true;
        }
    }

    class Monster extends SpriteAnimation implements InterfaceSpriteCollisionListener {
        Animation animation;
        public Monster() {
            if (animation == null) {
                animation = createAnimationP(new int[]{R.drawable.monster1_1, R.drawable.monster1_2}, new int[]{150,150});
            }
            setAnimation(animation);
        }

        @Override
        public boolean onCollision(InterfaceSpriteCollisionTarget sprite) {
            if (sprite instanceof PlayerShell) {
                PlayerShell shell = (PlayerShell) sprite;
                shell.destroy();
            }
            return false;
        }
    }

    class PlayerShell extends SpriteRunnerAnimation implements InterfaceSpriteCollisionTarget {
        Animation animation1;
        Animation animation2;

        public PlayerShell(float x2, float y2) {
            if (animation1 == null) {
                animation1 = createAnimationP(new int[]{R.drawable.shell3_1}, new int[]{100});
                animation2 = createAnimationP(new int[]{R.drawable.shell3_2, R.drawable.shell3_3, R.drawable.shell3_4, 0}, new int[]{100, 100, 100, 100});
            }
            setAnimation(animation1);

            x = player.getX() + player.getWidth() * 3 / 4;
            y = player.getCenterY() + player.getHeight() * 3 / 4;
            setSpeed(this, x2, y2, 10F);
        }

        public void destroy() {
            setAnimation(animation2);
            setSpeedX(0);
            setSpeedY(0);
        }

        @Override
        public boolean onDraw(Canvas c) {
            if (getAnimation() == animation2 && animation2.getBitmap() == null) {
                return false;
            }
            return super.onDraw(c);
        }
    }
}


text:
<?php
namespace MvUserAccess\Form;

use Zend\InputFilter\InputFilterProviderInterface;
use MvBase\Form\AbstractForm;
use Zend\Stdlib\Hydrator;

class Resource
  extends AbstractForm
  implements InputFilterProviderInterface
{
  public function init()
  {
    $this->add([
      'name' => 'name',
      'type' => 'Text',
      'options' => [
        'label' => 'Nome'
      ]
    ]);
  }

  public function getInputFilterSpecification()
  {
    return array(
      'name' => [
        'required' => true,
        'filters' => array(
          ['name' => 'Zend\Filter\StringTrim'],
          ['name' => 'Zend\Filter\StripTags'],
        )
      ]
    );

  }
}


text:
/*! Picturefill - Responsive Images that work today. (and mimic the proposed Picture element with span elements). Author: Scott Jehl, Filament Group, 2012 | License: MIT/GPLv2 */

(function(w) {

	// Enable strict mode
	"use strict";

	w.picturefill = function() {
		var ps = w.document.getElementsByTagName("span");

		// Loop the pictures
		for (var i = 0, il = ps.length; i < il; i++) {
			if (ps[i].getAttribute("data-picture") !== null) {

				var sources = ps[i].getElementsByTagName("span"), matches = [];

				// See if which sources match
				for (var j = 0, jl = sources.length; j < jl; j++) {
					var media = sources[j].getAttribute("data-media");
					// if there's no media specified, OR w.matchMedia is
					// supported
					if (!media || (w.matchMedia && w.matchMedia(media).matches)) {
						matches.push(sources[j]);
					}
				}

				// Find any existing img element in the picture element
				var picImg = ps[i].getElementsByTagName("img")[0];

				if (matches.length) {
					var matchedEl = matches.pop();
					if (!picImg || picImg.parentNode.nodeName === "NOSCRIPT") {
						picImg = w.document.createElement("img");
						picImg.alt = ps[i].getAttribute("data-alt");
					} else if (matchedEl === picImg.parentNode) {
						// Skip further actions if the correct image is already
						// in place
						continue;
					}

					picImg.src = matchedEl.getAttribute("data-src");
					matchedEl.appendChild(picImg);
					picImg.removeAttribute("width");
					picImg.removeAttribute("height");
				} else if (picImg) {
					picImg.parentNode.removeChild(picImg);
				}
			}
		}
	};

	// Run on resize and domready (w.load as a fallback)
	if (w.addEventListener) {
		w.addEventListener("resize", w.picturefill, false);
		w.addEventListener("DOMContentLoaded", function() {
			w.picturefill();
			// Run once only
			w.removeEventListener("load", w.picturefill, false);
		}, false);
		w.addEventListener("load", w.picturefill, false);
	} else if (w.attachEvent) {
		w.attachEvent("onload", w.picturefill);
	}

}(this));


text:
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Web.UI;

using Brew;
using Brew.TypeConverters;

namespace Brew.Webforms.Widgets {

	[ControlValueProperty("Value")]
	public class Slider : Widget, IAutoPostBack {

		public Slider() : base("slider") {	}

		protected override HtmlTextWriterTag TagKey {
			get {
				return HtmlTextWriterTag.Div;
			}
		}

		public override List<WidgetEvent> GetEvents() {
			return new List<WidgetEvent>() {
				new WidgetEvent("change"){ CausesPostBack = true, DataChangedEvent = true, EventName = "ValueChanged" },
				new WidgetEvent("create"),
				new WidgetEvent("start"),
				new WidgetEvent("slide"),
				new WidgetEvent("stop")
			};
		}

		public override List<WidgetOption> GetOptions() {
			return new List<WidgetOption>() {
				new WidgetOption { Name = "animate", DefaultValue = false },
				new WidgetOption { Name = "max", DefaultValue = 100 },
				new WidgetOption { Name = "min", DefaultValue = 0 },
				new WidgetOption { Name = "orientation", DefaultValue = "horizontal" },
				new WidgetOption { Name = "range", DefaultValue = false },
				new WidgetOption { Name = "step", DefaultValue = 1 },
				new WidgetOption { Name = "value", DefaultValue = 0 },
				new WidgetOption { Name = "values", DefaultValue = null }
			};
		}

		protected override bool LoadPostData(string postDataKey, NameValueCollection postCollection) {
			var initialValue = Value;
			base.LoadPostData(postDataKey, postCollection);
			return initialValue != Value;
		}

		protected override void RaisePostDataChangedEvent() {
			base.RaisePostDataChangedEvent();
			OnValueChanged(EventArgs.Empty);
		}

		protected virtual void OnValueChanged(EventArgs e) {
			if (ValueChanged != null) {
				ValueChanged(this, e);
			}
		}

		/// <summary>
		/// This event is triggered on slide stop, or if the value is changed programmatically (by the value method). Takes arguments event and ui. Use event.orginalEvent to detect whether the value changed by mouse, keyboard, or programmatically. Use ui.value (single-handled sliders) to obtain the value of the current handle, $(this).slider('values', index) to get another handle's value.
		/// Reference: http://api.jqueryui.com/slider/#event-change
		/// </summary>
		[Description("This event is triggered on slide stop, or if the value is changed programmatically (by the value method). Takes arguments event and ui. Use event.orginalEvent to detect whether the value changed by mouse, keyboard, or programmatically. Use ui.value (single-handled sliders) to obtain the value of the current handle, $(this).slider('values', index) to get another handle's value.")]
		[Category("Action")]
		public event EventHandler ValueChanged;

		#region .    Options    .

		/// <summary>
		/// Whether to slide handle smoothly when user click outside handle on the bar. Will also accept a string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000).
		/// Reference: http://api.jqueryui.com/slider/#option-animate
		/// </summary>
		[TypeConverter(typeof(StringToObjectConverter))]
		[DefaultValue(false)]
		[Description("Whether to slide handle smoothly when user click outside handle on the bar. Will also accept a string representing one of the three predefined speeds ('slow', 'normal', or 'fast') or the number of milliseconds to run the animation (e.g. 1000).")]
		[Category("Appearance")]
		public dynamic Animate { get; set; }

		/// <summary>
		/// The maximum value of the slider.
		/// Reference: http://api.jqueryui.com/slider/#option-max
		/// </summary>
		[DefaultValue(100)]
		[Description("The maximum value of the slider.")]
		[Category("Behavior")]
		public int Max { get; set; }

		/// <summary>
		/// The minimum value of the slider.
		/// Reference: http://api.jqueryui.com/slider/#option-min
		/// </summary>
		[DefaultValue(0)]
		[Description("The minimum value of the slider.")]
		[Category("Behavior")]
		public int Min { get; set; }

		/// <summary>
		/// This option determines whether the slider has the min at the left, the max at the right or the min at the bottom, the max at the top. Possible values: 'horizontal', 'vertical'.
		/// Reference: http://api.jqueryui.com/slider/#option-orientation
		/// </summary>
		[DefaultValue("horizontal")]
		[Description("This option determines whether the slider has the min at the left, the max at the right or the min at the bottom, the max at the top. Possible values: 'horizontal', 'vertical'.")]
		[Category("Appearance")]
		public string Orientation { get; set; }

		/// <summary>
		/// If set to true, the slider will detect if you have two handles and create a stylable range element between these two. Two other possible values are 'min' and 'max'. A min range goes from the slider min to one handle. A max range goes from one handle to the slider max.
		/// Reference: http://api.jqueryui.com/slider/#option-range
		/// </summary>
		[DefaultValue(false)]
		[Description("If set to true, the slider will detect if you have two handles and create a stylable range element between these two. Two other possible values are 'min' and 'max'. A min range goes from the slider min to one handle. A max range goes from one handle to the slider max.")]
		[Category("Appearance")]
		[TypeConverter(typeof(StringToObjectConverter))]
		public dynamic Range { get; set; }

		/// <summary>
		/// Determines the size or amount of each interval or step the slider takes between min and max. The full specified value range of the slider (max - min) needs to be evenly divisible by the step.
		/// Reference: http://api.jqueryui.com/slider/#option-step
		/// </summary>
		[DefaultValue(1)]
		[Description("Determines the size or amount of each interval or step the slider takes between min and max. The full specified value range of the slider (max - min) needs to be evenly divisible by the step.")]
		[Category("Behavior")]
		public int Step { get; set; }

		/// <summary>
		/// Determines the value of the slider, if there's only one handle. If there is more than one handle, determines the value of the first handle.
		/// Reference: http://api.jqueryui.com/slider/#option-value
		/// </summary>
		[Category("Data")]
		[DefaultValue(0)]
		[Description("Determines the value of the slider, if there's only one handle. If there is more than one handle, determines the value of the first handle.")]
		public int Value { get; set; }

		/// <summary>
		/// This option can be used to specify multiple handles. If range is set to true, the length of 'values' should be 2.
		/// Reference: http://api.jqueryui.com/slider/#option-values
		/// </summary>
		[Category("Data")]
		[DefaultValue(null)]
		[TypeConverter(typeof(Int32ArrayConverter))]
		[Description("This option can be used to specify multiple handles. If range is set to true, the length of 'values' should be 2.")]
		public int[] Values { get; set; }

		#endregion

	}
}


text:
sidebar_label: PDFMargin
---

# PDFMargin interface

#### Signature:

```typescript
export interface PDFMargin
```

## Properties

| Property                                   | Modifiers | Type             | Description       | Default |
| ------------------------------------------ | --------- | ---------------- | ----------------- | ------- |
| [bottom?](./puppeteer.pdfmargin.bottom.md) |           | string \| number | (Optional) |         |
| [left?](./puppeteer.pdfmargin.left.md)     |           | string \| number | (Optional) |         |
| [right?](./puppeteer.pdfmargin.right.md)   |           | string \| number | (Optional) |         |
| [top?](./puppeteer.pdfmargin.top.md)       |           | string \| number | (Optional) |         |