text:
1. [Overview](#overview)
2. [Module Description - What the module does and why it is useful](#module-description)
3. [Setup - The basics of getting started with ssl_certificate](#setup)
    * [What ssl_certificate affects](#what-ssl_certificate-affects)
    * [Beginning with ssl_certificate](#beginning-with-ssl_certificate)
4. [Usage - Configuration options and additional functionality](#usage)
5. [Reference - An under-the-hood peek at what the module is doing and how](#reference)
5. [Limitations - OS compatibility, etc.](#limitations)
6. [Development - Guide for contributing to the module](#development)

## Overview

This is a very basic module to deploy SSL certificates from a puppet master to the "correct" (read "OS-specific default") or custom defined path.

What this module will do:

- Install SSL certificates that already exist on the Puppet master on Puppet agents.
- Install certificates in the OS-family specific "default" path unless a directory is specified.

What this module will not do:

- Create self-signed certificates or certificate signing requests (CSRs) using OpenSSL.
- Create/Convert certificates based on existing certificiates.
- Manage OpenSSL versions.

The idea is that if you are creating/converting certificates, this is generally a once off task that is then checked into your SCM.  Once you have a new certificate, you check it out to the custom mount point (by default `/etc/puppet/files/ssl_certificates`) and it is then available to distribute to your Puppet nodes.

## Module Description

Sometimes you do not have the luxury of allowing of your Internet facing servers access to your local git instance; this module aims to solve that problem by making SSL certificates available to your client using a [custom mount point](https://docs.puppetlabs.com/guides/file_serving.html#serving-files-from-custom-mount-points).

Without specifying any install paths, the define will push certificates to the default path per OS-family, but this is configurable.  It will also install any CA or intermediary certificates to the system certificate database if specified.

Default paths used (based on OS-family):

- Debian:
    - certificates install to `/etc/ssl/certs`
    - keys install to `/etc/ssl/private`
    - CA and intermediary install to `/usr/share/ca-certificates`

More OS-family defaults to be added in the future!

## Setup

### What ssl_certificate affects

Not an awful lot at this time.  It will push certificates to the path specified and at most attempt to install them to the system certificate database.  On Debian based systems, the certificate is installed and imported using the ["SSL Certificates for Server Use"](https://help.ubuntu.com/community/OpenSSL#SSL_Certificates_for_Server_Use) method defined on the Ubuntu community wiki.

### Beginning with ssl_certificate

To use this define you will need to have an "ssl_certificate" custom file server mount point configured.  This is a manual step at the moment, but is pretty straight forward configure and can be done by adding the following to your /etc/puppet/fileserver.conf:

```
[ssl_certificates]
    path /etc/puppet/files/ssl_certificates
    allow *
```
You can limit access via the `allow` statement, but that is out of the scope of this README.  Please see the custom mount point documetation](https://docs.puppetlabs.com/guides/file_serving.html#serving-files-from-custom-mount-points) for more information.

Once the custom mount point have been created, check out your SSL certificates to the `/etc/puppet/files/ssl_certificates` directory from your preferred SCM of choice and ensure the files are readable by your webserver (this can be done by running `netstat -anp | grep 8140` and taking note of the user in the last column.  The `ssl_certificates` directory does not need to be in this path, you are free to check it out another location but you will need to ensure the webserver user can read the files in order to distribute them to Puppet clients.

Automatic configuration of the custom mount point will be addressed in a future version of this module but as it's a once off setup and quick to do, it has not yet been implemented.

## Usage

### The `ssl_certificate::install` define

If using the default parameters, the module expects the following directory below.  In this example, the first directory is using the default/expected layout, the second is using files that will need to be specified (as shown in examples below).

```
/etc/puppet/files/ssl_certificates
├── certificate1
│   ├── certificate1.ca.crt
│   ├── certificate1.crt
│   ├── certificate1.intermediate.crt
│   └── certificate1.key
└── domain.com
    ├── ca.crt
    ├── shop.crt
    ├── intermediate.crt
    └── shop.key
```

The define name needs to match the directory name in the ssl_certificates file server mount point that contains those certificates - in our example above this means the name can be either `certificate` or `domain.com`.

To deploy a certificate and key to the default location when the files are in the expected format, use the following syntax:

```puppet
ssl_certificate::install { 'certicate1': }
```

To define custom certificate and key names and install the certificates to a location, use the following syntax:

```puppet
ssl_certificate::install { 'domain.com':
  cert     => 'shop.crt',
  key      => 'shop.key',
  cert_dir => '/srv/www/shop.domain.com/certs',
  key_dir  => '/srv/www/shop.domain.com/certs'
}
```

It is also possible to install root and intermediary CA certificates, be sure to set `install_ca` and `install_intermediate` to `true` and specify the directories if required:

```puppet
ssl_certificate::install { 'domain.com':
  intermediate         => 'intermediate.crt',
  ca                   => 'ca.crt',
  intermediate_dir     => '/srv/www/shop.domain.com/certs'.
  ca_dir               => '/srv/www/shop.domain.com/certs'
  install_intermediate => true,
  install_ca           => true
}
```

To install the root and intermediary CA certificates when in the expected format, you only need to set the `install_intermediate` and/or `install_ca` paramaters to true, as below:

```puppet
ssl_certificate::install { 'certificate1':
  install_intermediate => true,
  install_ca           => true
}
```

#### Parameters

##### `cert`
Set this to specify the filename of the certificate if it is not in expected format.  Defaults to `"${name}.crt"`.

##### `key`
Set this to specify the filename of the key if it is not in expected format.  Defaults to `"${name}.key"`.

##### `intermediate`
Set this to specify the filename of the intermediate certificate if it is not in expected format.  Defaults to `"${name}.intermediate.crt"`.

##### `ca`
Set this to specify the filename of the CA certificate if it is not in expected format.  Defaults to `"${name}.ca.crt"`.

##### `cert_dir`
Set this to specify here to install the certificate.  Defaults to OS-family specific path.

##### `key_dir`
Set this to specify here to install the certificate key.  Defaults to OS-family specific path.

##### `intermediate_dir`
Set this to specify here to install the intermediate CA certificate.  Defaults to OS-family specific path.

##### `ca_dir`
Set this to specify here to install the root CA certificate.  Defaults to OS-family specific path.

##### `install_cert`
Set to true to install a certificate.  Defaults to 'true'.

##### `install_key`
Set to true to install a certificate key.  Defaults to 'true'.

##### `install_intermediate`
Set to true to install an intermediate CA certificiate.  Defaults to 'false'.

##### `install_ca`
Set to true to install a root CA certificate.  Defaults to 'false'.

## Reference

Here, list the classes, types, providers, facts, etc contained in your module. This section should include all of the under-the-hood workings of your module so people know what the module is touching on their system but don't need to mess with things. (We are working on automating this section!)

### Classes

#### Public Defines

* `ssl_certificate::install`: Installs SSL certificates from a Puppet fileserver mount point to your nodes.

#### Private Classes

* `ownCloud::params`: Manages ssl_certificate operating system specific parameters.

## Limitations

This module has been tested on the following Operating Systems:

* Ubuntu 12.04 Precise
* Ubuntu 14.04 Trusty

## Development

This module was created out of necessity as there wasn't another similar that performs this basic function.  Pull requests and/or suggestions to enhance it are welcome, please see the [contributing guidelines](https://github.com/shoekstra/puppet-owncloud/blob/develop/CONTRIBUTING.md) if you with to contribute.

In the pipeline:

* Add default paths for other OS-families.
* Automate configuration of `/etc/puppet/fileserver.conf`.


text:
try:
    from configparser import ConfigParser, NoSectionError
except ImportError:
    pass
import os
from os.path import abspath, curdir, isfile, join, pardir
import sys

DEFAULT_CONF_NAME = "app.ini"
DEFAULT_SECTION = "Base"

def singleton(cls):
    instances = {}

    def getinstance():
        if cls not in instances:
            instances[cls] = cls()
        return instances[cls]
    return getinstance

class Option(object):
    """Option Object"""

    def __init__(self, value=None, section=None, default_value=None):
        self.value = value
        self.section = section
        self.default_value = default_value

    def __repr__(self):
        msg = u'Option(value=%r, section=%r, default=%r)'
        return msg % (self.value, self.section, self.default_value)

    def get_value_or_default(self):
        if self.value is not None:
            return self.value
        return self.default_value

@singleton
class Options(object):
    """Option Parser. By now based on ini files"""

    # Options that will not be interpolated.
    RAW_OPTIONS = {'LOG_FORMATTER_FORMAT'}

    def __init__(self):
        """Parse initial options"""
        self.config = ConfigParser()
        self.config_file = None
        self._read_config()
        self.defaults = {}
        self.options = {}
        self._parse_options()

    @classmethod
    def _is_raw_option(cls, option):
        return option.upper() in cls.RAW_OPTIONS

    def _conf_path(self):
        """Search .ini file from current directory (included) up to "/" (excluded)"""
        current = abspath(curdir)
        while current != "/":
            filename = join(current, DEFAULT_CONF_NAME)
            if isfile(filename):
                return filename
            current = abspath(join(current, pardir))
        # If the .ini file doesn't exist returns an empty filename so default values are used
        return ''

    def _read_config(self):
        try:
            self.config_file = self.config.read(self._conf_path())[0]
        except IndexError:
            self.config_file = abspath(join(curdir, DEFAULT_CONF_NAME))

    def _cast_value(self, value):
        """Support: int, bool, str"""
        try:
            value = int(value)
        except ValueError:
            if value.lower().strip() in ["true", "t", "1", "yes"]:
                value = True
            elif value.lower().strip() in ["false", "f", "no", "0"]:
                value = False
        return value

    def _parse_options(self):
        """Parse .ini file and set options in self.options"""
        for section in self.config.sections():
            for option in self.config.options(section):
                raw = self._is_raw_option(option)
                value = self.config.get(section=section, option=option, raw=raw)
                value = self._cast_value(value)
                self.options[option.upper()] = Option(value, section)

    def __iter__(self):
        """Return an iterator of options"""
        return (o for o in self.options.items())

    @property
    def sections(self):
        """Get defined sections"""
        return set(o.section for k, o in self.options.items())

    def items(self, section=None):
        """Iterate items of a section in format (name, value)"""
        if section:
            return ((k, o.value) for k, o in self.options.items() if o.section == section)
        else:
            return ((k, o.value) for k, o in self.options.items())

    def keys(self, section=None):
        """Returns all configured option names (keys)"""
        return [k for k, v in self.items(section)]

    def write(self):
        """Save all defined options"""
        for name, option in self.options.items():
            if sys.version_info[0] < 3:
                try:
                    value = unicode(option.value)  # noqa
                except UnicodeDecodeError:
                    value = unicode(option.value, 'utf-8')  # noqa
            else:
                value = str(value)

            try:
                self.config.set(section=option.section, option=name.upper(), value=value)
            except NoSectionError:
                self.config.add_section(option.section)
                self.config.set(section=option.section, option=name, value=value)
        self._write_file()

    def _write_file(self):
        import codecs
        with codecs.open(self.config_file, 'w', "utf-8") as config_file:
            self.config.write(config_file)

    def set(self, name, value, section=DEFAULT_SECTION):
        name = name.strip()
        if type(value) == str:
            if sys.version_info[0] < 3:
                value = value.decode('utf-8')
            value = value.strip()
        if name in self.options:
            self.options[name].value = value
        else:
            self.options[name] = Option(value, section)

    def get(self, name, default=None, section=DEFAULT_SECTION):
        """Returns value, and also saves the requested default
        If value exists in environ, return environ value"""
        name = name.strip()

        try:
            self.options[name].default_value = default
            if not self.options[name].section:
                self.options[name].section = section
        except KeyError:
            self.options[name] = Option(value=None, section=section, default_value=default)

        try:
            value = self._cast_value(os.environ[name].strip())
            return value
        except KeyError:
            if self.options[name].value is not None:
                return self.options[name].value
            else:
                return default

redpajama_set_name: RedPajamaGithub


text:
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <title>{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}</title>
  <meta name="description" content="Desenvolvedora Front-end">

  <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
  <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}">

  <link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/apple-touch-icon.png">
  <link rel="icon" type="image/png" href="/images/favicon/favicon-32x32.png" sizes="32x32">
  <link rel="icon" type="image/png" href="/images/favicon/favicon-16x16.png" sizes="16x16">
  <link rel="manifest" href="/images/favicon/manifest.json">
  <link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg" color="#5bbad5">
  <link rel="shortcut icon" href="/images/favicon/favicon.ico">
  <meta name="msapplication-config" content="/images/favicon/browserconfig.xml">
  <meta name="theme-color" content="#ffffff">

  <!-- Open Graph -->
  <meta property="og:title" content="{{ site.title }}">
  <meta property="og:url" content="http://guilsa.github.io">
  <meta property="og:site_name" content="guilsa.github.io">
  <meta property="og:image" content="http://guilsa.github.io/images/img-open-graph.png">
  <meta property="og:image:width" content="1200">
  <meta property="og:description" content="Developing front-end! ;)">
  <meta property="og:type" content="website">

  <style>
    body {
      color: #202020;
    }
  </style>

  <link rel="stylesheet" href="{{ "/css/style.min.css" | prepend: site.baseurl }}">

  <!--script>
    var cb = function() {
    var l = document.createElement('link'); l.rel = 'stylesheet';
    l.href = '/css/style.min.css';
    var h = document.getElementsByTagName('head')[0]; h.parentNode.insertBefore(l, h);
    };
    var raf = requestAnimationFrame || mozRequestAnimationFrame ||
    webkitRequestAnimationFrame || msRequestAnimationFrame;
    if (raf) raf(cb);
    else window.addEventListener('load', cb);
  </script-->

</head>


text:
/**
 * Common configuration of requireJS, should be required by any page's javascript entry point.
 */
require.config({
    "baseUrl": 'lib',
    "paths":{
        "jquery":"//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min",
        "dust":"dust-core-1.2.5",
        "socketio":"../socket.io/socket.io",
        "app":"../app",
        //Define template renderer here
        "app/pageRenderer":"../app/dustRenderer"
    },
    shim: {
        //The code in the generated templates expects to have dust available, to register those templates.
        'app/templates': {
            'deps': ['dust']
        },
        'dust': {
            'exports': 'dust'
        }
    }
});


text:
static CGFloat const kMinUpdateDistance = 10.0;
static NSTimeInterval const kMinUpdateTime = 90.0;
static NSTimeInterval const kMaxTimeToLive = 30.0;

static NSString *const kArchivedLocationKey = @"com.HelloMaps.Defaults.ArchivedLocation";

@interface HMLocationTracker () {
@private
    UIBackgroundTaskIdentifier bgTask;
}
@end

@implementation HMLocationTracker

- (id)init {
    if (self = [super init]) {
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidBecomeActive) name:UIApplicationDidBecomeActiveNotification object:nil];
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidEnterBackground) name:    UIApplicationDidEnterBackgroundNotification object:nil];
        self.locationManager = [[CLLocationManager alloc] init];
        self.locationManager.delegate = self;
        [self.locationManager requestWhenInUseAuthorization];
    }
    return self;
}

- (void)dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

#pragma mark - Notification handlers

- (void)applicationDidBecomeActive {
    [self.locationManager stopMonitoringSignificantLocationChanges];
    [self.locationManager startUpdatingLocation];
}

- (void)applicationDidEnterBackground {
    [self.locationManager stopUpdatingLocation];
    [self.locationManager startMonitoringSignificantLocationChanges];
}

#pragma mark - Public

- (void)startUpdatingLocation {
    [self stopUpdatingLocation];
    [self isInBackground] ? [self.locationManager startMonitoringSignificantLocationChanges] : [self.locationManager startUpdatingLocation];
}

- (void)stopUpdatingLocation {
    [self.locationManager stopUpdatingLocation];
    [self.locationManager stopMonitoringSignificantLocationChanges];
}

- (void)endBackgroundTask {
    if (bgTask != UIBackgroundTaskInvalid) {
        [[UIApplication sharedApplication] endBackgroundTask:bgTask];
        bgTask = UIBackgroundTaskInvalid;
    }
}
#pragma mark - Private

- (BOOL)isInBackground {
    return [UIApplication sharedApplication].applicationState == UIApplicationStateBackground;
}

#pragma mark - CLLocationManager Delegate

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
    if (oldLocation && ([newLocation.timestamp timeIntervalSinceDate:oldLocation.timestamp] < kMinUpdateTime ||
                        [newLocation distanceFromLocation:oldLocation] < kMinUpdateDistance)) {
        return;
    }

    NSMutableDictionary * userInfo = [[[NSUserDefaults standardUserDefaults] objectForKey:@"user"] mutableCopy];
    userInfo[@"latitude"] = @(newLocation.coordinate.latitude);
    userInfo[@"longitude"] = @(newLocation.coordinate.longitude);
    [[NSUserDefaults standardUserDefaults] setObject:userInfo forKey:@"user"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    if ([self isInBackground]) {
        if (self.locationUpdatedInBackground) {
            bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler: ^{
                [[UIApplication sharedApplication] endBackgroundTask:bgTask];
            }];

            self.locationUpdatedInBackground(newLocation);
//            [self endBackgroundTask];
        }
    } else {
        if (self.locationUpdatedInForeground) {
            self.locationUpdatedInForeground(newLocation);
        }
    }
}

@end


text:
lgtm,codescanning
* The security queries now track taint through the format string of a date-formatting operation.
  Affected packages are
    [moment](https://npmjs.com/package/moment),
    [moment-timezone](https://npmjs.com/package/moment-timezone),
    [date-fns](https://npmjs.com/package/date-fns), and
    [dateformat](https://npmjs.com/package/dateformat).


text:
import importlib

from .common import Symbol, List
from .env import global_env

def get_var(x, env):
    " Look up a variable in the env. If it's not there, look it up globally. "
    try:
        val = env[x]
    except KeyError:
        try:
            val = globals()[x]
        except:
            raise NameError("No variable named {}".format(x))
    return val

def dot_extraction(x, env):
    'Dot notation extraction: e.g. (. obj attr) will give obj.attr'
    if len(x) == 3:
        (_, parent, child) = x
        return getattr(eval(parent, env), child)
    else:
        raise SyntaxError("Dot extraction requires " +
                          "exactly two arguments.")

def wants_env(f):
    from inspect import signature
    try:
        sig = signature(f)
    except ValueError:
        return False
    for param in sig.parameters.values():
        if (param.kind == param.KEYWORD_ONLY and
            param.name == 'env'):
            return True
    return False

def eval(x, env=global_env):
    """
    Evaluate an expression x in an env
    """
    if isinstance(x, Symbol):
        if x[0] == '"':
            # x is a string literal
            # Cut off the quotes and return it as such
            return x[1:-1]

        # OK, it's a variable.
        return get_var(x, env)

    # Maybe x isn't a list but some kind of literal
    elif not isinstance(x, List):
        # const. literal
        return x

    # OK, x is a list, but is it empty?
    elif len(x) == 0:
        return []

    # It isn't empty... maybe it's a special form.
    # Dot extraction special form
    elif x[0] == '.':
        return dot_extraction(x, env)

    # Conditional special form
    elif x[0] == 'if':
        try:
            # With an alt clause
            (_, test, conseq, alt) = x
        except ValueError:
            try:
                # Without an alt clause, defaults to False
                (_, test, conseq) = x
                alt = False
            except ValueError:
                raise SyntaxError(
                    "if requires two or three arguments" +
                    "(test, consqeuence, and optional alternative)")
        exp = (conseq if eval(test, env) else alt)
        return eval(exp, env)

    # Variable definition special form
    elif x[0] == 'define':
        try:
            (_, var, exp) = x
        except ValueError:
            raise SyntaxError(
                "define requires exactly two arguments " +
                "(the name of the variable and its value)")
        val = eval(exp, env)
        env[var] = val
        # This is not standard Lisp, but I like it
        return val

    # Import special form
    elif x[0] == 'import':
        try:
            (_, exp) = x
        except ValueError as e:
            raise SyntaxError(
                "import requires exactly 1 argument " +
                "(the name of the module). {}".format(e))
        return importlib.import_module(exp)

    else:
        # This is the default case:
        # (f arg1 arg2 .. argn)
        # or perhaps
        # (item1 item2 ... itemn)

        # Evaluate the first item, to see if it gives us back a callable
        proc = eval(x[0], env)

        # Handle the case of (item1 item2 ... itemn)
        if not callable(proc):
            # If input is of the form (item), put item in a list and we're done
            if len(x) == 1:
                return [proc]
            else:
                # If there are more elements, eval them and put them in a list
                L = [proc]
                for item in x[1:]:
                    L.append(eval(item))
                return L

        # OK, input is of the form (f arg1 arg2 ... argn)
        args = [eval(arg, env) for arg in x[1:]]
        try:
            if wants_env(proc):
                return proc(*args, env=env)
            else:
                return proc(*args)
        except TypeError as e:
            if callable(proc):
                # Callable, but wrong number of args or something
                raise NameError(e)
            raise NameError("Tried to call a non-callable Python object {} " +
                            "(its type is {})".format(x[0], type(proc)))


text:
package org.springframework.util.xml;

import java.io.IOException;
import java.io.InputStream;

import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;

import static org.assertj.core.api.Assertions.assertThat;
import static org.springframework.util.xml.XmlValidationModeDetector.VALIDATION_DTD;
import static org.springframework.util.xml.XmlValidationModeDetector.VALIDATION_XSD;

/**
 * Unit tests for {@link XmlValidationModeDetector}.
 *
 * @author Sam Brannen
 * @since 5.1.10
 */
class XmlValidationModeDetectorTests {

	private final XmlValidationModeDetector xmlValidationModeDetector = new XmlValidationModeDetector();

	@ParameterizedTest
	@ValueSource(strings = {
		"dtdWithNoComments.xml",
		"dtdWithLeadingComment.xml",
		"dtdWithTrailingComment.xml",
		"dtdWithTrailingCommentAcrossMultipleLines.xml",
		"dtdWithCommentOnNextLine.xml",
		"dtdWithMultipleComments.xml"
	})
	void dtdDetection(String fileName) throws Exception {
		assertValidationMode(fileName, VALIDATION_DTD);
	}

	@ParameterizedTest
	@ValueSource(strings = {
		"xsdWithNoComments.xml",
		"xsdWithMultipleComments.xml",
		"xsdWithDoctypeInComment.xml",
		"xsdWithDoctypeInOpenCommentWithAdditionalCommentOnSameLine.xml"
	})
	void xsdDetection(String fileName) throws Exception {
		assertValidationMode(fileName, VALIDATION_XSD);
	}

	private void assertValidationMode(String fileName, int expectedValidationMode) throws IOException {
		try (InputStream inputStream = getClass().getResourceAsStream(fileName)) {
			assertThat(xmlValidationModeDetector.detectValidationMode(inputStream))
				.as("Validation Mode")
				.isEqualTo(expectedValidationMode);
		}
	}

}


text:
<?xml version="1.0" encoding="UTF-8" ?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You 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.
-->

<!--
 All (relative) paths are relative to the installation path

  persistent: Save changes made via the API to this file
  sharedLib: path to a lib directory that will be shared across all cores
-->
<solr>
  <str name="sharedLib">${sharedLib:lib}</str>
  <solrcloud>
    <str name="host">${host:}</str>
    <int name="hostPort">${jetty.port:8983}</int>
    <str name="hostContext">${hostContext:solr}</str>
    <int name="zkClientTimeout">${zkClientTimeout:15000}</int>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  </solrcloud>

  <shardHandlerFactory name="shardHandlerFactory"
    class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:0}</int>
    <int name="connTimeout">${connTimeout:0}</int>
  </shardHandlerFactory>
</solr>


text:
package javax.faces.component.html;

import javax.faces.component.UISelectBoolean;

import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;

/**
 * Allow the user to choose a "true" or "false" value, presented as a
 * checkbox.
 * <p>
 * Renders as an HTML input tag with its type set to "checkbox", and
 * its name attribute set to the id. The "checked" attribute is rendered
 * if the value of this component is true.
 * </p>
 *
 */
@JSFComponent
(name = "h:selectBooleanCheckbox",
clazz = "javax.faces.component.html.HtmlSelectBooleanCheckbox",template=true,
tagClass = "org.apache.myfaces.taglib.html.HtmlSelectBooleanCheckboxTag",
defaultRendererType = "javax.faces.Checkbox",
implementz = "javax.faces.component.behavior.ClientBehaviorHolder",
defaultEventName = "valueChange"
)
abstract class _HtmlSelectBooleanCheckbox extends UISelectBoolean implements
_AccesskeyProperty, _UniversalProperties, _DisabledReadonlyProperties,
_FocusBlurProperties, _ChangeSelectProperties, _EventProperties,
_StyleProperties, _TabindexProperty, _LabelProperty, _RoleProperty
{

  static public final String COMPONENT_FAMILY =
    "javax.faces.SelectBoolean";
  static public final String COMPONENT_TYPE =
    "javax.faces.HtmlSelectBooleanCheckbox";

}


text:
using System;

namespace GherkinDemo2.Tests.TestApi.Tools
{
    public class ContextTools
    {
        private Context _context;

        public ContextTools(Context context)
        {
            _context = context;
        }

        public void WaitForClockingToStop(TimeSpan fromSeconds)
        {
            throw new NotImplementedException("Implement a method that will indicate that all activity (including async calls) has completed.");
        }
    }
}


text:
namespace Rollbar.DTOs
{
    using System.Collections.Generic;

    /// <summary>
    /// Implements error telemetry body
    /// </summary>
    /// <seealso cref="Rollbar.DTOs.LogTelemetry" />
    public class ErrorTelemetry
        : LogTelemetry
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="ErrorTelemetry"/> class.
        /// </summary>
        /// <param name="exception">The exception.</param>
        public ErrorTelemetry(
            System.Exception exception
            )
            : this(exception, null)
        {

        }

        /// <summary>
        /// Initializes a new instance of the <see cref="ErrorTelemetry"/> class.
        /// </summary>
        /// <param name="exception">The exception.</param>
        /// <param name="arbitraryKeyValuePairs">The arbitrary key value pairs.</param>
        public ErrorTelemetry(
            System.Exception exception,
            IDictionary<string, object?>? arbitraryKeyValuePairs
            )
            : base(TelemetryType.Error, exception.Message, arbitraryKeyValuePairs)
        {
            this.Add("telemetry.exception", exception);
        }
    }
}


text:
//--------------------------------------------------------------------------------------------------------
// Mercer Evolution - Core v3.0 - Foundation - Off-canvas JS
// DATE - June 3, 2015
// AUTHOR - Doug Fraize, Matthew Holmes
//--------------------------------------------------------------------------------------------------------

$(document).foundation({

	// FOUNDATION OFF-CANVAS OPTIONS
	/*
	offcanvas : {
		// Sets method in which offcanvas opens.
		// [ move | overlap_single | overlap ]
		open_method: 'move',
		// Should the menu close when a menu link is clicked?
		// [ true | false ]
		close_on_click : false
	}
	*/

});


text:
ACCEPTED

#### According to
Index Fungorum

#### Published in
Agronomía trop. 11: 592 (1956)

#### Original name
Rosellinia megalospora Saccas

### Remarks
null


text:
package com.adaptris.ftp.test;

import java.io.FileFilter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.net.NoRouteToHostException;
import java.net.SocketTimeoutException;
import java.util.Date;
import java.util.TimeZone;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.oro.io.GlobFilenameFilter;

import com.adaptris.filetransfer.FileTransferClient;
import com.adaptris.filetransfer.FtpCase;
import com.adaptris.ftp.FtpClient;
import com.adaptris.security.password.Password;

/**
 * @author lchan
 * @author $Author: lchan $
 */
@SuppressWarnings("deprecation")
public class TestFtp extends FtpCase {

  private static final String ALTERNATE_TZ = "Australia/Sydney";

  private static String FTP_GET_FILENAME = "ftp.get.filename";
  private static final String FTP_PUT_FILENAME = "ftp.put.filename";
  private static final String FTP_PUT_REMOTEDIR = "ftp.put.remotedir";
  private static final String FTP_GET_FILTER = "ftp.get.filter";
  private static final String FTP_HOST = "ftp.host";
  private static final String FTP_GET_REMOTEDIR = "ftp.get.remotedir";
  private static final String FTP_PASSWORD = "ftp.password";
  private static final String FTP_USERNAME = "ftp.username";
  // -rwxrwxrwx 1 user group 28725 Jun 30 09:38 RAC DMAIL FUEL 10X2 100X73.pdf
  private static final String LIST_DIR_FULL = "^(\\S*)\\s+(\\S*)\\s+(\\S*)\\s+(\\S*)"
      + "\\s+(\\d*)\\s+(\\S*)\\s+(\\S*)\\s+(\\S*)\\s+(.*)";

  private static final Pattern LIST_DIR_PATTERN = Pattern
      .compile(LIST_DIR_FULL);

  public TestFtp(String testName) {
    super(testName);
  }

  public void testBug1924() throws Exception {
    if (areTestsEnabled()) {
      String oldName = Thread.currentThread().getName();
      try {
        Thread.currentThread().setName("testBug1924");
        // Use an arbitarily small timeout to a range that almost certainly
        // shouldn't exist when the tests are running.
        FtpClient client = new FtpClient("192.168.17.1", 21, 1);
        client.disconnect();
        fail("Successfully connected, with a timeout of 1ms (surely not possible!)");
      }
      catch (SocketTimeoutException e) {
        ; // expected.
      }
      catch (NoRouteToHostException e) {
        ; // also possibly expected
      }
      finally {
        Thread.currentThread().setName(oldName);
      }
    }
  }

  public void testConnectWithTimeout() throws Exception {
    if (areTestsEnabled()) {
      String oldName = Thread.currentThread().getName();
      try {
        Thread.currentThread().setName("testBug1924");
        // Use an arbitarily small timeout.
        FtpClient client = new FtpClient(config.getProperty(FTP_HOST), 21, 1);
        client.debugResponses(true);
        client.connect(config.getProperty(FTP_USERNAME), config.getProperty(FTP_PASSWORD));
        client.disconnect();
        fail("Successfully connected, with a timeout of 1ms (surely not possible!)");
      }
      catch (SocketTimeoutException e) {
        ; // expected.
      }
      finally {
        Thread.currentThread().setName(oldName);
      }
    }
  }

  public void testBug1483() throws Exception {
    if (areTestsEnabled()) {
      String oldName = Thread.currentThread().getName();
      try {
        Thread.currentThread().setName("testBug1483");
        FileTransferClient client = connectClientImpl();
        String[] files = client.dir(getRemoteGetDirectory(), true);
        for (int i = 0; i < files.length; i++) {
          logR.debug(files[i]);
          Matcher m = LIST_DIR_PATTERN.matcher(files[i]);
          assertTrue("Output Should match " + LIST_DIR_FULL, m.matches());
          // logR.debug(HexDump.parse(files[i].getBytes()));
        }
        assertTrue(files.length > 0);
        client.disconnect();
      }
      finally {
        Thread.currentThread().setName(oldName);
      }
    }
  }

  public void testGetLastModifiedWithTimezone() throws Exception {
    if (areTestsEnabled()) {
      String oldName = Thread.currentThread().getName();
      try {
        Thread.currentThread().setName("testGetLastModifiedWithTimezone");
        FileTransferClient client = connectClientImpl();
        client.chdir(getRemoteGetDirectory());
        long mtime = client.lastModified(getRemoteGetFilename());
        client.disconnect();

        FtpClient tzClient = (FtpClient) connectClientImpl();
        tzClient.setServerTimezone(TimeZone.getTimeZone(ALTERNATE_TZ));
        tzClient.chdir(getRemoteGetDirectory());
        long tztime = tzClient.lastModified(getRemoteGetFilename());
        tzClient.disconnect();

        logR.debug("testGetLastModifiedWithTimezone : " + new Date(tztime));
        assertNotSame("" + new Date(mtime), mtime, tztime);
      }
      finally {
        Thread.currentThread().setName(oldName);
      }
    }
  }

  public void testGetLastModifiedDateWithTimezone() throws Exception {
    if (areTestsEnabled()) {
      String oldName = Thread.currentThread().getName();
      try {
        Thread.currentThread().setName("testGetLastModifiedDateWithTimezone");
        FileTransferClient client = connectClientImpl();
        client.chdir(getRemoteGetDirectory());
        Date mtime = client.lastModifiedDate(getRemoteGetFilename());
        client.disconnect();

        FtpClient tzClient = (FtpClient) connectClientImpl();
        tzClient.setServerTimezone(TimeZone.getTimeZone(ALTERNATE_TZ));
        tzClient.chdir(getRemoteGetDirectory());
        Date tzDate = tzClient.lastModifiedDate(getRemoteGetFilename());
        tzClient.disconnect();
        logR.debug("testGetLastModifiedWithTimezone : " + tzDate);

        assertNotSame("" + mtime, mtime, tzDate);
      }
      finally {
        Thread.currentThread().setName(oldName);
      }
    }
  }

  @Override
  protected String getRemoteGetDirectory() throws IOException {
    return config.getProperty(FTP_GET_REMOTEDIR);
  }

  @Override
  protected String getRemotePutDirectory() throws IOException {
    return config.getProperty(FTP_PUT_REMOTEDIR);
  }

  @Override
  protected String getRemoteGetFilename() throws IOException {
    return config.getProperty(FTP_GET_FILENAME);
  }

  @Override
  protected String getRemotePutFilename() throws IOException {
    return config.getProperty(FTP_PUT_FILENAME);
  }

  @Override
  protected FilenameFilter getRemoteGetFilenameFilter() throws IOException {
    return new GlobFilenameFilter(config.getProperty(FTP_GET_FILTER));
  }

  @Override
  protected String getRemoteGetFilterString() {
    return config.getProperty(FTP_GET_FILTER);
  }

  @Override
  protected FileFilter getRemoteGetFileFilter() throws IOException {
    return new GlobFilenameFilter(config.getProperty(FTP_GET_FILTER));
  }

  @Override
  protected FileTransferClient connectClientImpl() throws Exception {
    FtpClient client = new FtpClient(config.getProperty(FTP_HOST));
    client.debugResponses(true);
    client.connect(config.getProperty(FTP_USERNAME), Password.decode(config.getProperty(FTP_PASSWORD)));
    logR.trace("Server OS         : " + client.system());
    logR.trace("Current Directory : " + client.pwd());
    logR.trace("Transfer Type     : " + client.getType().toString());
    return client;
  }

}


text:
require 'uri'
require 'net/http'

require File.dirname(__FILE__) + '/resource'

# This module's static methods are the entry point for using the REST client.
module RestClient
	def self.get(url, headers={})
		Request.execute(:method => :get,
			:url => url,
			:headers => headers)
	end

	# Payload can either be a string or a hash.  If it is a hash, your
	# content-type will be set to www-form-urlencoded and the parameters
	# converted to a CGI encoded string.
	def self.post(url, payload, headers={})
		Request.execute(:method => :post,
			:url => url,
			:payload => payload,
			:headers => headers)
	end

	def self.put(url, payload, headers={})
		Request.execute(:method => :put,
			:url => url,
			:payload => payload,
			:headers => headers)
	end

	def self.delete(url, headers={})
		Request.execute(:method => :delete,
			:url => url,
			:headers => headers)
	end

	# Internal class used to build and execute the request.
	class Request
		attr_reader :method, :url, :payload, :headers, :user, :password

		def self.execute(args)
			new(args).execute
		end

		def initialize(args)
			@method = args[:method] or raise ArgumentError, "must pass :method"
			@url = args[:url] or raise ArgumentError, "must pass :url"
			@headers = args[:headers] || {}
			@payload = process_payload(args[:payload])
			@user = args[:user]
			@password = args[:password]
		end

		def execute
			execute_inner
		rescue Redirect => e
			@url = e.message
			execute
		end

		def execute_inner
			uri = parse_url(url)
			transmit uri, net_http_class(method).new(uri.request_uri, make_headers(headers)), payload
		end

		def make_headers(user_headers)
			final = {}
			merged = default_headers.merge(user_headers)
			merged.keys.each do |key|
				final[key.to_s.gsub(/_/, '-').capitalize] = merged[key]
			end
			final
		end

		def net_http_class(method)
			Object.module_eval "Net::HTTP::#{method.to_s.capitalize}"
		end

		def parse_url(url)
			url = "http://#{url}" unless url.match(/^http/)
			URI.parse(url)
		end

		# A redirect was encountered; caught by execute to retry with the new url.
		class Redirect < Exception; end

		# Request failed with an unhandled http error code.
		class RequestFailed < Exception; end

		# Authorization is required to access the resource specified.
		class Unauthorized < Exception; end

		def process_payload(p=nil)
			unless p.is_a?(Hash)
				p
			else
				@headers[:content_type] = 'application/x-www-form-urlencoded'
				p.keys.map { |k| "#{k}=#{URI.escape(p[k].to_s)}" }.join("&")
			end
		end

		def transmit(uri, req, payload)
			setup_credentials(req)

			Net::HTTP.start(uri.host, uri.port) do |http|
				process_result http.request(req, payload || "")
			end
		end

		def setup_credentials(req)
			req.basic_auth(user, password) if user
		end

		def process_result(res)
			if %w(200 201 202).include? res.code
				res.body
			elsif %w(301 302 303).include? res.code
				raise Redirect, res.header['Location']
      elsif %w(204).include? res.code			# Fix: Sesame returns a 204 on successful post to statements
			  true
			elsif res.code == "401"
				raise Unauthorized
			else
			  puts ">>>>>>> #{res.body}"
				raise RequestFailed, error_message(res)
			end
		end

		def error_message(res)
			"HTTP code #{res.code}: #{res.body}"
		end

		def default_headers
			{ :accept => 'application/xml' }
		end
	end
end


text:
layout: mentors
---


text:
<!DOCTYPE html>

		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<meta name="author" content="William Harmer">
		<meta name="description" content="A technical blog about my work and interests">
		<meta name="generator" content="Hugo 0.15" />
		<title>404 Page not found · William Harmer Blog</title>
		<link rel="shortcut icon" href="http://willjharmer.github.io/images/favicon.ico">
		<link rel="stylesheet" href="http://willjharmer.github.io/css/style.css">
		<link rel="stylesheet" href="http://willjharmer.github.io/css/highlight.css">

		<link rel="stylesheet" href="http://willjharmer.github.io/css/monosocialiconsfont.css">

		<link href="http://willjharmer.github.io/index.xml" rel="alternate" type="application/rss+xml" title="William Harmer Blog" />

		 ←Home

		About

	Subscribe

404 - Page not found

The content you're looking for doesn't seem to exist.

Read more

            (Hu)go Template PrimerApr 2

            Getting Started with HugoApr 2

            Creating a New ThemeSep 28

            Migrate to Hugo from JekyllMar 10

        circlefacebook

        circlegithub

        circletwitterbird

        © Copyright 2016 William Harmer


text: UPDATE ofVersion SET version = 21 WHERE name = 'openfire';


text:
#include "int_redefine.h"

#ifndef COMMON_NUMERICAL_H
#define COMMON_NUMERICAL_H

#define max(a, b) (a > b ? a : b)
#define min(a, b) (a < b ? a : b)

void Num_dcopy_primme(int n, double *x, int incx, double *y, int incy);
double Num_dlamch_primme(char *cmach);
int Num_imax_primme(int numArgs, int val1, int val2, ...);
double Num_fmin_primme(int numArgs, double val1, double val2, ...);
double Num_fmax_primme(int numArgs, double val1, double val2, ...);

#endif


text:
import React, { PropTypes } from 'react';
import { Card, CardTitle, CardText, CardHeader,
  CardBlock, CardFooter, CardSubtitle, Progress } from 'reactstrap';
import { browserHistory } from 'react-router';
import classnames from 'classnames';

if (process.env.BROWSER) {
  require('./ListCard.scss');
}

function ListCard(props) {
  const { list } = props;
  return (
    <Card
      className={classnames({
        short: props.small,
        'list-card': true
      })}>
      {props.header ? <CardHeader tag="h3">{props.header}</CardHeader> : null}
      <CardBlock onClick={() => goToList(props, list)}>
        <CardTitle>{list.fullName}</CardTitle>
        <CardSubtitle className='text-muted'>{list.items.length} items</CardSubtitle>
        <Progress value={list.percentComplete} />
        <CardText>{items(list)}</CardText>
      </CardBlock>
      {props.footer ? <CardFooter>{props.footer}</CardFooter> : null}
    </Card>
  );
}

function items(list) {
  return (
    list.items.map( (item, index) => (
      index === list.items.length-1 ? item.text : `${item.text}, `
    ))
  )
}

function goToList(props, list) {
  props.changeTab('');
  browserHistory.push(`/lists/${list.cuid}`);
}

ListCard.propTypes = {
  changeTab: PropTypes.func.isRequired,
  list: PropTypes.shape({
    name: PropTypes.string.isRequired,
    cuid: PropTypes.string.isRequired,
  }).isRequired,
};

export default ListCard;


text:
package org.apache.helix.filestore;

import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import java.util.concurrent.atomic.AtomicBoolean;

/**
 * Processes the change log and invokes rsync for every change on the remote
 * machine
 */
public class ChangeLogProcessor implements Runnable {
  private final ChangeLogReader reader;
  RsyncInvoker rsyncInvoker;
  private AtomicBoolean shutdownRequested;
  private CheckpointFile checkpointFile;
  private Thread thread;

  public ChangeLogProcessor(ChangeLogReader reader, String remoteHost, String remoteBaseDir,
      String localBaseDir, String checkpointDirPath) throws Exception {
    this.reader = reader;
    checkpointFile = new CheckpointFile(checkpointDirPath);

    shutdownRequested = new AtomicBoolean(false);
    rsyncInvoker = new RsyncInvoker(remoteHost, remoteBaseDir, localBaseDir);
  }

  public void start() {
    thread = new Thread(this);
    thread.start();
  }

  public void run() {
    try {
      ChangeRecord lastRecordProcessed = checkpointFile.findLastRecordProcessed();
      do {
        try {
          List<ChangeRecord> changes = reader.getChangeSince(lastRecordProcessed);
          Set<String> paths = getRemotePathsToSync(changes);
          for (String path : paths) {
            rsyncInvoker.rsync(path);
          }
          lastRecordProcessed = changes.get(changes.size() - 1);
          checkpointFile.checkpoint(lastRecordProcessed);
        } catch (Exception e) {
          e.printStackTrace();
        }
      } while (!shutdownRequested.get());
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

  private Set<String> getRemotePathsToSync(List<ChangeRecord> changes) {
    Set<String> paths = new TreeSet<String>();
    for (ChangeRecord change : changes) {
      paths.add(change.file);
    }
    return paths;
  }

  public void stop() {
    shutdownRequested.set(true);
    thread.interrupt();
  }

}


text:
[Click here to get in touch](https://bytescout.zendesk.com/hc/en-us/requests/new?subject=PDF.co%20Web%20API%20Question)

or just send email to [support@bytescout.com](mailto:support@bytescout.com?subject=PDF.co%20Web%20API%20Question)

## ON-PREMISE OFFLINE SDK

[Get Your 60 Day Free Trial](https://bytescout.com/download/web-installer?utm_source=github-readme)
[Explore Documentation](https://bytescout.com/documentation/index.html?utm_source=github-readme)
[Explore Source Code Samples](https://github.com/bytescout/ByteScout-SDK-SourceCode/)
[Sign Up For Online Training](https://academy.bytescout.com/)

## ON-DEMAND REST WEB API

[Get your API key](https://app.pdf.co/signup?utm_source=github-readme)
[Security](https://pdf.co/security)
[Explore Web API Documentation](https://apidocs.pdf.co?utm_source=github-readme)
[Explore Web API Samples](https://github.com/bytescout/ByteScout-SDK-SourceCode/tree/master/PDF.co%20Web%20API)

## VIDEO REVIEW

[https://www.youtube.com/watch?v=NEwNs2b9YN8](https://www.youtube.com/watch?v=NEwNs2b9YN8)

<!-- code block begin -->

##### **Tutorial.txt:**

```
1. After input pdf source is specified, in next step for "Choose App & Event" pick "PDF.co" as an app and for action event part select "Search in PDF".
[screenshot-1.png]

2.Select or "connect your PDF.co account" to Zapier
[screenshot-2.jpg]"

3. Under "Customize Search in PDF" specify all criteria based on requirement.
For instance, in "Direct Link To Source PDF" provide or build input URL for source PDF.
In "Text To Search" section, input text which needs to be find out within input document. If one wants to find regular expression instead, regular expression needs to be entered here.
Choose whether provided search text will be regular expression or direct search in "Use Regular Expression" section.
If additional requirement like search should happen for certain pages or range provide it in "Pages" field.
[screenshot-3.png]

4. On completion of configuration, in "Send Data" section perform testing for inputs and review output data.
[screenshot-4.png]

Check out the PDF search response and utilize it further based on your needs. Thanks!
```

<!-- code block end -->


text:
from __future__ import unicode_literals

from ziggurat_foundations.models.base import get_db_session

class BaseService(object):
    model = None
    models_proxy = None

    @classmethod
    def all(cls, klass, db_session=None):
        """
        returns all objects of specific type - will work correctly with
        sqlalchemy inheritance models, you should normally use models
        base_query()  instead of this function its for bw. compat purposes

        :param klass:
        :param db_session:
        :return:
        """
        db_session = get_db_session(db_session)
        return db_session.query(klass)

    @classmethod
    def base_query(cls, db_session=None):
        """
        returns base query for specific service

        :param db_session:
        :return: query
        """
        db_session = get_db_session(db_session)
        return db_session.query(cls.model)


text:
CREATE TABLE list (id VARCHAR(10) NOT NULL, value VARCHAR(64) NOT NULL, PRIMARY KEY(id));

INSERT INTO "list" ("id", "value") VALUES ('AFN', 'Afghan Afghani');
INSERT INTO "list" ("id", "value") VALUES ('AFA', 'Afghan Afghani (1927–2002)');
INSERT INTO "list" ("id", "value") VALUES ('ALL', 'Albanian Lek');
INSERT INTO "list" ("id", "value") VALUES ('ALK', 'Albanian Lek (1946–1965)');
INSERT INTO "list" ("id", "value") VALUES ('ADP', 'Andorran Peseta');
INSERT INTO "list" ("id", "value") VALUES ('AOK', 'Angolan Kwanza (1977–1991)');
INSERT INTO "list" ("id", "value") VALUES ('AON', 'Angolan New Kwanza (1990–2000)');
INSERT INTO "list" ("id", "value") VALUES ('AOR', 'Angolan Readjusted Kwanza (1995–1999)');
INSERT INTO "list" ("id", "value") VALUES ('ARA', 'Argentine Austral');
INSERT INTO "list" ("id", "value") VALUES ('ARS', 'Argentine Peso');
INSERT INTO "list" ("id", "value") VALUES ('ARM', 'Argentine Peso (1881–1970)');
INSERT INTO "list" ("id", "value") VALUES ('ARP', 'Argentine Peso (1983–1985)');
INSERT INTO "list" ("id", "value") VALUES ('ARL', 'Argentine Peso Ley (1970–1983)');
INSERT INTO "list" ("id", "value") VALUES ('AMD', 'Armenian Dram');
INSERT INTO "list" ("id", "value") VALUES ('AWG', 'Aruban Florin');
INSERT INTO "list" ("id", "value") VALUES ('ATS', 'Austrian Schilling');
INSERT INTO "list" ("id", "value") VALUES ('AZN', 'Azerbaijani Manat');
INSERT INTO "list" ("id", "value") VALUES ('AZM', 'Azerbaijani Manat (1993–2006)');
INSERT INTO "list" ("id", "value") VALUES ('BSD', 'Bahamian Dollar');
INSERT INTO "list" ("id", "value") VALUES ('BDT', 'Bangladeshi Taka');
INSERT INTO "list" ("id", "value") VALUES ('BBD', 'Barbadian Dollar');
INSERT INTO "list" ("id", "value") VALUES ('BYN', 'Belarusian Ruble');
INSERT INTO "list" ("id", "value") VALUES ('BYB', 'Belarusian Ruble (1994–1999)');
INSERT INTO "list" ("id", "value") VALUES ('BYR', 'Belarusian Ruble (2000–2016)');
INSERT INTO "list" ("id", "value") VALUES ('BEF', 'Belgian Franc');
INSERT INTO "list" ("id", "value") VALUES ('BEC', 'Belgian Franc (convertible)');
INSERT INTO "list" ("id", "value") VALUES ('BEL', 'Belgian Franc (financial)');
INSERT INTO "list" ("id", "value") VALUES ('BZD', 'Belize Dollar');
INSERT INTO "list" ("id", "value") VALUES ('BMD', 'Bermudan Dollar');
INSERT INTO "list" ("id", "value") VALUES ('BTN', 'Bhutanese Ngultrum');
INSERT INTO "list" ("id", "value") VALUES ('ETB', 'Biiru ey'Esyopya');
INSERT INTO "list" ("id", "value") VALUES ('BOB', 'Bolivian Boliviano');
INSERT INTO "list" ("id", "value") VALUES ('BOL', 'Bolivian Boliviano (1863–1963)');
INSERT INTO "list" ("id", "value") VALUES ('BOV', 'Bolivian Mvdol');
INSERT INTO "list" ("id", "value") VALUES ('BOP', 'Bolivian Peso');
INSERT INTO "list" ("id", "value") VALUES ('BAM', 'Bosnia-Herzegovina Convertible Mark');
INSERT INTO "list" ("id", "value") VALUES ('BAD', 'Bosnia-Herzegovina Dinar (1992–1994)');
INSERT INTO "list" ("id", "value") VALUES ('BAN', 'Bosnia-Herzegovina New Dinar (1994–1997)');
INSERT INTO "list" ("id", "value") VALUES ('BRC', 'Brazilian Cruzado (1986–1989)');
INSERT INTO "list" ("id", "value") VALUES ('BRZ', 'Brazilian Cruzeiro (1942–1967)');
INSERT INTO "list" ("id", "value") VALUES ('BRE', 'Brazilian Cruzeiro (1990–1993)');
INSERT INTO "list" ("id", "value") VALUES ('BRR', 'Brazilian Cruzeiro (1993–1994)');
INSERT INTO "list" ("id", "value") VALUES ('BRN', 'Brazilian New Cruzado (1989–1990)');
INSERT INTO "list" ("id", "value") VALUES ('BRB', 'Brazilian New Cruzeiro (1967–1986)');
INSERT INTO "list" ("id", "value") VALUES ('BRL', 'Brazilian Real');
INSERT INTO "list" ("id", "value") VALUES ('BND', 'Brunei Dollar');
INSERT INTO "list" ("id", "value") VALUES ('BGL', 'Bulgarian Hard Lev');
INSERT INTO "list" ("id", "value") VALUES ('BGN', 'Bulgarian Lev');
INSERT INTO "list" ("id", "value") VALUES ('BGO', 'Bulgarian Lev (1879–1952)');
INSERT INTO "list" ("id", "value") VALUES ('BGM', 'Bulgarian Socialist Lev');
INSERT INTO "list" ("id", "value") VALUES ('BUK', 'Burmese Kyat');
INSERT INTO "list" ("id", "value") VALUES ('XPF', 'CFP Franc');
INSERT INTO "list" ("id", "value") VALUES ('KHR', 'Cambodian Riel');
INSERT INTO "list" ("id", "value") VALUES ('KYD', 'Cayman Islands Dollar');
INSERT INTO "list" ("id", "value") VALUES ('CLE', 'Chilean Escudo');
INSERT INTO "list" ("id", "value") VALUES ('CLP', 'Chilean Peso');
INSERT INTO "list" ("id", "value") VALUES ('CLF', 'Chilean Unit of Account (UF)');
INSERT INTO "list" ("id", "value") VALUES ('CNX', 'Chinese People's Bank Dollar');
INSERT INTO "list" ("id", "value") VALUES ('COP', 'Colombian Peso');
INSERT INTO "list" ("id", "value") VALUES ('COU', 'Colombian Real Value Unit');
INSERT INTO "list" ("id", "value") VALUES ('CRC', 'Costa Rican Colón');
INSERT INTO "list" ("id", "value") VALUES ('HRD', 'Croatian Dinar');
INSERT INTO "list" ("id", "value") VALUES ('HRK', 'Croatian Kuna');
INSERT INTO "list" ("id", "value") VALUES ('CUC', 'Cuban Convertible Peso');
INSERT INTO "list" ("id", "value") VALUES ('CUP', 'Cuban Peso');
INSERT INTO "list" ("id", "value") VALUES ('CYP', 'Cypriot Pound');
INSERT INTO "list" ("id", "value") VALUES ('CZK', 'Czech Koruna');
INSERT INTO "list" ("id", "value") VALUES ('CSK', 'Czechoslovak Hard Koruna');
INSERT INTO "list" ("id", "value") VALUES ('GMD', 'Dalasi ey'eGambya');
INSERT INTO "list" ("id", "value") VALUES ('DKK', 'Danish Krone');
INSERT INTO "list" ("id", "value") VALUES ('DZD', 'Dinaali ey'Aligerya');
INSERT INTO "list" ("id", "value") VALUES ('BHD', 'Dinaali ey'eBaareeni');
INSERT INTO "list" ("id", "value") VALUES ('LYD', 'Dinaali ey'eLibya');
INSERT INTO "list" ("id", "value") VALUES ('SDG', 'Dinaali ey'eSudaani');
INSERT INTO "list" ("id", "value") VALUES ('TND', 'Dinaali ey'eTunizya');
INSERT INTO "list" ("id", "value") VALUES ('AED', 'Diraamu eya Emireeti');
INSERT INTO "list" ("id", "value") VALUES ('MAD', 'Diraamu ey'eMoroko');
INSERT INTO "list" ("id", "value") VALUES ('STD', 'Dobura ey'eSantome ne Purincipe');
INSERT INTO "list" ("id", "value") VALUES ('DOP', 'Dominican Peso');
INSERT INTO "list" ("id", "value") VALUES ('USD', 'Doola ey'Amerika');
INSERT INTO "list" ("id", "value") VALUES ('AUD', 'Doola ey'Awusiturelya');
INSERT INTO "list" ("id", "value") VALUES ('CAD', 'Doola ey'eKanada');
INSERT INTO "list" ("id", "value") VALUES ('LRD', 'Doola ey'eLiberya');
INSERT INTO "list" ("id", "value") VALUES ('NAD', 'Doola ey'eNamibiya');
INSERT INTO "list" ("id", "value") VALUES ('ZWD', 'Doola ey'eZimbabwe');
INSERT INTO "list" ("id", "value") VALUES ('NLG', 'Dutch Guilder');
INSERT INTO "list" ("id", "value") VALUES ('XCD', 'East Caribbean Dollar');
INSERT INTO "list" ("id", "value") VALUES ('DDM', 'East German Mark');
INSERT INTO "list" ("id", "value") VALUES ('ECS', 'Ecuadorian Sucre');
INSERT INTO "list" ("id", "value") VALUES ('ECV', 'Ecuadorian Unit of Constant Value');
INSERT INTO "list" ("id", "value") VALUES ('GQE', 'Equatorial Guinean Ekwele');
INSERT INTO "list" ("id", "value") VALUES ('CVE', 'Esikudo ey'Keepu Veredi');
INSERT INTO "list" ("id", "value") VALUES ('EEK', 'Estonian Kroon');
INSERT INTO "list" ("id", "value") VALUES ('XEU', 'European Currency Unit');
INSERT INTO "list" ("id", "value") VALUES ('FKP', 'Falkland Islands Pound');
INSERT INTO "list" ("id", "value") VALUES ('GNS', 'Faranga ey'eGini');
INSERT INTO "list" ("id", "value") VALUES ('DJF', 'Faranga ey'eJjibuti');
INSERT INTO "list" ("id", "value") VALUES ('KMF', 'Faranga ey'eKomoro');
INSERT INTO "list" ("id", "value") VALUES ('CDF', 'Faranga ey'eKongo');
INSERT INTO "list" ("id", "value") VALUES ('MGA', 'Faranga ey'eMalagase');
INSERT INTO "list" ("id", "value") VALUES ('RWF', 'Faranga ey'eRwanda');
INSERT INTO "list" ("id", "value") VALUES ('CHF', 'Faranga ey'eSwitizirandi');
INSERT INTO "list" ("id", "value") VALUES ('BIF', 'Faranga ey'eburundi');
INSERT INTO "list" ("id", "value") VALUES ('XAF', 'Faranga ey'omu Afirika eya wakati');
INSERT INTO "list" ("id", "value") VALUES ('XOF', 'Faranga ey'omu Afirika ey'ebugwanjuba');
INSERT INTO "list" ("id", "value") VALUES ('FJD', 'Fijian Dollar');
INSERT INTO "list" ("id", "value") VALUES ('FIM', 'Finnish Markka');
INSERT INTO "list" ("id", "value") VALUES ('FRF', 'French Franc');
INSERT INTO "list" ("id", "value") VALUES ('XFO', 'French Gold Franc');
INSERT INTO "list" ("id", "value") VALUES ('XFU', 'French UIC-Franc');
INSERT INTO "list" ("id", "value") VALUES ('GEK', 'Georgian Kupon Larit');
INSERT INTO "list" ("id", "value") VALUES ('GEL', 'Georgian Lari');
INSERT INTO "list" ("id", "value") VALUES ('DEM', 'German Mark');
INSERT INTO "list" ("id", "value") VALUES ('GHS', 'Ghanaian Cedi');
INSERT INTO "list" ("id", "value") VALUES ('GIP', 'Gibraltar Pound');
INSERT INTO "list" ("id", "value") VALUES ('GRD', 'Greek Drachma');
INSERT INTO "list" ("id", "value") VALUES ('GTQ', 'Guatemalan Quetzal');
INSERT INTO "list" ("id", "value") VALUES ('GWP', 'Guinea-Bissau Peso');
INSERT INTO "list" ("id", "value") VALUES ('GNF', 'Guinean Franc');
INSERT INTO "list" ("id", "value") VALUES ('GYD', 'Guyanaese Dollar');
INSERT INTO "list" ("id", "value") VALUES ('HTG', 'Haitian Gourde');
INSERT INTO "list" ("id", "value") VALUES ('HNL', 'Honduran Lempira');
INSERT INTO "list" ("id", "value") VALUES ('HKD', 'Hong Kong Dollar');
INSERT INTO "list" ("id", "value") VALUES ('HUF', 'Hungarian Forint');
INSERT INTO "list" ("id", "value") VALUES ('ISK', 'Icelandic Króna');
INSERT INTO "list" ("id", "value") VALUES ('ISJ', 'Icelandic Króna (1918–1981)');
INSERT INTO "list" ("id", "value") VALUES ('IDR', 'Indonesian Rupiah');
INSERT INTO "list" ("id", "value") VALUES ('IRR', 'Iranian Rial');
INSERT INTO "list" ("id", "value") VALUES ('IQD', 'Iraqi Dinar');
INSERT INTO "list" ("id", "value") VALUES ('IEP', 'Irish Pound');
INSERT INTO "list" ("id", "value") VALUES ('ILS', 'Israeli New Shekel');
INSERT INTO "list" ("id", "value") VALUES ('ILP', 'Israeli Pound');
INSERT INTO "list" ("id", "value") VALUES ('ILR', 'Israeli Shekel (1980–1985)');
INSERT INTO "list" ("id", "value") VALUES ('ITL', 'Italian Lira');
INSERT INTO "list" ("id", "value") VALUES ('JMD', 'Jamaican Dollar');
INSERT INTO "list" ("id", "value") VALUES ('JOD', 'Jordanian Dinar');
INSERT INTO "list" ("id", "value") VALUES ('KZT', 'Kazakhstani Tenge');
INSERT INTO "list" ("id", "value") VALUES ('KWD', 'Kuwaiti Dinar');
INSERT INTO "list" ("id", "value") VALUES ('MWK', 'Kwaca ey'eMalawi');
INSERT INTO "list" ("id", "value") VALUES ('ZMW', 'Kwaca ey'eZambya');
INSERT INTO "list" ("id", "value") VALUES ('ZMK', 'Kwaca ey'eZambya (1968–2012)');
INSERT INTO "list" ("id", "value") VALUES ('AOA', 'Kwanza ey'Angola');
INSERT INTO "list" ("id", "value") VALUES ('KGS', 'Kyrgystani Som');
INSERT INTO "list" ("id", "value") VALUES ('LAK', 'Laotian Kip');
INSERT INTO "list" ("id", "value") VALUES ('LVL', 'Latvian Lats');
INSERT INTO "list" ("id", "value") VALUES ('LVR', 'Latvian Ruble');
INSERT INTO "list" ("id", "value") VALUES ('LBP', 'Lebanese Pound');
INSERT INTO "list" ("id", "value") VALUES ('SLL', 'Lewone');
INSERT INTO "list" ("id", "value") VALUES ('SZL', 'Lilangeni');
INSERT INTO "list" ("id", "value") VALUES ('LTL', 'Lithuanian Litas');
INSERT INTO "list" ("id", "value") VALUES ('LTT', 'Lithuanian Talonas');
INSERT INTO "list" ("id", "value") VALUES ('LSL', 'Loti ey'eLesoso');
INSERT INTO "list" ("id", "value") VALUES ('LUL', 'Luxembourg Financial Franc');
INSERT INTO "list" ("id", "value") VALUES ('LUC', 'Luxembourgian Convertible Franc');
INSERT INTO "list" ("id", "value") VALUES ('LUF', 'Luxembourgian Franc');
INSERT INTO "list" ("id", "value") VALUES ('MOP', 'Macanese Pataca');
INSERT INTO "list" ("id", "value") VALUES ('MKD', 'Macedonian Denar');
INSERT INTO "list" ("id", "value") VALUES ('MKN', 'Macedonian Denar (1992–1993)');
INSERT INTO "list" ("id", "value") VALUES ('MGF', 'Malagasy Franc');
INSERT INTO "list" ("id", "value") VALUES ('MYR', 'Malaysian Ringgit');
INSERT INTO "list" ("id", "value") VALUES ('MVR', 'Maldivian Rufiyaa');
INSERT INTO "list" ("id", "value") VALUES ('MVP', 'Maldivian Rupee (1947–1981)');
INSERT INTO "list" ("id", "value") VALUES ('MLF', 'Malian Franc');
INSERT INTO "list" ("id", "value") VALUES ('MTL', 'Maltese Lira');
INSERT INTO "list" ("id", "value") VALUES ('MTP', 'Maltese Pound');
INSERT INTO "list" ("id", "value") VALUES ('MZM', 'Metikaali ey'eMozambiiki');
INSERT INTO "list" ("id", "value") VALUES ('MXV', 'Mexican Investment Unit');
INSERT INTO "list" ("id", "value") VALUES ('MXN', 'Mexican Peso');
INSERT INTO "list" ("id", "value") VALUES ('MXP', 'Mexican Silver Peso (1861–1992)');
INSERT INTO "list" ("id", "value") VALUES ('MDC', 'Moldovan Cupon');
INSERT INTO "list" ("id", "value") VALUES ('MDL', 'Moldovan Leu');
INSERT INTO "list" ("id", "value") VALUES ('MCF', 'Monegasque Franc');
INSERT INTO "list" ("id", "value") VALUES ('MNT', 'Mongolian Tugrik');
INSERT INTO "list" ("id", "value") VALUES ('MAF', 'Moroccan Franc');
INSERT INTO "list" ("id", "value") VALUES ('MZE', 'Mozambican Escudo');
INSERT INTO "list" ("id", "value") VALUES ('MZN', 'Mozambican Metical');
INSERT INTO "list" ("id", "value") VALUES ('MMK', 'Myanmar Kyat');
INSERT INTO "list" ("id", "value") VALUES ('ERN', 'Nakifa ey'Eritureya');
INSERT INTO "list" ("id", "value") VALUES ('NGN', 'Nayira ey'eNayijerya');
INSERT INTO "list" ("id", "value") VALUES ('NPR', 'Nepalese Rupee');
INSERT INTO "list" ("id", "value") VALUES ('ANG', 'Netherlands Antillean Guilder');
INSERT INTO "list" ("id", "value") VALUES ('TWD', 'New Taiwan Dollar');
INSERT INTO "list" ("id", "value") VALUES ('NZD', 'New Zealand Dollar');
INSERT INTO "list" ("id", "value") VALUES ('NIO', 'Nicaraguan Córdoba');
INSERT INTO "list" ("id", "value") VALUES ('NIC', 'Nicaraguan Córdoba (1988–1991)');
INSERT INTO "list" ("id", "value") VALUES ('KPW', 'North Korean Won');
INSERT INTO "list" ("id", "value") VALUES ('NOK', 'Norwegian Krone');
INSERT INTO "list" ("id", "value") VALUES ('OMR', 'Omani Rial');
INSERT INTO "list" ("id", "value") VALUES ('PKR', 'Pakistani Rupee');
INSERT INTO "list" ("id", "value") VALUES ('PAB', 'Panamanian Balboa');
INSERT INTO "list" ("id", "value") VALUES ('PGK', 'Papua New Guinean Kina');
INSERT INTO "list" ("id", "value") VALUES ('PYG', 'Paraguayan Guarani');
INSERT INTO "list" ("id", "value") VALUES ('GBP', 'Pawundi ey'eBungereza');
INSERT INTO "list" ("id", "value") VALUES ('EGP', 'Pawundi ey'eMisiri');
INSERT INTO "list" ("id", "value") VALUES ('SHP', 'Pawundi ey'eSenti Herena');
INSERT INTO "list" ("id", "value") VALUES ('SDP', 'Pawundi ey'eSudaani');
INSERT INTO "list" ("id", "value") VALUES ('PEI', 'Peruvian Inti');
INSERT INTO "list" ("id", "value") VALUES ('PEN', 'Peruvian Sol');
INSERT INTO "list" ("id", "value") VALUES ('PES', 'Peruvian Sol (1863–1965)');
INSERT INTO "list" ("id", "value") VALUES ('PHP', 'Philippine Peso');
INSERT INTO "list" ("id", "value") VALUES ('PLN', 'Polish Zloty');
INSERT INTO "list" ("id", "value") VALUES ('PLZ', 'Polish Zloty (1950–1995)');
INSERT INTO "list" ("id", "value") VALUES ('PTE', 'Portuguese Escudo');
INSERT INTO "list" ("id", "value") VALUES ('GWE', 'Portuguese Guinea Escudo');
INSERT INTO "list" ("id", "value") VALUES ('BWP', 'Pula ey'eBotiswana');
INSERT INTO "list" ("id", "value") VALUES ('QAR', 'Qatari Rial');
INSERT INTO "list" ("id", "value") VALUES ('XRE', 'RINET Funds');
INSERT INTO "list" ("id", "value") VALUES ('ZAR', 'Randi ey'eSawusafirika');
INSERT INTO "list" ("id", "value") VALUES ('RHD', 'Rhodesian Dollar');
INSERT INTO "list" ("id", "value") VALUES ('SAR', 'Riyaali ey'eBuwarabu');
INSERT INTO "list" ("id", "value") VALUES ('RON', 'Romanian Leu');
INSERT INTO "list" ("id", "value") VALUES ('ROL', 'Romanian Leu (1952–2006)');
INSERT INTO "list" ("id", "value") VALUES ('INR', 'Rupiya ey'eBuyindi');
INSERT INTO "list" ("id", "value") VALUES ('MUR', 'Rupiya ey'eMawurisyasi');
INSERT INTO "list" ("id", "value") VALUES ('SCR', 'Rupiya ey'eSesere');
INSERT INTO "list" ("id", "value") VALUES ('RUB', 'Russian Ruble');
INSERT INTO "list" ("id", "value") VALUES ('RUR', 'Russian Ruble (1991–1998)');
INSERT INTO "list" ("id", "value") VALUES ('SVC', 'Salvadoran Colón');
INSERT INTO "list" ("id", "value") VALUES ('WST', 'Samoan Tala');
INSERT INTO "list" ("id", "value") VALUES ('GHC', 'Sedi ey'eGana');
INSERT INTO "list" ("id", "value") VALUES ('RSD', 'Serbian Dinar');
INSERT INTO "list" ("id", "value") VALUES ('CSD', 'Serbian Dinar (2002–2006)');
INSERT INTO "list" ("id", "value") VALUES ('UGX', 'Silingi eya Yuganda');
INSERT INTO "list" ("id", "value") VALUES ('KES', 'Silingi ey'eKenya');
INSERT INTO "list" ("id", "value") VALUES ('SOS', 'Silingi ey'eSomaliya');
INSERT INTO "list" ("id", "value") VALUES ('TZS', 'Silingi ey'eTanzaniya');
INSERT INTO "list" ("id", "value") VALUES ('SGD', 'Singapore Dollar');
INSERT INTO "list" ("id", "value") VALUES ('SKK', 'Slovak Koruna');
INSERT INTO "list" ("id", "value") VALUES ('SIT', 'Slovenian Tolar');
INSERT INTO "list" ("id", "value") VALUES ('SBD', 'Solomon Islands Dollar');
INSERT INTO "list" ("id", "value") VALUES ('ZAL', 'South African Rand (financial)');
INSERT INTO "list" ("id", "value") VALUES ('KRH', 'South Korean Hwan (1953–1962)');
INSERT INTO "list" ("id", "value") VALUES ('KRW', 'South Korean Won');
INSERT INTO "list" ("id", "value") VALUES ('KRO', 'South Korean Won (1945–1953)');
INSERT INTO "list" ("id", "value") VALUES ('SSP', 'South Sudanese Pound');
INSERT INTO "list" ("id", "value") VALUES ('SUR', 'Soviet Rouble');
INSERT INTO "list" ("id", "value") VALUES ('ESP', 'Spanish Peseta');
INSERT INTO "list" ("id", "value") VALUES ('ESA', 'Spanish Peseta (A account)');
INSERT INTO "list" ("id", "value") VALUES ('ESB', 'Spanish Peseta (convertible account)');
INSERT INTO "list" ("id", "value") VALUES ('LKR', 'Sri Lankan Rupee');
INSERT INTO "list" ("id", "value") VALUES ('SDD', 'Sudanese Dinar (1992–2007)');
INSERT INTO "list" ("id", "value") VALUES ('SRD', 'Surinamese Dollar');
INSERT INTO "list" ("id", "value") VALUES ('SRG', 'Surinamese Guilder');
INSERT INTO "list" ("id", "value") VALUES ('SEK', 'Swedish Krona');
INSERT INTO "list" ("id", "value") VALUES ('SYP', 'Syrian Pound');
INSERT INTO "list" ("id", "value") VALUES ('TJR', 'Tajikistani Ruble');
INSERT INTO "list" ("id", "value") VALUES ('TJS', 'Tajikistani Somoni');
INSERT INTO "list" ("id", "value") VALUES ('THB', 'Thai Baht');
INSERT INTO "list" ("id", "value") VALUES ('TPE', 'Timorese Escudo');
INSERT INTO "list" ("id", "value") VALUES ('TOP', 'Tongan Paʻanga');
INSERT INTO "list" ("id", "value") VALUES ('TTD', 'Trinidad & Tobago Dollar');
INSERT INTO "list" ("id", "value") VALUES ('TRY', 'Turkish Lira');
INSERT INTO "list" ("id", "value") VALUES ('TRL', 'Turkish Lira (1922–2005)');
INSERT INTO "list" ("id", "value") VALUES ('TMT', 'Turkmenistani Manat');
INSERT INTO "list" ("id", "value") VALUES ('TMM', 'Turkmenistani Manat (1993–2009)');
INSERT INTO "list" ("id", "value") VALUES ('USN', 'US Dollar (Next day)');
INSERT INTO "list" ("id", "value") VALUES ('USS', 'US Dollar (Same day)');
INSERT INTO "list" ("id", "value") VALUES ('UGS', 'Ugandan Shilling (1966–1987)');
INSERT INTO "list" ("id", "value") VALUES ('UAH', 'Ukrainian Hryvnia');
INSERT INTO "list" ("id", "value") VALUES ('UAK', 'Ukrainian Karbovanets');
INSERT INTO "list" ("id", "value") VALUES ('UYU', 'Uruguayan Peso');
INSERT INTO "list" ("id", "value") VALUES ('UYP', 'Uruguayan Peso (1975–1993)');
INSERT INTO "list" ("id", "value") VALUES ('UYI', 'Uruguayan Peso (Indexed Units)');
INSERT INTO "list" ("id", "value") VALUES ('UZS', 'Uzbekistani Som');
INSERT INTO "list" ("id", "value") VALUES ('VUV', 'Vanuatu Vatu');
INSERT INTO "list" ("id", "value") VALUES ('VEF', 'Venezuelan Bolívar');
INSERT INTO "list" ("id", "value") VALUES ('VEB', 'Venezuelan Bolívar (1871–2008)');
INSERT INTO "list" ("id", "value") VALUES ('VND', 'Vietnamese Dong');
INSERT INTO "list" ("id", "value") VALUES ('VNN', 'Vietnamese Dong (1978–1985)');
INSERT INTO "list" ("id", "value") VALUES ('CHE', 'WIR Euro');
INSERT INTO "list" ("id", "value") VALUES ('CHW', 'WIR Franc');
INSERT INTO "list" ("id", "value") VALUES ('MRO', 'Wugwiya ey'eMawritenya');
INSERT INTO "list" ("id", "value") VALUES ('YDD', 'Yemeni Dinar');
INSERT INTO "list" ("id", "value") VALUES ('YER', 'Yemeni Rial');
INSERT INTO "list" ("id", "value") VALUES ('JPY', 'Yeni ey'eJapani');
INSERT INTO "list" ("id", "value") VALUES ('YUN', 'Yugoslavian Convertible Dinar (1990–1992)');
INSERT INTO "list" ("id", "value") VALUES ('YUD', 'Yugoslavian Hard Dinar (1966–1990)');
INSERT INTO "list" ("id", "value") VALUES ('YUM', 'Yugoslavian New Dinar (1994–2002)');
INSERT INTO "list" ("id", "value") VALUES ('YUR', 'Yugoslavian Reformed Dinar (1992–1993)');
INSERT INTO "list" ("id", "value") VALUES ('EUR', 'Yuro');
INSERT INTO "list" ("id", "value") VALUES ('CNY', 'Yuwani Reniminibi ey'eCayina');
INSERT INTO "list" ("id", "value") VALUES ('ZRN', 'Zairean New Zaire (1993–1998)');
INSERT INTO "list" ("id", "value") VALUES ('ZRZ', 'Zairean Zaire (1971–1993)');
INSERT INTO "list" ("id", "value") VALUES ('ZWR', 'Zimbabwean Dollar (2008)');
INSERT INTO "list" ("id", "value") VALUES ('ZWL', 'Zimbabwean Dollar (2009)');


text:
@interface SystranImageApi ()
    @property (readwrite, nonatomic, strong) NSMutableDictionary *defaultHeaders;
@end

@implementation SystranImageApi

static SystranImageApi* singletonAPI = nil;

#pragma mark - Initialize methods

- (id) init {
    self = [super init];
    if (self) {
        SystranConfiguration *config = [SystranConfiguration sharedConfig];
        if (config.apiClient == nil) {
            config.apiClient = [[SystranApiClient alloc] init];
        }
        self.apiClient = config.apiClient;
        self.defaultHeaders = [NSMutableDictionary dictionary];
    }
    return self;
}

- (id) initWithApiClient:(SystranApiClient *)apiClient {
    self = [super init];
    if (self) {
        self.apiClient = apiClient;
        self.defaultHeaders = [NSMutableDictionary dictionary];
    }
    return self;
}

#pragma mark -

+(SystranImageApi*) apiWithHeader:(NSString*)headerValue key:(NSString*)key {

    if (singletonAPI == nil) {
        singletonAPI = [[SystranImageApi alloc] init];
        [singletonAPI addHeader:headerValue forKey:key];
    }
    return singletonAPI;
}

+(SystranImageApi*) sharedAPI {

    if (singletonAPI == nil) {
        singletonAPI = [[SystranImageApi alloc] init];
    }
    return singletonAPI;
}

-(void) addHeader:(NSString*)value forKey:(NSString*)key {
    [self.defaultHeaders setValue:value forKey:key];
}

-(void) setHeaderValue:(NSString*) value
           forKey:(NSString*)key {
    [self.defaultHeaders setValue:value forKey:key];
}

-(unsigned long) requestQueueSize {
    return [SystranApiClient requestQueueSize];
}

#pragma mark - Api Methods

///
/// Image layout analysis
/// Analyze the layout of an image.
///  @param imageFile Image file
///
///  @param lang Language code of the input ([details](#description_langage_code_values))
///
///  @param profile Profile id
///
///  @param callback Javascript callback function name for JSONP Support
///
///  @returns SystranImageAnalyzeLayoutResponse*
///
-(NSNumber*) multimodalImageAnalyzeLayoutPostWithCompletionBlock: (NSURL*) imageFile
         lang: (NSString*) lang
         profile: (NSNumber*) profile
         callback: (NSString*) callback

        completionHandler: (void (^)(SystranImageAnalyzeLayoutResponse* output, NSError* error))completionBlock {

    // verify the required parameter 'imageFile' is set
    if (imageFile == nil) {
        [NSException raise:@"Invalid parameter" format:@"Missing the required parameter `imageFile` when calling `multimodalImageAnalyzeLayoutPost`"];
    }

    // verify the required parameter 'lang' is set
    if (lang == nil) {
        [NSException raise:@"Invalid parameter" format:@"Missing the required parameter `lang` when calling `multimodalImageAnalyzeLayoutPost`"];
    }

    NSMutableString* resourcePath = [NSMutableString stringWithFormat:@"/multimodal/image/analyze/layout"];

    // remove format in URL if needed
    if ([resourcePath rangeOfString:@".{format}"].location != NSNotFound) {
        [resourcePath replaceCharactersInRange: [resourcePath rangeOfString:@".{format}"] withString:@".json"];
    }

    NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];

    NSMutableDictionary* queryParams = [[NSMutableDictionary alloc] init];
    if(lang != nil) {

        queryParams[@"lang"] = lang;
    }
    if(profile != nil) {

        queryParams[@"profile"] = profile;
    }
    if(callback != nil) {

        queryParams[@"callback"] = callback;
    }

    NSMutableDictionary* headerParams = [NSMutableDictionary dictionaryWithDictionary:self.defaultHeaders];

    // HTTP header `Accept`
    headerParams[@"Accept"] = [SystranApiClient selectHeaderAccept:@[]];
    if ([headerParams[@"Accept"] length] == 0) {
        [headerParams removeObjectForKey:@"Accept"];
    }

    // response content type
    NSString *responseContentType;
    if ([headerParams objectForKey:@"Accept"]) {
        responseContentType = [headerParams[@"Accept"] componentsSeparatedByString:@", "][0];
    }
    else {
        responseContentType = @"";
    }

    // request content type
    NSString *requestContentType = [SystranApiClient selectHeaderContentType:@[]];

    // Authentication setting
    NSArray *authSettings = @[@"accessToken", @"apiKey"];

    id bodyParam = nil;
    NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *files = [[NSMutableDictionary alloc] init];

    files[@"imageFile"] = imageFile;

    return [self.apiClient requestWithCompletionBlock: resourcePath
                                               method: @"POST"
                                           pathParams: pathParams
                                          queryParams: queryParams
                                           formParams: formParams
                                                files: files
                                                 body: bodyParam
                                         headerParams: headerParams
                                         authSettings: authSettings
                                   requestContentType: requestContentType
                                  responseContentType: responseContentType
                                         responseType: @"SystranImageAnalyzeLayoutResponse*"
                                      completionBlock: ^(id data, NSError *error) {

                  completionBlock((SystranImageAnalyzeLayoutResponse*)data, error);
              }
          ];
}

///
/// Image region analysis
/// Analyze the region properties of an image.
///  @param imageFile Image file
///
///  @param lang Language code of the input ([details](#description_langage_code_values))
///
///  @param profile Profile id
///
///  @param callback Javascript callback function name for JSONP Support
///
///  @returns SystranImageAnalyzeRegionResponse*
///
-(NSNumber*) multimodalImageAnalyzeRegionPostWithCompletionBlock: (NSURL*) imageFile
         lang: (NSString*) lang
         profile: (NSNumber*) profile
         callback: (NSString*) callback

        completionHandler: (void (^)(SystranImageAnalyzeRegionResponse* output, NSError* error))completionBlock {

    // verify the required parameter 'imageFile' is set
    if (imageFile == nil) {
        [NSException raise:@"Invalid parameter" format:@"Missing the required parameter `imageFile` when calling `multimodalImageAnalyzeRegionPost`"];
    }

    // verify the required parameter 'lang' is set
    if (lang == nil) {
        [NSException raise:@"Invalid parameter" format:@"Missing the required parameter `lang` when calling `multimodalImageAnalyzeRegionPost`"];
    }

    NSMutableString* resourcePath = [NSMutableString stringWithFormat:@"/multimodal/image/analyze/region"];

    // remove format in URL if needed
    if ([resourcePath rangeOfString:@".{format}"].location != NSNotFound) {
        [resourcePath replaceCharactersInRange: [resourcePath rangeOfString:@".{format}"] withString:@".json"];
    }

    NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];

    NSMutableDictionary* queryParams = [[NSMutableDictionary alloc] init];
    if(lang != nil) {

        queryParams[@"lang"] = lang;
    }
    if(profile != nil) {

        queryParams[@"profile"] = profile;
    }
    if(callback != nil) {

        queryParams[@"callback"] = callback;
    }

    NSMutableDictionary* headerParams = [NSMutableDictionary dictionaryWithDictionary:self.defaultHeaders];

    // HTTP header `Accept`
    headerParams[@"Accept"] = [SystranApiClient selectHeaderAccept:@[]];
    if ([headerParams[@"Accept"] length] == 0) {
        [headerParams removeObjectForKey:@"Accept"];
    }

    // response content type
    NSString *responseContentType;
    if ([headerParams objectForKey:@"Accept"]) {
        responseContentType = [headerParams[@"Accept"] componentsSeparatedByString:@", "][0];
    }
    else {
        responseContentType = @"";
    }

    // request content type
    NSString *requestContentType = [SystranApiClient selectHeaderContentType:@[]];

    // Authentication setting
    NSArray *authSettings = @[@"accessToken", @"apiKey"];

    id bodyParam = nil;
    NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *files = [[NSMutableDictionary alloc] init];

    files[@"imageFile"] = imageFile;

    return [self.apiClient requestWithCompletionBlock: resourcePath
                                               method: @"POST"
                                           pathParams: pathParams
                                          queryParams: queryParams
                                           formParams: formParams
                                                files: files
                                                 body: bodyParam
                                         headerParams: headerParams
                                         authSettings: authSettings
                                   requestContentType: requestContentType
                                  responseContentType: responseContentType
                                         responseType: @"SystranImageAnalyzeRegionResponse*"
                                      completionBlock: ^(id data, NSError *error) {

                  completionBlock((SystranImageAnalyzeRegionResponse*)data, error);
              }
          ];
}

///
/// Supported Languages
/// List of languages in which Image processing is supported.
///  @param callback Javascript callback function name for JSONP Support
///
///  @returns SystranSupportedLanguagesResponse*
///
-(NSNumber*) multimodalImageSupportedLanguagesGetWithCompletionBlock: (NSString*) callback

        completionHandler: (void (^)(SystranSupportedLanguagesResponse* output, NSError* error))completionBlock {

    NSMutableString* resourcePath = [NSMutableString stringWithFormat:@"/multimodal/image/supportedLanguages"];

    // remove format in URL if needed
    if ([resourcePath rangeOfString:@".{format}"].location != NSNotFound) {
        [resourcePath replaceCharactersInRange: [resourcePath rangeOfString:@".{format}"] withString:@".json"];
    }

    NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];

    NSMutableDictionary* queryParams = [[NSMutableDictionary alloc] init];
    if(callback != nil) {

        queryParams[@"callback"] = callback;
    }

    NSMutableDictionary* headerParams = [NSMutableDictionary dictionaryWithDictionary:self.defaultHeaders];

    // HTTP header `Accept`
    headerParams[@"Accept"] = [SystranApiClient selectHeaderAccept:@[]];
    if ([headerParams[@"Accept"] length] == 0) {
        [headerParams removeObjectForKey:@"Accept"];
    }

    // response content type
    NSString *responseContentType;
    if ([headerParams objectForKey:@"Accept"]) {
        responseContentType = [headerParams[@"Accept"] componentsSeparatedByString:@", "][0];
    }
    else {
        responseContentType = @"";
    }

    // request content type
    NSString *requestContentType = [SystranApiClient selectHeaderContentType:@[]];

    // Authentication setting
    NSArray *authSettings = @[@"accessToken", @"apiKey"];

    id bodyParam = nil;
    NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *files = [[NSMutableDictionary alloc] init];

    return [self.apiClient requestWithCompletionBlock: resourcePath
                                               method: @"GET"
                                           pathParams: pathParams
                                          queryParams: queryParams
                                           formParams: formParams
                                                files: files
                                                 body: bodyParam
                                         headerParams: headerParams
                                         authSettings: authSettings
                                   requestContentType: requestContentType
                                  responseContentType: responseContentType
                                         responseType: @"SystranSupportedLanguagesResponse*"
                                      completionBlock: ^(id data, NSError *error) {

                  completionBlock((SystranSupportedLanguagesResponse*)data, error);
              }
          ];
}

///
/// Image text transcription
/// Transcribe text from an image.
///  @param imageFile Image file
///
///  @param lang Language code of the input ([details](#description_langage_code_values))
///
///  @param profile Profile id
///
///  @param callback Javascript callback function name for JSONP Support
///
///  @returns SystranImageTranscribeResponse*
///
-(NSNumber*) multimodalImageTranscribePostWithCompletionBlock: (NSURL*) imageFile
         lang: (NSString*) lang
         profile: (NSNumber*) profile
         callback: (NSString*) callback

        completionHandler: (void (^)(SystranImageTranscribeResponse* output, NSError* error))completionBlock {

    // verify the required parameter 'imageFile' is set
    if (imageFile == nil) {
        [NSException raise:@"Invalid parameter" format:@"Missing the required parameter `imageFile` when calling `multimodalImageTranscribePost`"];
    }

    // verify the required parameter 'lang' is set
    if (lang == nil) {
        [NSException raise:@"Invalid parameter" format:@"Missing the required parameter `lang` when calling `multimodalImageTranscribePost`"];
    }

    NSMutableString* resourcePath = [NSMutableString stringWithFormat:@"/multimodal/image/transcribe"];

    // remove format in URL if needed
    if ([resourcePath rangeOfString:@".{format}"].location != NSNotFound) {
        [resourcePath replaceCharactersInRange: [resourcePath rangeOfString:@".{format}"] withString:@".json"];
    }

    NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];

    NSMutableDictionary* queryParams = [[NSMutableDictionary alloc] init];
    if(lang != nil) {

        queryParams[@"lang"] = lang;
    }
    if(profile != nil) {

        queryParams[@"profile"] = profile;
    }
    if(callback != nil) {

        queryParams[@"callback"] = callback;
    }

    NSMutableDictionary* headerParams = [NSMutableDictionary dictionaryWithDictionary:self.defaultHeaders];

    // HTTP header `Accept`
    headerParams[@"Accept"] = [SystranApiClient selectHeaderAccept:@[]];
    if ([headerParams[@"Accept"] length] == 0) {
        [headerParams removeObjectForKey:@"Accept"];
    }

    // response content type
    NSString *responseContentType;
    if ([headerParams objectForKey:@"Accept"]) {
        responseContentType = [headerParams[@"Accept"] componentsSeparatedByString:@", "][0];
    }
    else {
        responseContentType = @"";
    }

    // request content type
    NSString *requestContentType = [SystranApiClient selectHeaderContentType:@[]];

    // Authentication setting
    NSArray *authSettings = @[@"accessToken", @"apiKey"];

    id bodyParam = nil;
    NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *files = [[NSMutableDictionary alloc] init];

    files[@"imageFile"] = imageFile;

    return [self.apiClient requestWithCompletionBlock: resourcePath
                                               method: @"POST"
                                           pathParams: pathParams
                                          queryParams: queryParams
                                           formParams: formParams
                                                files: files
                                                 body: bodyParam
                                         headerParams: headerParams
                                         authSettings: authSettings
                                   requestContentType: requestContentType
                                  responseContentType: responseContentType
                                         responseType: @"SystranImageTranscribeResponse*"
                                      completionBlock: ^(id data, NSError *error) {

                  completionBlock((SystranImageTranscribeResponse*)data, error);
              }
          ];
}

@end


text:
import abc
from copy import deepcopy

class Transform(object):
    r"""
    An abstract representation of any spatial transform.
    Provides a unified interface to apply the transform with
    :meth:`apply_inplace` and :meth:`apply`. All Transforms support basic
    composition to form TransformChains.

    For native composition, see the Composition and VComposition mix-ins.
    For inversion, see the Invertable and VInvertable mix-ins.
    For alignment, see the Alignable and PureAlignment mix-ins.
    """

    __metaclass__ = abc.ABCMeta

    @property
    def n_dims(self):
        r"""
        The dimensionality of the data the transform operates on.
        None if the transform is not dimension specific.

        :type: int or None
        """
        return None

    @property
    def n_dims_output(self):
        r"""
        The output of the data from the transform. None if the output
        of the transform is not dimension specific.

        :type: int or None
        """
        # most Transforms don't change the dimensionality of their input.
        return self.n_dims

    @abc.abstractmethod
    def _apply(self, x, **kwargs):
        r"""
        Applies the transform to the array ``x``, returning the result.

        Parameters
        ----------
        x : (N, D) ndarray

        Returns
        -------
        transformed : (N, D) ndarray
            Transformed array.
        """
        pass

    def apply_inplace(self, x, **kwargs):
        r"""
        Applies this transform to ``x``. If ``x`` is :class:`Transformable`,
        ``x`` will be handed this transform object to transform itself
        inplace. If not, ``x`` is assumed to be a numpy array. The
        transformation will be non destructive, returning the transformed
        version. Any ``kwargs`` will be passed to the specific transform
        :meth:`_apply` methods.

        If you wish to apply a Transform to a Transformable in a nondestructive
        manor, use the nondestructive keyword

        Parameters
        ----------
        x : (N, D) ndarray or an object that implements :class:`Transformable`
            The array or object to be transformed.
        kwargs : dict
            Passed through to :meth:`_apply`.

        Returns
        -------
        transformed : same as ``x``
            The transformed array or object
        """

        def transform(x_):
            """
            Local closure which calls the ``_apply`` method with the ``kwargs``
            attached.
            """
            return self._apply(x_, **kwargs)

        try:
            x._transform_inplace(transform)
        except AttributeError:
            x[...] = self._apply(x, **kwargs)

    def apply(self, x, **kwargs):
        r"""
        Applies this transform to ``x``. If ``x`` is :class:`Transformable`,
        ``x`` will be handed this transform object to transform itself
        non-destructively (a transformed copy of the object will be
        returned).
        If not, ``x`` is assumed to be a numpy array. The transformation
        will be non destructive, returning the transformed version. Any
        ``kwargs`` will be passed to the specific transform
        :meth:`_apply` methods.

        Parameters
        ----------
        x : (N, D) ndarray or an object that implements :class:`Transformable`
            The array or object to be transformed.
        kwargs : dict
            Passed through to :meth:`_apply`.

        Returns
        -------
        transformed : same as ``x``
            The transformed array or object
        """

        def transform(x_):
            """
            Local closure which calls the ``_apply`` method with the ``kwargs``
            attached.
            """
            return self._apply(x_, **kwargs)

        try:
            return x._transform(transform)
        except AttributeError:
            return self._apply(x, **kwargs)

    def compose_before(self, transform):
        r"""
        c = a.compose_before(b)
        c.apply(p) == b.apply(a.apply(p))

        a and b are left unchanged.

        Parameters
        ----------
        transform : :class:`Transform`
            Transform to be applied **after** self

        Returns
        --------
        transform : :class:`TransformChain`
            The resulting transform chain.
        """
        return TransformChain([self, transform])

    def compose_after(self, transform):
        r"""
        c = a.compose_after(b)
        c.apply(p) == a.apply(b.apply(p))

        a and b are left unchanged.

        This corresponds to the usual mathematical formalism for the compose
        operator, `o`.

        Parameters
        ----------
        transform : :class:`Transform`
            Transform to be applied **before** self

        Returns
        --------
        transform : :class:`TransformChain`
            The resulting transform chain.
        """
        return TransformChain([transform, self])

class Transformable(object):
    r"""
    Interface for transformable objects. When :meth:`apply_inplace` is called
    on an object, if the object has the method :meth:`_transform_inplace`,
    the method is called, passing in the transforms :meth:`apply_inplace`
    method.
    This allows for the object to define how it should transform itself.
    """
    __metaclass__ = abc.ABCMeta

    @abc.abstractmethod
    def _transform_inplace(self, transform):
        r"""
        Apply the transform given to the Transformable object.

        Parameters
        ----------
        transform : func
            Function that applies a transformation to the transformable object.

        Returns
        -------
        transformed : :class:`Transformable`
            The transformed object. Transformed in place.
        """
        pass

    def _transform(self, transform):
        r"""
        Apply the transform given in a non destructive manner - returning the
        transformed object and leaving this object as it was.

        Parameters
        ----------
        transform : func
            Function that applies a transformation to the transformable object.

        Returns
        -------
        transformed : :class:`Transformable`
            A copy of the object, transformed.
        """
        copy_of_self = deepcopy(self)
        # transform the copy destructively
        copy_of_self._transform_inplace(transform)
        return copy_of_self

from .composable import (ComposableTransform, TransformChain,
                         VComposableTransform)
from .invertable import Invertible, VInvertible
from .alignable import Alignable, PureAlignment


text:
package org.springframework.aot.hint.predicate;

import org.springframework.aot.hint.ProxyHints;
import org.springframework.aot.hint.ReflectionHints;
import org.springframework.aot.hint.ResourceHints;
import org.springframework.aot.hint.RuntimeHints;
import org.springframework.aot.hint.RuntimeHintsRegistrar;
import org.springframework.aot.hint.SerializationHints;

/**
 * Static generator of predicates that test whether the given {@link RuntimeHints}
 * instance matches the expected behavior for reflection, resource, serialization,
 * or proxy generation.
 *
 *
This utility class can be used by {@link RuntimeHintsRegistrar} to conditionally
 * register hints depending on what's present already. This can also be used as a
 * testing utility for checking proper registration of hints:
 *

 * Predicate<RuntimeHints> predicate = RuntimeHintsPredicates.reflection().onMethod(MyClass.class, "someMethod").invoke();
 * assertThat(predicate).accepts(runtimeHints);
 *

 *
 * @author Brian Clozel
 * @author Stephane Nicoll
 * @since 6.0
 */
public abstract class RuntimeHintsPredicates {

	private static final ReflectionHintsPredicates reflection = new ReflectionHintsPredicates();

	private static final ResourceHintsPredicates resource = new ResourceHintsPredicates();

	private static final SerializationHintsPredicates serialization = new SerializationHintsPredicates();

	private static final ProxyHintsPredicates proxies = new ProxyHintsPredicates();

	private RuntimeHintsPredicates() {
	}

	/**
	 * Return a predicate generator for {@link ReflectionHints reflection hints}.
	 * @return the predicate generator
	 */
	public static ReflectionHintsPredicates reflection() {
		return reflection;
	}

	/**
	 * Return a predicate generator for {@link ResourceHints resource hints}.
	 * @return the predicate generator
	 */
	public static ResourceHintsPredicates resource() {
		return resource;
	}

	/**
	 * Return a predicate generator for {@link SerializationHints serialization hints}.
	 * @return the predicate generator
	 */
	public static SerializationHintsPredicates serialization() {
		return serialization;
	}

	/**
	 * Return a predicate generator for {@link ProxyHints proxy hints}.
	 * @return the predicate generator
	 */
	public static ProxyHintsPredicates proxies() {
		return proxies;
	}

}


text:
package com.sleepcamel.bsoneer.processor.domain;

import javax.lang.model.element.Element;
import javax.lang.model.element.Modifier;

public enum Visibility {
	PUBLIC(40, "public"), PROTECTED(30, "protected"), DEFAULT(20, ""), PRIVATE(
			10, "private");

	private final int rank;
	private final String keyword;

	private Visibility(int rank, String keyword) {
		this.rank = rank;
		this.keyword = keyword;
	}

	public String getKeyword() {
		return keyword;
	}

	public static Visibility max(Visibility a, Visibility b) {
		return (a.rank > b.rank) ? a : b;
	}

	public static Visibility of(Element e) {
		if (e.getModifiers().contains(Modifier.PUBLIC)) {
			return Visibility.PUBLIC;
		} else if (e.getModifiers().contains(Modifier.PROTECTED)) {
			return Visibility.PROTECTED;
		} else if (e.getModifiers().contains(Modifier.PRIVATE)) {
			return Visibility.PRIVATE;
		} else {
			return Visibility.DEFAULT;
		}
	}

	public boolean sameAs(Element e) {
		return equals(of(e));
	}
}


text:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:textSize="18sp"
        android:text="这是CardView的front"/>
    <Button
        android:id="@+id/transition"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="变换"/>
</LinearLayout>