<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>nucleo-dynamixel: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="navtree.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />

nucleo-dynamixel
    0.0.1

A library for controlling dynamixel servomotors, designed for nucleo stm32

Main Page

Related Pages

Modules

Classes

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Class List

Class Index

Class Hierarchy

Class Members

SPI_InitTypeDef Member List

This is the complete list of members for SPI_InitTypeDef, including all inherited members.

BaudRatePrescaler	SPI_InitTypeDef

CLKPhase	SPI_InitTypeDef

CLKPolarity	SPI_InitTypeDef

CRCCalculation	SPI_InitTypeDef

CRCPolynomial	SPI_InitTypeDef

DataSize	SPI_InitTypeDef

Direction	SPI_InitTypeDef

FirstBit	SPI_InitTypeDef

Mode	SPI_InitTypeDef

NSS	SPI_InitTypeDef

TIMode	SPI_InitTypeDef

Generated by

     1.8.11


from flask import Flask
# from flask.ext.sqlalchemy import SQLAlchemy

import os

# DATABASE = 'database.db'

# create app
app = Flask(__name__)

APP_ROOT = os.path.dirname(os.path.abspath(__file__))
APP_STATIC = os.path.join(APP_ROOT, 'static')

# setup db
# app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///ip.db'
# db = SQLAlchemy(app)

# register blueprints
from app.portfolio.views import portfolio
app.register_blueprint(portfolio)

# Run server
if __name__ == '__main__':
    app.run()


if [ ! -f "$1" ] ; then
  echo ""
  echo "limpa_duplicados - Copyright (C) 2009 Gabriel Fernandes"
  echo ""
  echo "Use: $0 /caminho/do/arquivo"
  echo ""
  echo "Parametros:"
  echo "/caminho/do/arquivo = Caminho completo do arquivo;"
  echo ""
  echo "Exemplo: $0 arquivo.txt"
  echo ""
  echo "gabriel@duel.com.br"
  echo ""
  exit 1
fi

# Recebe caminho completo do arquivo para processar
ARQUIVO=$1
ARQUIVO_SAIDA="SAIDA-$ARQUIVO"
ARQUIVO_DUPLICADOS="DUPLICADOS-$ARQUIVO"

# apaga arquivo antigos ja processados
rm -rf "SAIDA-$ARQUIVO" "DUPLICADOS-$ARQUIVO"
# faz backup do arquivo original
#cp "$ARQUIVO" "ORIGINAL-$ARQUIVO"

# Conta quantidade linha para processar
NUM_LINHAS=$(cat $ARQUIVO | wc -l)
let NUM_LINHAS++

# Imprime na saída padrão, somente os campos que não foram possíveis de ser incrementado.
awk '{ if ( !umArrayLinhas[$0]++ ) { print $0 } }' $ARQUIVO > "SAIDA-$ARQUIVO"

# Imprime na saída padrão, somente os campos que foram possíveis de ser incrementado seu valor no array
awk '{ if ( umArrayLinhas[$0]++ ) { print $0 } }' $ARQUIVO > "DUPLICADOS-$ARQUIVO"

# Conta qtd linhas processadas
CONT_LINHAS_DUPLICADAS=$(cat "DUPLICADOS-$ARQUIVO" | wc -l)
CONT_LINHAS_SAIDA=$(cat "SAIDA-$ARQUIVO" | wc -l)

clear
echo "Processado arquivo: $ARQUIVO" > LOG-$ARQUIVO.txt
echo "Registros: $NUM_LINHAS" >> LOG-$ARQUIVO.txt
echo "Normal:$CONT_LINHAS_SAIDA Duplo:$CONT_LINHAS_DUPLICADAS" >> LOG-$ARQUIVO.txt


ACCEPTED

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
Sp. pl. 1:491. 1753

#### Original name
null

### Remarks
null


namespace chrono {
namespace vehicle {

/// @addtogroup vehicle_terrain
/// @{

/// FEA Deformable terrain model.
/// This class implements a terrain made up of isoparametric finite elements. It features
/// Drucker-Prager plasticity and capped Drucker-Prager plasticity.
class CH_VEHICLE_API FEADeformableTerrain : public ChTerrain {
  public:
    /// Construct a default FEADeformableSoil.
    /// The user is responsible for calling various Set methods before Initialize.
    FEADeformableTerrain(ChSystem* system  ///< [in/out] pointer to the containing system);
                         );

    ~FEADeformableTerrain() {}

    /// Get the terrain height at the specified (x,y) location.
    virtual double GetHeight(double x, double y) const override;

    /// Get the terrain normal at the specified (x,y) location.
    virtual chrono::ChVector<> GetNormal(double x, double y) const override;

    /// Get the terrain coefficient of friction at the specified (x,y) location.
    /// This coefficient of friction value may be used by certain tire models to modify
    /// the tire characteristics, but it will have no effect on the interaction of the terrain
    /// with other objects (including tire models that do not explicitly use it).
    /// For FEADeformableTerrain, this function defers to the user-provided functor object
    /// of type ChTerrain::FrictionFunctor, if one was specified.
    /// Otherwise, it returns the constant value of 0.8.
    virtual float GetCoefficientFriction(double x, double y) const override;

    /// Set the properties of the Drucker-Prager FEA soil.
    void SetSoilParametersFEA(double rho,              ///< [in] Soil density
                              double Emod,             ///< [in] Soil modulus of elasticity
                              double nu,               ///< [in] Soil Poisson ratio
                              double yield_stress,     ///< [in] Soil yield stress, for plasticity
                              double hardening_slope,  ///< [in] Soil hardening slope, for plasticity
                              double friction_angle,   ///< [in] Soil internal friction angle
                              double dilatancy_angle   ///< [in] Soil dilatancy angle
                              );

    /// Initialize the terrain system (flat).
    /// This version creates a flat array of points.
    void Initialize(const ChVector<>& start_point,               ///< [in] Base point to build terrain box
                    const ChVector<>& terrain_dimension,         ///< [in] terrain dimensions in the 3 directions
                    const ChVector<int>& terrain_discretization  ///< [in] Number of finite elements in the 3 directions
                    );

    /// Get the underlying FEA mesh.
    std::shared_ptr<fea::ChMesh> GetMesh() const { return m_mesh; }

  private:
    std::shared_ptr<fea::ChMesh> m_mesh;  ///< soil mesh

    double m_rho;  ///< Soil density
    double m_E;    ///< Soil modulus of elasticity
    double m_nu;   ///< Soil Poisson ratio

    double m_yield_stress;     ///< Yield stress for soil plasticity
    double m_hardening_slope;  ///< Hardening slope for soil plasticity
    double m_friction_angle;   ///< Set friction angle for soil plasticity
    double m_dilatancy_angle;  ///< Set dilatancy angle for soil plasticity
};

/// @} vehicle_terrain

}  // end namespace vehicle
}  // end namespace chrono

#endif


import url from 'url';

export const toContainExactPath = function (actual, expected) {
    if (typeof actual !== 'string' || typeof expected !== 'string') {
        return false;
    }

    const actualUrl = url.parse(actual);

    return actualUrl.pathname === expected;
};


<?xml version="1.0" encoding="UTF-8"?>
<billStatus>
  <bill>
    <billType>S</billType>
    <updateDate>2017-06-07T10:10:50Z</updateDate>
    <subjects>
      <billSubjects>
        <legislativeSubjects>
          <item>
            <name>Private Legislation</name>
          </item>
        </legislativeSubjects>
      </billSubjects>
    </subjects>
    <policyArea />
    <laws />
    <version>1.0.0</version>
    <amendments />
    <calendarNumbers />
    <relatedBills />
    <introducedDate>2017-04-27</introducedDate>
    <notes />
    <latestAction>
      <text>Read twice and referred to the Committee on the Judiciary. (text of measure as introduced: CR S2619)</text>
      <actionDate>2017-04-27</actionDate>
      <links />
    </latestAction>
    <originChamber>Senate</originChamber>
    <sponsors>
      <item>
        <identifiers>
          <bioguideId>B001267</bioguideId>
          <gpoId>8302</gpoId>
          <lisID>1965</lisID>
        </identifiers>
        <firstName>Michael</firstName>
        <bioguideId>B001267</bioguideId>
        <middleName>F.</middleName>
        <byRequestType />
        <state>CO</state>
        <fullName>Sen. Bennet, Michael F. [D-CO]</fullName>
        <party>D</party>
        <lastName>Bennet</lastName>
      </item>
    </sponsors>
    <recordedVotes />
    <billNumber>979</billNumber>
    <titles>
      <item>
        <titleType>Official Title as Introduced</titleType>
        <title>A bill for the relief of Arturo Hernandez-Garcia.</title>
        <chamberCode />
        <parentTitleType />
        <chamberName />
      </item>
      <item>
        <titleType>Display Title</titleType>
        <title>A bill for the relief of Arturo Hernandez-Garcia.</title>
        <chamberCode />
        <parentTitleType />
        <chamberName />
      </item>
    </titles>
    <summaries>
      <billSummaries>
        <item>
          <actionDate>2017-04-27</actionDate>
          <actionDesc>Introduced in Senate</actionDesc>
          <text><![CDATA[Provides for the relief of Arturo Hernandez-Garcia.]]></text>
          <name>Introduced in Senate</name>
          <versionCode>00</versionCode>
          <lastSummaryUpdateDate>2017-04-28T08:03:52Z</lastSummaryUpdateDate>
          <updateDate>2017-04-27T04:00:00Z</updateDate>
        </item>
      </billSummaries>
    </summaries>
    <congress>115</congress>
    <committeeReports />
    <title>A bill for the relief of Arturo Hernandez-Garcia.</title>
    <cboCostEstimates />
    <actions>
      <actionByCounts>
        <senate>2</senate>
      </actionByCounts>
      <item>
        <actionDate>2017-04-27</actionDate>
        <committee>
          <systemCode>ssju00</systemCode>
          <name>Judiciary Committee</name>
        </committee>
        <links>
          <link>
            <name>S2619</name>
            <url>https://www.congress.gov/congressional-record/volume-163/senate-section/page/S2619</url>
          </link>
        </links>
        <sourceSystem>
          <name>Senate</name>
          0
        </sourceSystem>
        <text>Read twice and referred to the Committee on the Judiciary. (text of measure as introduced: CR S2619)</text>
        <type>IntroReferral</type>
      </item>
      <item>
        <links />
        <type>IntroReferral</type>
        <actionCode>10000</actionCode>
        <actionDate>2017-04-27</actionDate>
        <committee />
        <text>Introduced in Senate</text>
        <sourceSystem>
          <name>Library of Congress</name>
          9
        </sourceSystem>
      </item>
      <actionTypeCounts>
        <introducedInSenate>1</introducedInSenate>
        <referredToCommittee>1</referredToCommittee>
      </actionTypeCounts>
    </actions>
    <createDate>2017-04-28T00:41:46Z</createDate>
    <cosponsors />
    <committees>
      <billCommittees>
        <item>
          <type>Standing</type>
          <activities>
            <item>
              <date>2017-04-27T19:35:35Z</date>
              <name>Referred to</name>
            </item>
          </activities>
          <systemCode>ssju00</systemCode>
          <chamber>Senate</chamber>
          <name>Judiciary Committee</name>
          <subcommittees />
        </item>
      </billCommittees>
    </committees>
  </bill>
  <dublinCore xmlns:dc="http://purl.org/dc/elements/1.1/">
    <dc:format>text/xml</dc:format>
    <dc:language>EN</dc:language>
    <dc:rights>Pursuant to Title 17 Section 105 of the United States Code, this file is not subject to copyright protection and is in the public domain.</dc:rights>
    <dc:contributor>Congressional Research Service, Library of Congress</dc:contributor>
    <dc:description>This file contains bill summaries and statuses for federal legislation. A bill summary describes the most significant provisions of a piece of legislation and details the effects the legislative text may have on current law and federal programs. Bill summaries are authored by the Congressional Research Service (CRS) of the Library of Congress. As stated in Public Law 91-510 (2 USC 166 (d)(6)), one of the duties of CRS is "to prepare summaries and digests of bills and resolutions of a public general nature introduced in the Senate or House of Representatives". For more information, refer to the User Guide that accompanies this file.</dc:description>
  </dublinCore>
</billStatus>


"""
    MINDBODY Public API

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

    OpenAPI spec version: v6

    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

from swagger_client.models.staff import Staff  # noqa: F401,E501

class ContactLogComment(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """

    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'id': 'int',
        'text': 'str',
        'created_date_time': 'datetime',
        'created_by': 'Staff'
    }

    attribute_map = {
        'id': 'Id',
        'text': 'Text',
        'created_date_time': 'CreatedDateTime',
        'created_by': 'CreatedBy'
    }

    def __init__(self, id=None, text=None, created_date_time=None, created_by=None):  # noqa: E501
        """ContactLogComment - a model defined in Swagger"""  # noqa: E501

        self._id = None
        self._text = None
        self._created_date_time = None
        self._created_by = None
        self.discriminator = None

        if id is not None:
            self.id = id
        if text is not None:
            self.text = text
        if created_date_time is not None:
            self.created_date_time = created_date_time
        if created_by is not None:
            self.created_by = created_by

    @property
    def id(self):
        """Gets the id of this ContactLogComment.  # noqa: E501

        The comment’s ID.  # noqa: E501

        :return: The id of this ContactLogComment.  # noqa: E501
        :rtype: int
        """
        return self._id

    @id.setter
    def id(self, id):
        """Sets the id of this ContactLogComment.

        The comment’s ID.  # noqa: E501

        :param id: The id of this ContactLogComment.  # noqa: E501
        :type: int
        """

        self._id = id

    @property
    def text(self):
        """Gets the text of this ContactLogComment.  # noqa: E501

        The comment’s body text.  # noqa: E501

        :return: The text of this ContactLogComment.  # noqa: E501
        :rtype: str
        """
        return self._text

    @text.setter
    def text(self, text):
        """Sets the text of this ContactLogComment.

        The comment’s body text.  # noqa: E501

        :param text: The text of this ContactLogComment.  # noqa: E501
        :type: str
        """

        self._text = text

    @property
    def created_date_time(self):
        """Gets the created_date_time of this ContactLogComment.  # noqa: E501

        The local time when the comment was created.  # noqa: E501

        :return: The created_date_time of this ContactLogComment.  # noqa: E501
        :rtype: datetime
        """
        return self._created_date_time

    @created_date_time.setter
    def created_date_time(self, created_date_time):
        """Sets the created_date_time of this ContactLogComment.

        The local time when the comment was created.  # noqa: E501

        :param created_date_time: The created_date_time of this ContactLogComment.  # noqa: E501
        :type: datetime
        """

        self._created_date_time = created_date_time

    @property
    def created_by(self):
        """Gets the created_by of this ContactLogComment.  # noqa: E501

        Information about the staff member who created the comment.  # noqa: E501

        :return: The created_by of this ContactLogComment.  # noqa: E501
        :rtype: Staff
        """
        return self._created_by

    @created_by.setter
    def created_by(self, created_by):
        """Sets the created_by of this ContactLogComment.

        Information about the staff member who created the comment.  # noqa: E501

        :param created_by: The created_by of this ContactLogComment.  # noqa: E501
        :type: Staff
        """

        self._created_by = created_by

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(ContactLogComment, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, ContactLogComment):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other


package Controller.Request;

import Model.AccountHandler;
import Model.TweetHandler;

public class Request {

	public static AccountHandler accountHandler=null;
	public static TweetHandler tweetHandler=null;

	public static void setAccountHandler(AccountHandler accHandler){
		Request.accountHandler=accHandler;
	}

	public static void setTweetHandler(TweetHandler tweHandler){
		Request.tweetHandler=tweHandler;
	}

}


BEGIN;
DELETE FROM t1 WHERE a>32;


#include "optionsdialog.h"
#include "ui_optionsdialog.h"

#include "bitcoinunits.h"
#include "monitoreddatamapper.h"
#include "netbase.h"
#include "optionsmodel.h"

#include <QDir>
#include <QIntValidator>
#include <QLocale>
#include <QMessageBox>
#include <QRegExp>
#include <QRegExpValidator>

OptionsDialog::OptionsDialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::OptionsDialog),
    model(0),
    mapper(0),
    fRestartWarningDisplayed_Proxy(false),
    fRestartWarningDisplayed_Lang(false),
    fProxyIpValid(true)
{
    ui->setupUi(this);

    /* Network elements init */
#ifndef USE_UPNP
    ui->mapPortUpnp->setEnabled(false);
#endif

    ui->proxyIp->setEnabled(false);
    ui->proxyPort->setEnabled(false);
    ui->proxyPort->setValidator(new QIntValidator(1, 65535, this));

    ui->socksVersion->setEnabled(false);
    ui->socksVersion->addItem("5", 5);
    ui->socksVersion->addItem("4", 4);
    ui->socksVersion->setCurrentIndex(0);

    connect(ui->connectSocks, SIGNAL(toggled(bool)), ui->proxyIp, SLOT(setEnabled(bool)));
    connect(ui->connectSocks, SIGNAL(toggled(bool)), ui->proxyPort, SLOT(setEnabled(bool)));
    connect(ui->connectSocks, SIGNAL(toggled(bool)), ui->socksVersion, SLOT(setEnabled(bool)));
    connect(ui->connectSocks, SIGNAL(clicked(bool)), this, SLOT(showRestartWarning_Proxy()));

    ui->proxyIp->installEventFilter(this);

    /* Window elements init */
#ifdef Q_OS_MAC
    ui->tabWindow->setVisible(false);
#endif

    /* Display elements init */
    QDir translations(":translations");
    ui->lang->addItem(QString("(") + tr("default") + QString(")"), QVariant(""));
    foreach(const QString &langStr, translations.entryList())
    {
        QLocale locale(langStr);

        /** check if the locale name consists of 2 parts (language_country) */
        if(langStr.contains("_"))
        {
#if QT_VERSION >= 0x040800
            /** display language strings as "native language - native country (locale name)", e.g. "Deutsch - Deutschland (de)" */
            ui->lang->addItem(locale.nativeLanguageName() + QString(" - ") + locale.nativeCountryName() + QString(" (") + langStr + QString(")"), QVariant(langStr));
#else
            /** display language strings as "language - country (locale name)", e.g. "German - Germany (de)" */
            ui->lang->addItem(QLocale::languageToString(locale.language()) + QString(" - ") + QLocale::countryToString(locale.country()) + QString(" (") + langStr + QString(")"), QVariant(langStr));
#endif
        }
        else
        {
#if QT_VERSION >= 0x040800
            /** display language strings as "native language (locale name)", e.g. "Deutsch (de)" */
            ui->lang->addItem(locale.nativeLanguageName() + QString(" (") + langStr + QString(")"), QVariant(langStr));
#else
            /** display language strings as "language (locale name)", e.g. "German (de)" */
            ui->lang->addItem(QLocale::languageToString(locale.language()) + QString(" (") + langStr + QString(")"), QVariant(langStr));
#endif
        }
    }

    ui->unit->setModel(new BitcoinUnits(this));

    /* Widget-to-option mapper */
    mapper = new MonitoredDataMapper(this);
    mapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);
    mapper->setOrientation(Qt::Vertical);

    /* enable apply button when data modified */
    connect(mapper, SIGNAL(viewModified()), this, SLOT(enableApplyButton()));
    /* disable apply button when new data loaded */
    connect(mapper, SIGNAL(currentIndexChanged(int)), this, SLOT(disableApplyButton()));
    /* setup/change UI elements when proxy IP is invalid/valid */
    connect(this, SIGNAL(proxyIpValid(QValidatedLineEdit *, bool)), this, SLOT(handleProxyIpValid(QValidatedLineEdit *, bool)));
}

OptionsDialog::~OptionsDialog()
{
    delete ui;
}

void OptionsDialog::setModel(OptionsModel *model)
{
    this->model = model;

    if(model)
    {
        connect(model, SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));

        mapper->setModel(model);
        setMapper();
        mapper->toFirst();
    }

    /* update the display unit, to not use the default ("BTC") */
    updateDisplayUnit();

    /* warn only when language selection changes by user action (placed here so init via mapper doesn't trigger this) */
    connect(ui->lang, SIGNAL(valueChanged()), this, SLOT(showRestartWarning_Lang()));

    /* disable apply button after settings are loaded as there is nothing to save */
    disableApplyButton();
}

void OptionsDialog::setMapper()
{
    /* Main */
    mapper->addMapping(ui->transactionFee, OptionsModel::Fee);
    mapper->addMapping(ui->reserveBalance, OptionsModel::ReserveBalance);
    mapper->addMapping(ui->bitcoinAtStartup, OptionsModel::StartAtStartup);

    /* Network */
    mapper->addMapping(ui->mapPortUpnp, OptionsModel::MapPortUPnP);

    mapper->addMapping(ui->connectSocks, OptionsModel::ProxyUse);
    mapper->addMapping(ui->proxyIp, OptionsModel::ProxyIP);
    mapper->addMapping(ui->proxyPort, OptionsModel::ProxyPort);
    mapper->addMapping(ui->socksVersion, OptionsModel::ProxySocksVersion);

    /* Window */
#ifndef Q_OS_MAC
    mapper->addMapping(ui->minimizeToTray, OptionsModel::MinimizeToTray);
    mapper->addMapping(ui->minimizeOnClose, OptionsModel::MinimizeOnClose);
#endif

    /* Display */
    mapper->addMapping(ui->lang, OptionsModel::Language);
    mapper->addMapping(ui->unit, OptionsModel::DisplayUnit);
    mapper->addMapping(ui->displayAddresses, OptionsModel::DisplayAddresses);
    mapper->addMapping(ui->coinControlFeatures, OptionsModel::CoinControlFeatures);
}

void OptionsDialog::enableApplyButton()
{
    ui->applyButton->setEnabled(true);
}

void OptionsDialog::disableApplyButton()
{
    ui->applyButton->setEnabled(false);
}

void OptionsDialog::enableSaveButtons()
{
    /* prevent enabling of the save buttons when data modified, if there is an invalid proxy address present */
    if(fProxyIpValid)
        setSaveButtonState(true);
}

void OptionsDialog::disableSaveButtons()
{
    setSaveButtonState(false);
}

void OptionsDialog::setSaveButtonState(bool fState)
{
    ui->applyButton->setEnabled(fState);
    ui->okButton->setEnabled(fState);
}

void OptionsDialog::on_okButton_clicked()
{
    mapper->submit();
    accept();
}

void OptionsDialog::on_cancelButton_clicked()
{
    reject();
}

void OptionsDialog::on_applyButton_clicked()
{
    mapper->submit();
    disableApplyButton();
}

void OptionsDialog::showRestartWarning_Proxy()
{
    if(!fRestartWarningDisplayed_Proxy)
    {
        QMessageBox::warning(this, tr("Warning"), tr("This setting will take effect after restarting brightcoin."), QMessageBox::Ok);
        fRestartWarningDisplayed_Proxy = true;
    }
}

void OptionsDialog::showRestartWarning_Lang()
{
    if(!fRestartWarningDisplayed_Lang)
    {
        QMessageBox::warning(this, tr("Warning"), tr("This setting will take effect after restarting brightcoin."), QMessageBox::Ok);
        fRestartWarningDisplayed_Lang = true;
    }
}

void OptionsDialog::updateDisplayUnit()
{
    if(model)
    {
        /* Update transactionFee with the current unit */
        ui->transactionFee->setDisplayUnit(model->getDisplayUnit());
    }
}

void OptionsDialog::handleProxyIpValid(QValidatedLineEdit *object, bool fState)
{
    // this is used in a check before re-enabling the save buttons
    fProxyIpValid = fState;

    if(fProxyIpValid)
    {
        enableSaveButtons();
        ui->statusLabel->clear();
    }
    else
    {
        disableSaveButtons();
        object->setValid(fProxyIpValid);
        ui->statusLabel->setStyleSheet("QLabel { color: red; }");
        ui->statusLabel->setText(tr("The supplied proxy address is invalid."));
    }
}

bool OptionsDialog::eventFilter(QObject *object, QEvent *event)
{
    if(event->type() == QEvent::FocusOut)
    {
        if(object == ui->proxyIp)
        {
            CService addr;
            /* Check proxyIp for a valid IPv4/IPv6 address and emit the proxyIpValid signal */
            emit proxyIpValid(ui->proxyIp, LookupNumeric(ui->proxyIp->text().toStdString().c_str(), addr));
        }
    }
    return QDialog::eventFilter(object, event);
}


it("scoped slot by default content has event listen", function (done) {
    var clickInfo = {};
    // [inject] init

    expect(wrap.getElementsByTagName('p')[0].innerHTML).toBe('errorrik,male,errorrik@gmail.com');
    myComponent.data.set('man.email', 'erik168@163.com');
    san.nextTick(function () {
        expect(wrap.getElementsByTagName('p')[0].innerHTML).toBe('errorrik,male,erik168@163.com');

        triggerEvent(wrap.getElementsByTagName('p')[0], 'click');
        setTimeout(function () {
            expect(clickInfo.email).toBe('erik168@163.com');
            expect(clickInfo.outer).toBeFalsy();

            myComponent.dispose();
            document.body.removeChild(wrap);
            done();
        }, 500);
    })
});


function showLimitedOptionsQuestion(questionUid, numberOfOptions){

   var questionDB = DB.child("questions/"+questionUid+"/options"); DB.child("questions/"+questionUid+"/options").orderByChild("votes").limitToLast(numberOfOptions).once("value",function(options){

      //adjust the votes to a counting of votes
      DB.child("questions/"+questionUid+"/simpleVoting").once("value", function(voters){

         console.log("adjust the votes to a counting of votes")
         var counts = new Object();
         //get all options
         DB.child("questions/"+questionUid+"/options").once("value", function(options){
            options.forEach(function(option){
               counts[option.key] = 0;
            })

            voters.forEach(function(voter){
               if (!counts[voter.val()]){counts[voter.val()] = 0};
               counts[voter.val()]++;
            });

            for (i in counts){
               questionDB.child(i).update({votes:counts[i]});
            }

         })

      })

      var optionsObject = new Object();
      options.forEach(function(option){
         //         if (color == undefined){
         //            var color = getRandomColor();
         //            DB.child("questions/"+questionUid+"/options/"+option.key).update({color:color});
         //         }
         optionsObject[option.key]= {uuid: option.key, title: option.val().title, votes: option.val().votes,color: option.val().color};
      })

      var preContext = new Array();

      for (i in optionsObject){
         preContext.push({questionUuid: questionUid ,uuid: optionsObject[i].uuid, title: optionsObject[i].title, votes: optionsObject[i].votes , color: optionsObject[i].color});
      };
      var context = {options: preContext};
      console.dir(context);

      renderTemplate("#simpleVote-tmpl", context, "wrapper");
      renderTemplate("#simpleVoteBtns-tmpl", context, "footer");

      $(".voteBtn").ePulse({
         bgColor: "#ded9d9",
         size: 'medium'
      });

      adjustHighetLimitedOptions(optionsObject);

      listenToLimitedOptions(optionsObject, questionDB);
   })

   lightCheckedBtn(questionUid);

   var turnOff = function(){
      console.log("turning off");
      questionDB.once("value", function(activeListeners){
         activeListeners.forEach(function(activeListenr){
            console.log("turning off: "+ activeListenr.key);
            questionDB.child(activeListenr.key).off();
         })
      })
   };
   setActiveEntity("questions",questionUid,"","",turnOff)
}

function voteSimple(questionUid, optionUid){

   $("#info").hide(400);
   var optionUidStr = JSON.stringify(optionUid);
   //check to see what have the user voted last

   DB.child("questions/"+questionUid+"/simpleVoting/"+userUuid).once("value", function(vote){
      var isExists = vote.exists();

      if (!isExists){
         DB.child("questions/"+questionUid+"/simpleVoting/"+userUuid).set(optionUid);

         DB.child("questions/"+questionUid+"/options/"+optionUid+"/votes").transaction(function(currentVote){
            return currentVote +1;
         })
         $(".voteBtn").css("border" , "0px solid black");
         $("#"+optionUid+"_btn").css("border" , "3px solid black");
      } else {
         var lastVoted = vote.val();
         if (optionUid == lastVoted){
            DB.child("questions/"+questionUid+"/options/"+optionUid+"/votes").transaction(function(currentVote){
               return currentVote -1;
            })
            DB.child("questions/"+questionUid+"/simpleVoting/"+userUuid).remove();

            $(".voteBtn").css("border" , "0px solid black");
         } else {
            DB.child("questions/"+questionUid+"/options/"+lastVoted+"/votes").transaction(function(currentVote){
               return currentVote -1;
            });
            DB.child("questions/"+questionUid+"/options/"+optionUid+"/votes").transaction(function(currentVote){
               return currentVote +1;
            })
            DB.child("questions/"+questionUid+"/simpleVoting/"+userUuid).set(optionUid);
            $(".voteBtn").css("border" , "0px solid black");
            $("#"+optionUid+"_btn").css("border" , "3px solid black");
         }

      }
   })
}

function lightCheckedBtn(questionUid){
   DB.child("questions/"+questionUid+"/simpleVoting/"+userUuid).once("value", function(checkedOption){

      $(".voteBtn").css("border" , "0px solid black");
      $("#"+checkedOption.val()+"_btn").css("border" , "3px solid black");
   })
}

function listenToLimitedOptions (optionsObject, questionDB){

   for (i in optionsObject){
      questionDB.child(optionsObject[i].uuid).on("value",function(optionVote){

         optionsObject[optionVote.key].votes = optionVote.val().votes;
         adjustHighetLimitedOptions(optionsObject);

      })
   }
}

function adjustHighetLimitedOptions(optionsObject){
   //look for max votes
   var maxVotes = 20;
   for (i in optionsObject){
      if (optionsObject[i].votes > maxVotes){
         maxVotes = optionsObject[i].votes;
      }
   }
   //find the dimensions of the wrapper to adjust drawing

   var NumberOfOptionsActualy = Object.keys(optionsObject).length;
   var divBarWidth = $("wrapper").width()/NumberOfOptionsActualy;
   var barWidth = 0.8*divBarWidth;

   var wrapperDimensions = new Object();
   var wrapperHeight = $("wrapper").height() - $("footer").height()-20;

   for (i in optionsObject){
      var relativeToMaxBar;
      if (optionsObject[i].votes==undefined||optionsObject[i].votes<=0){
         relativeToMaxBar=0.1/maxVotes;
      } else{
         relativeToMaxBar = (optionsObject[i].votes/maxVotes);
      }

      $("#"+optionsObject[i].uuid+"_div").css('height', wrapperHeight*relativeToMaxBar).css("width", barWidth).text(optionsObject[i].votes);
      $("#"+optionsObject[i].uuid+"_btn").css("background-color", optionsObject[i].color);
   }
}


/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
	display: none;
}
.ui-helper-hidden-accessible {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.ui-helper-reset {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	line-height: 1.3;
	text-decoration: none;
	font-size: 100%;
	list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
	content: "";
	display: table;
	border-collapse: collapse;
}
.ui-helper-clearfix:after {
	clear: both;
}
.ui-helper-clearfix {
	min-height: 0; /* support: IE7 */
}
.ui-helper-zfix {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	opacity: 0;
	filter:Alpha(Opacity=0);
}

.ui-front {
	z-index: 100;
}

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
	cursor: default !important;
}

/* Icons
----------------------------------*/

/* states and images */
.ui-icon {
	display: block;
	text-indent: -99999px;
	overflow: hidden;
	background-repeat: no-repeat;
}

/* Misc visuals
----------------------------------*/

/* Overlays */
.ui-widget-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.ui-resizable {
	position: relative;
}
.ui-resizable-handle {
	position: absolute;
	font-size: 0.1px;
	display: block;
}
.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
	display: none;
}
.ui-resizable-n {
	cursor: n-resize;
	height: 7px;
	width: 100%;
	top: -5px;
	left: 0;
}
.ui-resizable-s {
	cursor: s-resize;
	height: 7px;
	width: 100%;
	bottom: -5px;
	left: 0;
}
.ui-resizable-e {
	cursor: e-resize;
	width: 7px;
	right: -5px;
	top: 0;
	height: 100%;
}
.ui-resizable-w {
	cursor: w-resize;
	width: 7px;
	left: -5px;
	top: 0;
	height: 100%;
}
.ui-resizable-se {
	cursor: se-resize;
	width: 12px;
	height: 12px;
	right: 1px;
	bottom: 1px;
}
.ui-resizable-sw {
	cursor: sw-resize;
	width: 9px;
	height: 9px;
	left: -5px;
	bottom: -5px;
}
.ui-resizable-nw {
	cursor: nw-resize;
	width: 9px;
	height: 9px;
	left: -5px;
	top: -5px;
}
.ui-resizable-ne {
	cursor: ne-resize;
	width: 9px;
	height: 9px;
	right: -5px;
	top: -5px;
}
.ui-button {
	display: inline-block;
	position: relative;
	padding: 0;
	line-height: normal;
	margin-right: .1em;
	cursor: pointer;
	vertical-align: middle;
	text-align: center;
	overflow: visible; /* removes extra width in IE */
}
.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
	text-decoration: none;
}
/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
	width: 2.2em;
}
/* button elements seem to need a little more width */
button.ui-button-icon-only {
	width: 2.4em;
}
.ui-button-icons-only {
	width: 3.4em;
}
button.ui-button-icons-only {
	width: 3.7em;
}

/* button text element */
.ui-button .ui-button-text {
	display: block;
	line-height: normal;
}
.ui-button-text-only .ui-button-text {
	padding: .4em 1em;
}
.ui-button-icon-only .ui-button-text,
.ui-button-icons-only .ui-button-text {
	padding: .4em;
	text-indent: -9999999px;
}
.ui-button-text-icon-primary .ui-button-text,
.ui-button-text-icons .ui-button-text {
	padding: .4em 1em .4em 2.1em;
}
.ui-button-text-icon-secondary .ui-button-text,
.ui-button-text-icons .ui-button-text {
	padding: .4em 2.1em .4em 1em;
}
.ui-button-text-icons .ui-button-text {
	padding-left: 2.1em;
	padding-right: 2.1em;
}
/* no icon support for input elements, provide padding by default */
input.ui-button {
	padding: .4em 1em;
}

/* button icon element(s) */
.ui-button-icon-only .ui-icon,
.ui-button-text-icon-primary .ui-icon,
.ui-button-text-icon-secondary .ui-icon,
.ui-button-text-icons .ui-icon,
.ui-button-icons-only .ui-icon {
	position: absolute;
	top: 50%;
	margin-top: -8px;
}
.ui-button-icon-only .ui-icon {
	left: 50%;
	margin-left: -8px;
}
.ui-button-text-icon-primary .ui-button-icon-primary,
.ui-button-text-icons .ui-button-icon-primary,
.ui-button-icons-only .ui-button-icon-primary {
	left: .5em;
}
.ui-button-text-icon-secondary .ui-button-icon-secondary,
.ui-button-text-icons .ui-button-icon-secondary,
.ui-button-icons-only .ui-button-icon-secondary {
	right: .5em;
}

/* button sets */
.ui-buttonset {
	margin-right: 7px;
}
.ui-buttonset .ui-button {
	margin-left: 0;
	margin-right: -.3em;
}

/* workarounds */
/* reset extra padding in Firefox, see h5bp.com/l */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
	border: 0;
	padding: 0;
}
.ui-dialog {
	position: absolute;
	top: 0;
	left: 0;
	padding: .2em;
	outline: 0;
}
.ui-dialog .ui-dialog-titlebar {
	padding: .4em 1em;
	position: relative;
}
.ui-dialog .ui-dialog-title {
	float: left;
	margin: .1em 0;
	white-space: nowrap;
	width: 90%;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ui-dialog .ui-dialog-titlebar-close {
	position: absolute;
	right: .3em;
	top: 50%;
	width: 21px;
	margin: -10px 0 0 0;
	padding: 1px;
	height: 20px;
}
.ui-dialog .ui-dialog-content {
	position: relative;
	border: 0;
	padding: .5em 1em;
	background: none;
	overflow: auto;
}
.ui-dialog .ui-dialog-buttonpane {
	text-align: left;
	border-width: 1px 0 0 0;
	background-image: none;
	margin-top: .5em;
	padding: .3em 1em .5em .4em;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
	float: right;
}
.ui-dialog .ui-dialog-buttonpane button {
	margin: .5em .4em .5em 0;
	cursor: pointer;
}
.ui-dialog .ui-resizable-se {
	width: 12px;
	height: 12px;
	right: -5px;
	bottom: -5px;
	background-position: 16px 16px;
}
.ui-draggable .ui-dialog-titlebar {
	cursor: move;
}
.ui-tooltip {
	padding: 8px;
	position: absolute;
	z-index: 9999;
	max-width: 300px;
	-webkit-box-shadow: 0 0 5px #aaa;
	box-shadow: 0 0 5px #aaa;
}
body .ui-tooltip {
	border-width: 2px;
}

/* Component containers
----------------------------------*/
.ui-widget {
	font-family: Verdana,Arial,sans-serif;
	font-size: 1.1em;
}
.ui-widget .ui-widget {
	font-size: 1em;
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
	font-family: Verdana,Arial,sans-serif;
	font-size: 1em;
}
.ui-widget-content {
	border: 1px solid #aaaaaa;
	background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
	color: #222222;
}
.ui-widget-content a {
	color: #222222;
}
.ui-widget-header {
	border: 1px solid #aaaaaa;
	background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
	color: #222222;
	font-weight: bold;
}
.ui-widget-header a {
	color: #222222;
}

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
	border: 1px solid #d3d3d3;
	background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;
	font-weight: normal;
	color: #555555;
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
	color: #555555;
	text-decoration: none;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
	border: 1px solid #999999;
	background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;
	font-weight: normal;
	color: #212121;
}
.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited {
	color: #212121;
	text-decoration: none;
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
	border: 1px solid #aaaaaa;
	background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
	font-weight: normal;
	color: #212121;
}
.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
	color: #212121;
	text-decoration: none;
}

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
	border: 1px solid #fcefa1;
	background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;
	color: #363636;
}
.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
	color: #363636;
}
.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
	border: 1px solid #cd0a0a;
	background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
	color: #cd0a0a;
}
.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
	color: #cd0a0a;
}
.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
	color: #cd0a0a;
}
.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
	font-weight: bold;
}
.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
	opacity: .7;
	filter:Alpha(Opacity=70);
	font-weight: normal;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
	opacity: .35;
	filter:Alpha(Opacity=35);
	background-image: none;
}
.ui-state-disabled .ui-icon {
	filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
}

/* Icons
----------------------------------*/

/* states and images */
.ui-icon {
	width: 16px;
	height: 16px;
}
.ui-icon,
.ui-widget-content .ui-icon {
	background-image: url(images/ui-icons_222222_256x240.png);
}
.ui-widget-header .ui-icon {
	background-image: url(images/ui-icons_222222_256x240.png);
}
.ui-state-default .ui-icon {
	background-image: url(images/ui-icons_888888_256x240.png);
}
.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon {
	background-image: url(images/ui-icons_454545_256x240.png);
}
.ui-state-active .ui-icon {
	background-image: url(images/ui-icons_454545_256x240.png);
}
.ui-state-highlight .ui-icon {
	background-image: url(images/ui-icons_2e83ff_256x240.png);
}
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
	background-image: url(images/ui-icons_cd0a0a_256x240.png);
}

/* positioning */
.ui-icon-blank { background-position: 16px 16px; }
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-on { background-position: -96px -144px; }
.ui-icon-radio-off { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }

/* Misc visuals
----------------------------------*/

/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
	border-top-left-radius: 4px;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
	border-top-right-radius: 4px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
	border-bottom-left-radius: 4px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
	border-bottom-right-radius: 4px;
}

/* Overlays */
.ui-widget-overlay {
	background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
	opacity: .3;
	filter: Alpha(Opacity=30);
}
.ui-widget-shadow {
	margin: -8px 0 0 -8px;
	padding: 8px;
	background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
	opacity: .3;
	filter: Alpha(Opacity=30);
	border-radius: 8px;
}


#pragma once

#include <kernel/thread.h>
#include <lk/compiler.h>
#include <lk/debug.h>
#include <stdint.h>

__BEGIN_CDECLS

#define MUTEX_MAGIC (0x6D757478)  // 'mutx'

typedef struct mutex {
    uint32_t magic;
    thread_t *holder;
    int count;
    wait_queue_t wait;
} mutex_t;

#define MUTEX_INITIAL_VALUE(m) \
{ \
    .magic = MUTEX_MAGIC, \
    .holder = NULL, \
    .count = 0, \
    .wait = WAIT_QUEUE_INITIAL_VALUE((m).wait), \
}

/* Rules for Mutexes:
 * - Mutexes are only safe to use from thread context.
 * - Mutexes are non-recursive.
*/

void mutex_init(mutex_t *);
void mutex_destroy(mutex_t *);
status_t mutex_acquire_timeout(mutex_t *, lk_time_t); /* try to acquire the mutex with a timeout value */
status_t mutex_release(mutex_t *);

static inline status_t mutex_acquire(mutex_t *m) {
    return mutex_acquire_timeout(m, INFINITE_TIME);
}

/* does the current thread hold the mutex? */
static bool is_mutex_held(mutex_t *m) {
    return m->holder == get_current_thread();
}

__END_CDECLS


UIMiniWindowContainer = extends(UIWidget, "UIMiniWindowContainer")

function UIMiniWindowContainer.create()
  local container = UIMiniWindowContainer.internalCreate()
  container.scheduledWidgets = {}
  container:setFocusable(false)
  container:setPhantom(true)
  return container
end

-- TODO: connect to window onResize event
-- TODO: try to resize another widget?
-- TODO: try to find another panel?
function UIMiniWindowContainer:fitAll(noRemoveChild)
  if not self:isVisible() then
    return
  end

  if not noRemoveChild then
    local children = self:getChildren()
    if #children > 0 then
      noRemoveChild = children[#children]
    else
      return
    end
  end

  local sumHeight = 0
  local children = self:getChildren()
  for i=1,#children do
    if children[i]:isVisible() then
      sumHeight = sumHeight + children[i]:getHeight()
    end
  end

  local selfHeight = self:getHeight() - (self:getPaddingTop() + self:getPaddingBottom())
  if sumHeight <= selfHeight then
    return
  end

  local removeChildren = {}

  -- try to resize noRemoveChild
  local maximumHeight = selfHeight - (sumHeight - noRemoveChild:getHeight())
  if noRemoveChild:isResizeable() and noRemoveChild:getMinimumHeight() <= maximumHeight then
    sumHeight = sumHeight - noRemoveChild:getHeight() + maximumHeight
    addEvent(function() noRemoveChild:setHeight(maximumHeight) end)
  end

  -- try to remove no-save widget
  for i=#children,1,-1 do
    if sumHeight <= selfHeight then
      break
    end

    local child = children[i]
    if child ~= noRemoveChild and not child.save then
      local childHeight = child:getHeight()
      sumHeight = sumHeight - childHeight
      table.insert(removeChildren, child)
    end
  end

  -- try to remove save widget
  for i=#children,1,-1 do
    if sumHeight <= selfHeight then
      break
    end

    local child = children[i]
    if child ~= noRemoveChild and child:isVisible() then
      local childHeight = child:getHeight()
      sumHeight = sumHeight - childHeight
      table.insert(removeChildren, child)
    end
  end

  -- close widgets
  for i=1,#removeChildren do
    removeChildren[i]:close()
  end
end

function UIMiniWindowContainer:onDrop(widget, mousePos)
  if widget:getClassName() == 'UIMiniWindow' then
    local oldParent = widget:getParent()
    if oldParent == self then
      return true
    end

    if oldParent then
      oldParent:removeChild(widget)
    end

    if widget.movedWidget then
      local index = self:getChildIndex(widget.movedWidget)
      self:insertChild(index + widget.movedIndex, widget)
    else
      self:addChild(widget)
    end

    self:fitAll(widget)
    return true
  end
end

function UIMiniWindowContainer:swapInsert(widget, index)
  local oldParent = widget:getParent()
  local oldIndex = self:getChildIndex(widget)

  if oldParent == self and oldIndex ~= index then
    local oldWidget = self:getChildByIndex(index)
    if oldWidget then
      self:removeChild(oldWidget)
      self:insertChild(oldIndex, oldWidget)
    end
    self:removeChild(widget)
    self:insertChild(index, widget)
  end
end

function UIMiniWindowContainer:scheduleInsert(widget, index)
  if index - 1 > self:getChildCount() then
    if self.scheduledWidgets[index] then
      pdebug('replacing scheduled widget id ' .. widget:getId())
    end
    self.scheduledWidgets[index] = widget
  else
    local oldParent = widget:getParent()
    if oldParent ~= self then
      if oldParent then
        oldParent:removeChild(widget)
      end
      self:insertChild(index, widget)

      while true do
        local placed = false
        for nIndex,nWidget in pairs(self.scheduledWidgets) do
          if nIndex - 1 <= self:getChildCount() then
            self:insertChild(nIndex, nWidget)
            self.scheduledWidgets[nIndex] = nil
            placed = true
            break
          end
        end
        if not placed then break end
      end

    end
  end
end

function UIMiniWindowContainer:order()
  local children = self:getChildren()
  for i=1,#children do
    if not children[i].miniLoaded then return end
  end

  for i=1,#children do
    if children[i].miniIndex then
      self:swapInsert(children[i], children[i].miniIndex)
    end
  end
end

function UIMiniWindowContainer:saveChildren()
  local children = self:getChildren()
  local ignoreIndex = 0
  for i=1,#children do
    if children[i].save then
      children[i]:saveParentIndex(self:getId(), i - ignoreIndex)
    else
      ignoreIndex = ignoreIndex + 1
    end
  end
end


ogex_int_array_t *ogex_int_array_create(int capacity)
{
    ogex_int_array_t *array = calloc(1, sizeof(ogex_int_array_t));
    if (array == NULL) {
        return NULL;
    }

    vec_init(array);
    vec_reserve(array, capacity);

    return array;
}

void ogex_int_array_free(ogex_int_array_t *array)
{
    assert(array != NULL);
    vec_deinit(array);
    free(array);
}

void ogex_int_array_destroy(ogex_int_array_t *array)
{
    assert(array != NULL);
    vec_deinit(array);
    free(array);
}

int ogex_int_array_push(ogex_int_array_t *array, int value)
{
    assert(array != NULL);
    int result = vec_push(array, value);
    return result != -1;
}

int ogex_int_array_get(ogex_int_array_t *array, int index)
{
    assert(array != NULL);
    assert(index < 0 && index >= array->length);

    return vec_get(array, index);
}

int ogex_int_array_pop(ogex_int_array_t *array)
{
    assert(array != NULL);
    return vec_pop(array);
}


var React = require('react');
var mdlHandler = require('./mdlComponentHandler');

function mdlUpgradable(spec) {

  var mdlPrefix = 'mdl-',
      jsPrefix = 'js-',
      displayName = spec.displayName,
      componentName = displayName.replace('Material', '');

  var upgradeMdlComponent = function (node) {
    mdlHandler.upgradeElement(node, displayName);
  };

  var downgradeMdlComponent = function(node) {
    mdlHandler.downgradeElements(node, displayName);
  };

  return React.createClass({

    displayName: displayName,

    propTypes: { className: React.PropTypes.string },

    getDefaultProps: function() {
      return { className: '' };
    },

    componentDidMount: function() {
      upgradeMdlComponent(this.getDOMNode());
    },

    componentWillUpdate: function() {
      downgradeMdlComponent(this.getDOMNode());
    },

    componentDidUpdate: function() {
      upgradeMdlComponent(this.getDOMNode());
    },

    componentWillUnmount: function() {
      downgradeMdlComponent(this.getDOMNode());
    },

    getUpgradedMDLClassList: function() {
      var cssClass = mdlPrefix + jsPrefix + componentName.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(),
          baseClass = cssClass.replace(jsPrefix, '');

      return [baseClass, cssClass];
    },

    render: function() {

      var classList = this.props.className.split(' '),
          mdlClassList = this.getUpgradedMDLClassList();

      this.element = React.createElement(spec, this.props);

      return React.cloneElement(this.element, {
        className: mdlClassList.concat(classList).join(' ')
      });
    }

  });

}

module.exports = mdlUpgradable;


/* Generic definitions */

/* Assertions (useful to generate conditional code) */
/* Current type and class (and size, if applicable) */
/* Value methods */
/* Interfaces (keys) */
/* Interfaces (values) */
/* Abstract implementations (keys) */
/* Abstract implementations (values) */
/* Static containers (keys) */
/* Static containers (values) */
/* Implementations */
/* Synchronized wrappers */
/* Unmodifiable wrappers */
/* Other wrappers */
/* Methods (keys) */
/* Methods (values) */
/* Methods (keys/values) */
/* Methods that have special names depending on keys (but the special names depend on values) */
/* Equality */
/* Object/Reference-only definitions (keys) */
/* Primitive-type-only definitions (keys) */
/* Object/Reference-only definitions (values) */
/* Primitive-type-only definitions (values) */
/*
 * Copyright (C) 2002-2013 Sebastiano Vigna
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package it.unimi.dsi.fastutil.ints;
import it.unimi.dsi.fastutil.chars.CharCollection;
import it.unimi.dsi.fastutil.objects.ObjectSet;
import it.unimi.dsi.fastutil.objects.ObjectIterator;
import java.util.Map;
/** A type-specific {@link Map}; provides some additional methods that use polymorphism to avoid (un)boxing, and handling of a default return value.
 *
 *
Besides extending the corresponding type-specific {@linkplain it.unimi.dsi.fastutil.Function function}, this interface strengthens {@link #entrySet()},
 * {@link #keySet()} and {@link #values()}. Maps returning entry sets of type {@link FastEntrySet} support also fast iteration.
 *
 *
A submap or subset may or may not have an
 * independent default return value (which however must be initialized to the
 * default return value of the originator).
 *
 * @see Map
 */
public interface Int2CharMap extends Int2CharFunction , Map<Integer,Character> {
 /** An entry set providing fast iteration.
	 *
	 *
In some cases (e.g., hash-based classes) iteration over an entry set requires the creation
	 * of a large number of {@link java.util.Map.Entry} objects. Some fastutil
	 * maps might return {@linkplain #entrySet() entry set} objects of type FastEntrySet: in this case, {@link #fastIterator() fastIterator()}
	 * will return an iterator that is guaranteed not to create a large number of objects, possibly
	 * by returning always the same entry (of course, mutated).
	 */
 public interface FastEntrySet extends ObjectSet<Int2CharMap.Entry > {
  /** Returns a fast iterator over this entry set; the iterator might return always the same entry object, suitably mutated.
		 *
		 * @return a fast iterator over this entry set; the iterator might return always the same {@link java.util.Map.Entry} object, suitably mutated.
		 */
  public ObjectIterator<Int2CharMap.Entry > fastIterator();
 }
 /** Returns a set view of the mappings contained in this map.
	 *
Note that this specification strengthens the one given in {@link Map#entrySet()}.
	 *
	 * @return a set view of the mappings contained in this map.
	 * @see Map#entrySet()
	 */
 ObjectSet<Map.Entry<Integer, Character>> entrySet();
 /** Returns a type-specific set view of the mappings contained in this map.
	 *
	 *
This method is necessary because there is no inheritance along
	 * type parameters: it is thus impossible to strengthen {@link #entrySet()}
	 * so that it returns an {@link it.unimi.dsi.fastutil.objects.ObjectSet}
	 * of objects of type {@link java.util.Map.Entry} (the latter makes it possible to
	 * access keys and values with type-specific methods).
	 *
	 * @return a type-specific set view of the mappings contained in this map.
	 * @see #entrySet()
	 */
 ObjectSet<Int2CharMap.Entry > int2CharEntrySet();
 /** Returns a set view of the keys contained in this map.
	 *
Note that this specification strengthens the one given in {@link Map#keySet()}.
	 *
	 * @return a set view of the keys contained in this map.
	 * @see Map#keySet()
	 */
 IntSet keySet();
 /** Returns a set view of the values contained in this map.
	 *
Note that this specification strengthens the one given in {@link Map#values()}.
	 *
	 * @return a set view of the values contained in this map.
	 * @see Map#values()
	 */
 CharCollection values();
 /**
	 * @see Map#containsValue(Object)
	 */
 boolean containsValue( char value );
 /** A type-specific {@link java.util.Map.Entry}; provides some additional methods
	 *  that use polymorphism to avoid (un)boxing.
	 *
	 * @see java.util.Map.Entry
	 */
 interface Entry extends Map.Entry <Integer,Character> {

  /**
		 * @see java.util.Map.Entry#getKey()
		 */
  int getIntKey();

  /**
		 * @see java.util.Map.Entry#setValue(Object)
		 */
  char setValue(char value);

  /**
		 * @see java.util.Map.Entry#getValue()
		 */
  char getCharValue();

 }
}


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package wts.models.DisMELS.IBMFunctions.Spawning;

import com.wtstockhausen.utils.RandomNumberGenerator;
import org.openide.util.lookup.ServiceProvider;
import org.openide.util.lookup.ServiceProviders;
import wts.models.DisMELS.framework.GlobalInfo;
import wts.models.DisMELS.framework.IBMFunctions.AbstractIBMFunction;
import wts.models.DisMELS.framework.IBMFunctions.IBMFunctionInterface;
import wts.models.DisMELS.framework.IBMFunctions.IBMParameter;

/**
 * This class provides an implementation of batch spawning activity with"
 *  a poisson-distributed recovery period
 * Type:
 *      spawning function
 * Parameters (by key):
 *      minRecoveryPeriod - Double - minimum recovery period (d)
 *      meaRecoveryPeriod - Double - mean recovery period (d)
 *      randomize         - Boolean - randomize recovery period
 * Variables:
 *      vars - any Object or null
 * Value:
 *      t - time to next spawning event(d)
 *      t ~ Poisson[meanRP,1/(meanRP-minRP)]
 *
 * @author William.Stockhausen
 */
@ServiceProviders(value={
    @ServiceProvider(service=IBMFunctionInterface.class)}
)
public class BatchSpawningFunction extends AbstractIBMFunction {

    /** random number generator */
    protected static final RandomNumberGenerator rng = GlobalInfo.getInstance().getRandomNumberGenerator();

    /** function classification */
    public static final String DEFAULT_type = "Spawning";
    /** user-friendly function name */
    public static final String DEFAULT_name = "batch spawning function";
    /** function description */
    public static final String DEFAULT_descr = "batch spawning function";
    /** full description */
    public static final String DEFAULT_fullDescr =
            "\n\t**************************************************************************"+
            "\n\t* This class provides an implementation of batch spawning activity with"+
            "\n\t*  a poisson-distributed recovery period."+
            "\n\t* Type: "+
            "\n\t*      spawning function"+
            "\n\t* Parameters (by key):"+
            "\n\t*      minRecoveryPeriod - Double - minimum recovery period (d)"+
            "\n\t*      meaRecoveryPeriod - Double - mean recovery period (d)"+
            "\n\t*      randomize         - Boolean - randomize recovery period "+
            "\n\t* Variables:"+
            "\n\t*      vars - any Object or null"+
            "\n\t* Value:"+
            "\n\t*      t - time to next spawning event(d)"+
            "\n\t*      t ~ Poisson[meanRP,1/(meanRP-minRP)]"+
            "\n\t* author: William.Stockhausen"+
            "\n\t**************************************************************************";

    /** number of settable parameters */
    public static final int numParams = 2;
    /** number of sub-functions */
    public static final int numSubFuncs = 0;

    /** key to set min recovery period parameter */
    public static final String PARAM_minRecoveryPeriod = "minimum recovery period (d)";
    /** key to set mean recovery period parameter */
    public static final String PARAM_meanRecoveryPeriod = "mean recovery period (d)";
    /** key to set stochastic flag */
    public static final String PARAM_randomize = "randomize recovery period";

    /** value of min recovery period parameter */
    private double minRP = 0.0;
    /** value of mean recovery period parameter */
    private double meanRP = 0.0;
    /** value of mean recovery period parameter */
    private boolean randomize = false;

    /** constructor for class */
    public BatchSpawningFunction(){
        super(numParams,numSubFuncs,DEFAULT_type,DEFAULT_name,DEFAULT_descr,DEFAULT_fullDescr);
        String key;
        key = PARAM_minRecoveryPeriod; addParameter(key,Double.class, key);
        key = PARAM_meanRecoveryPeriod;  addParameter(key,Double.class, key);
        key = PARAM_randomize;  addParameter(key,Boolean.class, key);
    }

    @Override
    public BatchSpawningFunction clone(){
        BatchSpawningFunction clone = new BatchSpawningFunction();
        clone.setFunctionType(getFunctionType());
        clone.setFunctionName(getFunctionName());
        clone.setDescription(getDescription());
        clone.setFullDescription(getFullDescription());
        for (String key: getParameterNames()) {
            IBMParameter op = getParameter(key);
            IBMParameter np = clone.getParameter(key);
            np.setDescription(op.getDescription());
            np.setValue(op.getValue());
        }
//        for (String key: getSubfunctionNames()) clone.setSubfunction(key,(IBMFunctionInterface)getSubfunction(key).clone());
        return clone;
    }

    /**
     * Sets the parameter value corresponding to the key associated with param.
     *
     * @param param - the parameter key (name)
     * @param value - its value
     * @return
     */
    @Override
    public boolean setParameterValue(String param,Object value){
        if (super.setParameterValue(param, value)){
            switch (param) {
                case PARAM_minRecoveryPeriod:
                    minRP = ((Double) value);
                    break;
                case PARAM_meanRecoveryPeriod:
                    meanRP = ((Double) value);
                    break;
                case PARAM_randomize:
                    randomize = ((Boolean) value);
                    break;
            }
            return true;
        }
        return false;
    }

    /**
     * Calculates the value of the function, given the current parameters.
     *
     * @param vars - any Object or null
     * @return     - Double - time to next spawning event
     */
    @Override
    public Double calculate(Object vars) {
        double res = meanRP;
        if (randomize){
            res = minRP-Math.log(rng.computeUniformVariate(0.0, 1.0))*(meanRP-minRP);
        }
        return res;
    }
}


package com.entity;

import java.io.Serializable;
import java.util.Set;

public class Hall implements Serializable{
/**
	 *
	 */
	private static final long serialVersionUID = -2972907068930528292L;
private int hall_id;
private String roomname;
private String version;//放映的版本
//一个播放厅播放多个场次的电影
private Set<Play> play;
private int seat;//一个放映厅的座位数

public int getSeat() {
	return seat;
}
public void setSeat(int seat) {
	this.seat = seat;
}
public String getVersion() {
	return version;
}
public void setVersion(String version) {
	this.version = version;
}
public Set<Play> getPlay() {
	return play;
}
public void setPlay(Set<Play> play) {
	this.play = play;
}
public String getRoomname() {
	return roomname;
}
public int getHall_id() {
	return hall_id;
}
public void setHall_id(int hall_id) {
	this.hall_id = hall_id;
}
public void setRoomname(String roomname) {
	this.roomname = roomname;
}
public Hall() {
	super();
}

}


package com.hazelcast.transaction;

import com.hazelcast.core.DistributedObject;

import javax.transaction.xa.XAResource;

/**
 * Interface for providing Hazelcast as an XAResource
 */
public interface HazelcastXAResource extends XAResource, DistributedObject {

    /**
     * Returns the TransactionContext associated with the current thread.
     *
     * @return TransactionContext associated with the current thread
     * @throws IllegalStateException if no context found
     */
    TransactionContext getTransactionContext();

}


using System;

namespace Orleans.Runtime
{
    [Serializable]
    public struct MembershipVersion : IComparable<MembershipVersion>, IEquatable<MembershipVersion>
    {
        private readonly long version;

        public MembershipVersion(long version)
        {
            this.version = version;
        }

        public static MembershipVersion MinValue => new MembershipVersion(long.MinValue);

        public int CompareTo(MembershipVersion other) => this.version.CompareTo(other.version);

        public bool Equals(MembershipVersion other) => this.version == other.version;

        public override bool Equals(object obj) => obj is MembershipVersion other && this.Equals(other);

        public override int GetHashCode() => this.version.GetHashCode();

        public override string ToString() => this.version.ToString();

        public static bool operator ==(MembershipVersion left, MembershipVersion right) => left.version == right.version;
        public static bool operator !=(MembershipVersion left, MembershipVersion right) => left.version != right.version;
        public static bool operator >=(MembershipVersion left, MembershipVersion right) => left.version >= right.version;
        public static bool operator <=(MembershipVersion left, MembershipVersion right) => left.version <= right.version;
        public static bool operator >(MembershipVersion left, MembershipVersion right) => left.version > right.version;
        public static bool operator <(MembershipVersion left, MembershipVersion right) => left.version < right.version;
    }
}


#include <pebble.h>
#include "sliding-text-layer.h"

#define ANIMATION_DIRECTION_UP 0
#define ANIMATION_DIRECTION_DOWN 1

typedef struct SlidingTextLayerData {
  char* text_next;
  char* text_current;
  GColor color_text;
  GFont font;
  bool is_animating;
  GTextOverflowMode overflow;
  GTextAlignment align;
  Animation* animation;
  AnimationImplementation implementation;
  AnimationImplementation implementation_bounce;
  uint16_t offset;
  uint8_t direction;
  AnimationCurve curve;
  int8_t adjustment;
  uint16_t duration;
} SlidingTextLayerData;

static void animate(SlidingTextLayer* layer, uint8_t direction);
static void animate_bounce(SlidingTextLayer* layer, uint8_t direction);
static void render(Layer* layer, GContext* ctx);
static void animation_started(Animation *anim, void *context);
static void animation_stopped(Animation *anim, bool stopped, void *context);
static void animation_stopped_bounce(Animation *anim, bool stopped, void *context);
static void update(Animation* anim, AnimationProgress dist_normalized);
static void update_bounce(Animation* anim, AnimationProgress dist_normalized);
#define get_layer(layer) (Layer*)layer
#define get_data(layer) (SlidingTextLayerData*) layer_get_data(get_layer(layer))
#define layer_get_height(layer) layer_get_bounds(layer).size.h
#define layer_get_width(layer) layer_get_bounds(layer).size.w

static int getDuration(){
  int multiplierNumber = ((rand() % 6) + 1) * 100;
  return multiplierNumber;
}

SlidingTextLayer* sliding_text_layer_create(GRect rect) {
  SlidingTextLayer* layer = (SlidingTextLayer*)layer_create_with_data(rect, sizeof(SlidingTextLayerData));
  SlidingTextLayerData* data = get_data(layer);
  data->color_text = GColorBlack;
  data->align = GTextAlignmentCenter;
  data->overflow = GTextOverflowModeFill;
  data->offset = 0;
  data->is_animating = false;
  data->implementation.update = update;
  data->implementation_bounce.update = update_bounce;
  data->curve = AnimationCurveEaseInOut;
  data->duration = getDuration();
  layer_set_update_proc(get_layer(layer), render);
  return layer;
}

void sliding_text_layer_destroy(SlidingTextLayer* layer) {
  SlidingTextLayerData* data = get_data(layer);
  if (data->is_animating) {

  }
  layer_destroy(get_layer(layer));
}

void sliding_text_layer_animate_up(SlidingTextLayer* layer) {
  animate(layer, ANIMATION_DIRECTION_UP);
}

void sliding_text_layer_animate_down(SlidingTextLayer* layer) {
  animate(layer, ANIMATION_DIRECTION_DOWN);
}

void sliding_text_layer_animate_bounce_up(SlidingTextLayer* layer) {
  animate_bounce(layer, ANIMATION_DIRECTION_UP);
}

void sliding_text_layer_animate_bounce_down(SlidingTextLayer* layer) {
  animate_bounce(layer, ANIMATION_DIRECTION_DOWN);
}

void sliding_text_layer_set_text(SlidingTextLayer* layer, char* text) {
  if (! layer) {
    return;
  }
  SlidingTextLayerData* data = get_data(layer);
  if (! data) {
    return;
  }
  free(data->text_current);
  data->text_current = text;
  layer_mark_dirty(get_layer(layer));
}

void sliding_text_layer_set_next_text(SlidingTextLayer* layer, char* text) {
  if (! layer) {
    return;
  }
  SlidingTextLayerData* data = get_data(layer);
  if (! data) {
    return;
  }
  data->text_next = text;
}

void sliding_text_layer_set_duration(SlidingTextLayer* layer, uint16_t duration) {
  if (! layer) {
    return;
  }
  SlidingTextLayerData* data = get_data(layer);
  if (! data) {
    return;
  }
  data->duration = duration;
}

void sliding_text_layer_set_animation_curve(SlidingTextLayer* layer, AnimationCurve curve) {
  if (! layer) {
    return;
  }
  SlidingTextLayerData* data = get_data(layer);
  if (! data) {
    return;
  }
  data->curve = curve;
}

void sliding_text_layer_set_font(SlidingTextLayer* layer, GFont font) {
  if (! layer) {
    return;
  }
  SlidingTextLayerData* data = get_data(layer);
  if (! data) {
    return;
  }
  data->font = font;
  layer_mark_dirty(get_layer(layer));
}

void sliding_text_layer_set_text_color(SlidingTextLayer* layer, GColor color) {
  if (! layer) {
    return;
  }
  SlidingTextLayerData* data = get_data(layer);
  if (! data) {
    return;
  }
  data->color_text = color;
  layer_mark_dirty(get_layer(layer));
}

void sliding_text_layer_set_text_alignment(SlidingTextLayer* layer, GTextAlignment alignment) {
  if (! layer) {
    return;
  }
  SlidingTextLayerData* data = get_data(layer);
  if (! data) {
    return;
  }
  data->align = alignment;
}

void sliding_text_layer_set_vertical_adjustment(SlidingTextLayer* layer, int8_t adjustment) {
  if (! layer) {
    return;
  }
  SlidingTextLayerData* data = get_data(layer);
  if (! data) {
    return;
  }
  data->adjustment = adjustment;
}

bool sliding_text_layer_is_animating(SlidingTextLayer* layer) {
  if (! layer) {
    return false;
  }
  SlidingTextLayerData* data = get_data(layer);
  if (! data) {
    return false;
  }
  return data->is_animating;
}

static void animate(SlidingTextLayer* layer, uint8_t direction) {
  if (! layer) {
    return;
  }
  SlidingTextLayerData* data = get_data(layer);
  if (! data) {
    return;
  }
  if (data->is_animating) {
    return;
  }

  data->direction = direction;
  data->offset = 0;
  data->animation = animation_create();
  animation_set_duration(data->animation, data->duration);
  animation_set_curve(data->animation, data->curve);
  animation_set_implementation(data->animation, &data->implementation);
  animation_set_handlers(data->animation, (AnimationHandlers) {
    .started = animation_started,
    .stopped = animation_stopped
  }, (void*)layer);
  animation_schedule(data->animation);
}

static void animate_bounce(SlidingTextLayer* layer, uint8_t direction) {
  if (! layer) {
    return;
  }
  SlidingTextLayerData* data = get_data(layer);
  if (! data) {
    return;
  }
  if (data->is_animating) {
    return;
  }

  data->direction = direction;
  data->offset = 0;
  data->animation = animation_create();
  animation_set_duration(data->animation, data->duration / 2);
  animation_set_curve(data->animation, data->curve);
  animation_set_implementation(data->animation, &data->implementation_bounce);
  animation_set_handlers(data->animation, (AnimationHandlers) {
    .started = animation_started,
    .stopped = animation_stopped_bounce
  }, (void*)layer);
  animation_schedule(data->animation);
}

static void render(Layer* layer, GContext* ctx) {
  SlidingTextLayerData* data = get_data(layer);
  graphics_context_set_text_color(ctx, data->color_text);

#if STL_DEBUG
  graphics_context_set_fill_color(ctx, GColorBlack);
  graphics_fill_rect(ctx, layer_get_bounds(layer), 0, GCornerNone);
#endif

  if (data->is_animating) {
    graphics_draw_text(ctx,
      data->direction == ANIMATION_DIRECTION_UP ? data->text_next : data->text_current,
      data->font,
      GRect(0, data->adjustment - data->offset, layer_get_width(layer), layer_get_height(layer)),
      data->overflow,
      data->align,
      NULL);
    graphics_draw_text(ctx,
      data->direction == ANIMATION_DIRECTION_UP ? data->text_current : data->text_next,
      data->font,
      GRect(0, layer_get_height(layer) + data->adjustment - data->offset, layer_get_width(layer), layer_get_height(layer)),
      data->overflow,
      data->align,
      NULL);
  }
  else {
    graphics_draw_text(ctx,
      data->text_current,
      data->font,
      GRect(0, data->adjustment, layer_get_width(layer), layer_get_height(layer)),
      data->overflow,
      data->align,
      NULL);
  }
}

static void animation_started(Animation *anim, void *context) {
#if STL_DEBUG
  APP_LOG(APP_LOG_LEVEL_DEBUG, "%d", heap_bytes_free());
#endif
  SlidingTextLayerData* data = get_data((SlidingTextLayer*)context);
  data->is_animating = true;
}

static void animation_stopped(Animation *anim, bool stopped, void *context) {
  SlidingTextLayerData* data = get_data((SlidingTextLayer*)context);
  data->is_animating = false;
  data->text_current = data->text_next;
  data->text_next = false;
#ifdef PBL_SDK_2
  animation_destroy(anim);
#endif
}

static void animation_stopped_bounce(Animation *anim, bool stopped, void *context) {
  SlidingTextLayerData* data = get_data((SlidingTextLayer*)context);
  data->is_animating = false;
}

static void update(Animation* anim, AnimationProgress dist_normalized) {
  SlidingTextLayer* layer = (SlidingTextLayer*)animation_get_context(anim);
  SlidingTextLayerData* data = get_data(layer);

  uint16_t percent = (100 * dist_normalized) / (ANIMATION_NORMALIZED_MAX);
  if (data->direction == ANIMATION_DIRECTION_UP) {
    data->offset = layer_get_height(layer) - ((uint16_t)(layer_get_height(layer) * percent) / 100);
  }
  else {
    data->offset = (uint16_t)((layer_get_height(layer) * percent) / 100);
  }
  layer_mark_dirty(get_layer(layer));
}

static void update_bounce(Animation* anim, AnimationProgress dist_normalized) {
  SlidingTextLayer* layer = (SlidingTextLayer*)animation_get_context(anim);
  SlidingTextLayerData* data = get_data(layer);

  uint16_t max_height = (layer_get_height(layer) * 100) / 3;

  uint16_t percent = (dist_normalized * 100) / ANIMATION_NORMALIZED_MAX;
  if (data->direction == ANIMATION_DIRECTION_UP) {
    data->offset = (layer_get_height(layer) - (uint16_t)(max_height * percent) / 10000);
  }
  else {
    data->offset = (uint16_t)((max_height * percent) / 10000);
  }
  layer_mark_dirty(get_layer(layer));
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace OakIdeas.Schema.Core.CreativeWorks
{
    public class ItemListElement
    {
        public string Value { get; set; }
        public string Order { get; set; }
    }
}


SYNONYM

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
null

#### Original name
null

### Remarks
null

life/Plantae/Magnoliophyta/Liliopsida/Liliales/Liliaceae/Gagea/Gagea pauciflora/ Syn. Lloydia szechenyiana/README.md


package com.themodernway.server.core.security;

import java.io.IOException;
import java.util.List;

import com.themodernway.server.core.AbstractCoreLoggingBase;
import com.themodernway.server.core.ICoreCommon;
import com.themodernway.server.core.logging.IHasLogging;
import com.themodernway.server.core.logging.LoggingOps;

public class DefaultAuthorizationProvider extends AbstractCoreLoggingBase implements IAuthorizationProvider, ICoreCommon, IHasLogging
{
    public DefaultAuthorizationProvider()
    {
        if (logger().isInfoEnabled())
        {
            logger().info(LoggingOps.THE_MODERN_WAY_MARKER, "DefaultAuthorizationProvider()");
        }
    }

    @Override
    public IAuthorizationResult isAuthorized(final Object target, List<String> roles)
    {
        if (null == target)
        {
            if (logger().isErrorEnabled())
            {
                logger().error(LoggingOps.THE_MODERN_WAY_MARKER, "error null target");
            }
            return new AuthorizationResult(false, E_RUNTIMEERROR, "error null target");
        }
        if (null == roles)
        {
            if (logger().isErrorEnabled())
            {
                logger().error(LoggingOps.THE_MODERN_WAY_MARKER, "error null roles");
            }
            return new AuthorizationResult(false, E_RUNTIMEERROR, "error null roles");
        }
        roles = toUnique(roles);

        if (roles.isEmpty())
        {
            if (logger().isErrorEnabled())
            {
                logger().error(LoggingOps.THE_MODERN_WAY_MARKER, "error empty roles");
            }
            return new AuthorizationResult(false, E_RUNTIMEERROR, "error empty roles");
        }
        if (target instanceof IAuthorizedObject)
        {
            if (logger().isDebugEnabled())
            {
                logger().debug(LoggingOps.THE_MODERN_WAY_MARKER, "dispatch authorization roles " + toPrintableString(roles));
            }
            final IAuthorizationResult result = ((IAuthorizedObject) target).isAuthorized(roles);

            if (null != result)
            {
                if (logger().isDebugEnabled())
                {
                    logger().debug(LoggingOps.THE_MODERN_WAY_MARKER, "dispatch to authorization result " + result.toString());
                }
                return result;
            }
            if (logger().isErrorEnabled())
            {
                logger().error(LoggingOps.THE_MODERN_WAY_MARKER, "error null authorization result");
            }
            return new AuthorizationResult(false, E_RUNTIMEERROR, "error null authorization result");
        }
        final Authorized authorized = target.getClass().getAnnotation(Authorized.class);

        if (null == authorized)
        {
            if (logger().isDebugEnabled())
            {
                logger().debug(LoggingOps.THE_MODERN_WAY_MARKER, "pass no authorizations present");
            }
            return new AuthorizationResult(true, I_WASVALIDATED, "pass no authorizations present");
        }
        List<String> list = toUnique(authorized.not());

        if (false == list.isEmpty())
        {
            for (final String type : list)
            {
                if (roles.contains(type))
                {
                    if (logger().isDebugEnabled())
                    {
                        logger().debug(LoggingOps.THE_MODERN_WAY_MARKER, "fail not role " + type + " in roles " + toPrintableString(roles));
                    }
                    return new AuthorizationResult(false, E_EXCLUDEDROLE, "fail not role " + type);
                }
            }
        }
        long look = 0;

        list = toUnique(authorized.all());

        if (false == list.isEmpty())
        {
            for (final String type : list)
            {
                if (false == roles.contains(type))
                {
                    if (logger().isDebugEnabled())
                    {
                        logger().debug(LoggingOps.THE_MODERN_WAY_MARKER, "fail and role " + type + " in roles " + toPrintableString(roles));
                    }
                    return new AuthorizationResult(false, E_NOTVALIDROLE, "fail and role " + type);
                }
            }
            look++;
        }
        list = toUnique(authorized.any());

        if (false == list.isEmpty())
        {
            for (final String type : list)
            {
                if (roles.contains(type))
                {
                    if (logger().isDebugEnabled())
                    {
                        logger().debug(LoggingOps.THE_MODERN_WAY_MARKER, "pass any role " + type + " in roles " + toPrintableString(roles));
                    }
                    return new AuthorizationResult(true, I_WASVALIDATED, "pass any role " + type);
                }
            }
            if (logger().isDebugEnabled())
            {
                logger().debug(LoggingOps.THE_MODERN_WAY_MARKER, "fail any " + toPrintableString(list) + " in roles " + toPrintableString(roles));
            }
            return new AuthorizationResult(false, E_NOTVALIDROLE, "fail any role");
        }
        if (look < 1)
        {
            list = toUnique(authorized.value());

            if (false == list.isEmpty())
            {
                for (final String type : list)
                {
                    if (false == roles.contains(type))
                    {
                        if (logger().isDebugEnabled())
                        {
                            logger().debug(LoggingOps.THE_MODERN_WAY_MARKER, "fail value role " + type + " in roles " + toPrintableString(roles));
                        }
                        return new AuthorizationResult(false, E_NOTVALIDROLE, "fail value role " + type);
                    }
                }
            }
        }
        if (logger().isDebugEnabled())
        {
            logger().debug(LoggingOps.THE_MODERN_WAY_MARKER, "pass no authorizations matched in roles " + toPrintableString(roles));
        }
        return new AuthorizationResult(true, I_WASVALIDATED, "pass no authorizations matched");
    }

    @Override
    public void close() throws IOException
    {
        if (logger().isInfoEnabled())
        {
            logger().info(LoggingOps.THE_MODERN_WAY_MARKER, "DefaultAuthorizationProvider().close()");
        }
    }
}


<!DOCTYPE html>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>founify: Not compatible 👼</title>
    <link rel="shortcut icon" type="image/png" href="../../../../../favicon.png" />
    <link href="../../../../../bootstrap.min.css" rel="stylesheet">
    <link href="../../../../../bootstrap-custom.css" rel="stylesheet">
    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">

             Coq bench

clean / released

8.6.1 / founify - 8.10.0

            « Up

              founify

                8.10.0
                Not compatible 👼

📅  (2022-04-26 16:21:57 UTC)

Context

# Packages matching: installed
# Name              # Installed # Synopsis
base-bigarray       base
base-num            base        Num library distributed with the OCaml compiler
base-threads        base
base-unix           base
camlp5              7.14        Preprocessor-pretty-printer of OCaml
conf-findutils      1           Virtual package relying on findutils
conf-perl           2           Virtual package relying on perl
coq                 8.6.1       Formal proof management system
num                 0           The Num library for arbitrary-precision integer and rational arithmetic
ocaml               4.05.0      The OCaml compiler (virtual package)
ocaml-base-compiler 4.05.0      Official 4.05.0 release
ocaml-config        1           OCaml Switch Configuration
ocamlfind           1.9.3       A library manager for OCaml
# opam file:
opam-version: "2.0"
maintainer: "Hugo.Herbelin@inria.fr"
homepage: "https://github.com/coq-contribs/founify"
license: "Unknown"
build: [make "-j%{jobs}%"]
install: [make "install"]
remove: ["rm" "-R" "%{lib}%/coq/user-contrib/FOUnify"]
depends: [
  "camlp5"
  "ocaml"
  "coq" {>= "8.10" & < "8.11~"}
]
tags: [
  "keyword: First-order Unification"
  "keyword: Robinson"
  "category: Computer Science/Decision Procedures and Certified Algorithms/Correctness proofs of algorithms"
  "category: Miscellaneous/Extracted Programs/Type checking unification and normalization"
]
authors: [
  "Jocelyne Rouyer"
]
bug-reports: "https://github.com/coq-contribs/founify/issues"
dev-repo: "git+https://github.com/coq-contribs/founify.git"
synopsis: "Correctness and extraction of the unification algorithm"
description: """
A notion of terms based on symbols without fixed arities is defined
and an extended unification problem is proved solvable on these terms.
An algorithm, close from Robinson algorithm, can be extracted from the
proof."""
flags: light-uninstall
url {
  src: "https://github.com/coq-contribs/founify/archive/v8.10.0.tar.gz"
  checksum: "md5=2f68b8dc8c863e75077d1667a36cf10f"
}

Lint

Command

true

Return code

0

Dry install 🏜

Dry install with the current Coq version:

Command

opam install -y --show-action coq-founify.8.10.0 coq.8.6.1

Return code

5120

Output

[NOTE] Package coq is already installed (current version is 8.6.1).
The following dependencies couldn't be met:
  - coq-founify -> coq >= 8.10
Your request can't be satisfied:
  - No available version of coq satisfies the constraints
No solution found, exiting

Dry install without Coq/switch base, to test if the problem was incompatibility with the current Coq/OCaml version:

Command

opam remove -y coq; opam install -y --show-action --unlock-base coq-founify.8.10.0

Return code

0

Install dependencies

Command

true

Return code

0

Duration

0 s

Install 🚀

Command

true

Return code

0

Duration

0 s

Installation size

No files were installed.

Uninstall 🧹

Command

true

Return code

0

Missing removes

                none

Wrong removes

                none

          Sources are on GitHub © Guillaume Claret 🐣


package com.vmware.vim25;

/**
* @author Steve Jin (http://www.doublecloud.org)
* @version 5.1
*/

@SuppressWarnings("all")
public class VspanPortgroupPromiscChangeFault extends DvsFault {
  public String portgroupName;

  public String getPortgroupName() {
    return this.portgroupName;
  }

  public void setPortgroupName(String portgroupName) {
    this.portgroupName=portgroupName;
  }
}


layout: post
published: true
title: "It might not get weirder than this"
link: https://sites.google.com/site/sophieinnorthkorea/
permalink: /2013/02/it-might-not-get-weirder-than-this/
---

Fascinating account by Eric Schmidt's daughter Sophie about their trip to North Korea.

> Top Level Take-aways:
>
> 1. Go to North Korea if you can. It is very, very strange.
> 2. If it is January, disregard the above. It is very, very cold.
> 3. Nothing I'd read or heard beforehand really prepared me for what we saw.