text:
package org.apache.accumulo.core.cli;

import static java.nio.charset.StandardCharsets.UTF_8;

import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Scanner;

import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
import org.apache.accumulo.core.clientImpl.ClientInfoImpl;
import org.apache.accumulo.core.conf.ClientProperty;
import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.core.security.ColumnVisibility;
import org.apache.htrace.NullScope;
import org.apache.htrace.Sampler;
import org.apache.htrace.Trace;
import org.apache.htrace.TraceScope;

import com.beust.jcommander.IStringConverter;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.ParameterException;
import com.beust.jcommander.converters.IParameterSplitter;

import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;

public class ClientOpts extends Help {

  public static class AuthConverter implements IStringConverter<Authorizations> {
    @Override
    public Authorizations convert(String value) {
      return new Authorizations(value.split(","));
    }
  }

  public static class VisibilityConverter implements IStringConverter<ColumnVisibility> {
    @Override
    public ColumnVisibility convert(String value) {
      return new ColumnVisibility(value);
    }
  }

  public static class NullSplitter implements IParameterSplitter {
    @Override
    public List<String> split(String value) {
      return Collections.singletonList(value);
    }
  }

  public static class PasswordConverter implements IStringConverter<String> {
    public static final String STDIN = "stdin";

    private enum KeyType {
      PASS("pass:"), ENV("env:") {
        @Override
        String process(String value) {
          return System.getenv(value);
        }
      },
      FILE("file:") {
        @SuppressFBWarnings(value = "PATH_TRAVERSAL_IN",
            justification = "app is run in same security context as user providing the filename")
        @Override
        String process(String value) {
          Scanner scanner = null;
          try {
            scanner = new Scanner(new File(value), UTF_8);
            return scanner.nextLine();
          } catch (IOException e) {
            throw new ParameterException(e);
          } finally {
            if (scanner != null) {
              scanner.close();
            }
          }
        }
      },
      STDIN(PasswordConverter.STDIN) {
        @Override
        public boolean matches(String value) {
          return prefix.equals(value);
        }

        @Override
        public String convert(String value) {
          // Will check for this later
          return prefix;
        }
      };

      String prefix;

      private KeyType(String prefix) {
        this.prefix = prefix;
      }

      public boolean matches(String value) {
        return value.startsWith(prefix);
      }

      public String convert(String value) {
        return process(value.substring(prefix.length()));
      }

      String process(String value) {
        return value;
      }
    }

    @Override
    public String convert(String value) {
      for (KeyType keyType : KeyType.values()) {
        if (keyType.matches(value)) {
          return keyType.convert(value);
        }
      }

      return value;
    }
  }

  /**
   * A catch all for older legacy options that have been dropped. Most of them were replaced with
   * accumulo-client.properties in 2.0. Others have been dropped completely.
   */
  private String legacyClientOpts = "-p -tc --tokenClass -i --instance --site-file --keytab "
      + "--debug -fake --mock --ssl --sasl";
  @Parameter(names = {"-p", "-tc", "--tokenClass", "-i", "--instance", "--site-file", "--keytab"},
      hidden = true)
  private String legacyOpts = null;
  @Parameter(names = {"--debug", "-fake", "--mock", "--ssl", "--sasl"}, hidden = true)
  private boolean legacyOptsBoolean = false;

  @Parameter(names = {"-u", "--user"}, description = "Connection user")
  public String principal = null;

  @Parameter(names = "--password", converter = PasswordConverter.class,
      description = "conection password (can be specified as '<password>', 'pass:<password>',"
          + " 'file:<local file containing the password>' or 'env:<variable containing"
          + " the pass>')",
      password = true)
  private String securePassword = null;

  public AuthenticationToken getToken() {
    return ClientProperty.getAuthenticationToken(getClientProps());
  }

  @Parameter(names = {"-auths", "--auths"}, converter = AuthConverter.class,
      description = "the authorizations to use when reading or writing")
  public Authorizations auths = Authorizations.EMPTY;

  @Parameter(names = {"-c", "--config-file"}, description = "Read the given client config file. "
      + "If omitted, the classpath will be searched for file named accumulo-client.properties")
  private String clientConfigFile = null;

  @Parameter(names = "-o", splitter = NullSplitter.class, description = "Overrides property in "
      + "accumulo-client.properties. Expected format: -o <key>=<value>")
  private List<String> overrides = new ArrayList<>();

  @Parameter(names = "--trace", description = "turn on distributed tracing")
  public boolean trace = false;

  public Map<String,String> getOverrides() {
    return ConfigOpts.getOverrides(overrides);
  }

  public TraceScope parseArgsAndTrace(String programName, String[] args, Object... others) {
    parseArgs(programName, args, others);
    return trace ? Trace.startSpan(programName, Sampler.ALWAYS) : NullScope.INSTANCE;
  }

  @Override
  public void parseArgs(String programName, String[] args, Object... others) {
    super.parseArgs(programName, args, others);
    if (legacyOpts != null || legacyOptsBoolean) {
      // grab the bad options
      StringBuilder badOptions = new StringBuilder();
      for (String arg : args) {
        if (legacyClientOpts.contains(arg))
          badOptions.append(arg).append(" ");
      }
      throw new IllegalArgumentException("The Client options: " + badOptions.toString()
          + "have been dropped. Use accumulo-client.properties for any connection or token "
          + "options. See '-c, --config-file' option.");
    }
  }

  private Properties cachedProps = null;

  public String getClientConfigFile() {
    if (clientConfigFile == null) {
      URL clientPropsUrl =
          ClientOpts.class.getClassLoader().getResource("accumulo-client.properties");
      if (clientPropsUrl != null) {
        clientConfigFile = clientPropsUrl.getFile();
      }
    }
    return clientConfigFile;
  }

  public Properties getClientProps() {
    if (cachedProps == null) {
      cachedProps = new Properties();
      if (getClientConfigFile() != null) {
        cachedProps = ClientInfoImpl.toProperties(getClientConfigFile());
      }
      if (principal != null) {
        cachedProps.setProperty(ClientProperty.AUTH_PRINCIPAL.getKey(), principal);
      }
      if (securePassword != null) {
        ClientProperty.setPassword(cachedProps, securePassword.toString());
      }
      getOverrides().forEach((k, v) -> cachedProps.put(k, v));
      ClientProperty.validate(cachedProps);
    }
    return cachedProps;
  }
}


text:
import BaseHTTPServer, SimpleHTTPServer
import ssl
import patch_hosts
import threading

BLOG_URL = "README.md"

class ConfigHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def do_GET(self):
        if self.path.strip() == "/sync.conf":
            SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self)
            print "Processed request from Sync. Server shutting down..."
            assassin = threading.Thread(target=self.server.shutdown)
            assassin.daemon = True
            assassin.start()
        else:
            self.send_response(404, 'Not Found')
            self.end_headers()

def main():
    print "Please refer to %s for detailed instructions."  % BLOG_URL

    # Step 1
    #print "\r\nStep 1: patch hosts file (Admin required)...",
    if not patch_hosts.sync_patch_hosts(): return False
    #print "Done"

    # Step 2
    #print "\r\nStep 2: start fake config.resilio.com server..."
    httpd = BaseHTTPServer.HTTPServer(('127.0.0.1', 443), ConfigHandler)
    httpd.socket = ssl.wrap_socket (httpd.socket, keyfile='./resilio.key', certfile='./resilio.crt', server_side=True)
    print "Fake server started."
    print "After Sync has requested the config file, this program should go on automatically."
    print "If this program blocks here, please refer to %s" % BLOG_URL
    print """
*****************************
* Now, please restart Sync. *
*****************************
"""
    httpd.serve_forever()

    # Step 3
    #print "\r\nStep 3: restore hosts file (Admin required)...",
    if not patch_hosts.sync_unpatch_hosts(): return False
    #print "Done"

    return True

if __name__ == '__main__':
    if main():
        print "\r\nAll done. Sync should have updated the tracker/relay cache."
        print "Press Enter to exit."
    else:
        print "Error and abort."
    raw_input()

redpajama_set_name: RedPajamaGithub


text:
package consulo.csharp.lang.psi.impl.source;

import com.intellij.psi.tree.IElementType;
import consulo.annotation.access.RequiredReadAction;
import consulo.csharp.lang.psi.CSharpArrayType;
import consulo.csharp.lang.psi.CSharpElementVisitor;
import consulo.csharp.lang.psi.CSharpTokenSets;
import consulo.csharp.lang.psi.impl.source.resolve.type.CSharpArrayTypeRef;
import consulo.dotnet.psi.DotNetType;
import consulo.dotnet.resolve.DotNetTypeRef;

import javax.annotation.Nonnull;

/**
 * @author VISTALL
 * @since 05.12.14
 */
public class CSharpArrayTypeImpl extends CSharpTypeElementImpl implements CSharpArrayType
{
	public CSharpArrayTypeImpl(@Nonnull IElementType elementType)
	{
		super(elementType);
	}

	@RequiredReadAction
	@Nonnull
	@Override
	public DotNetTypeRef toTypeRefImpl()
	{
		DotNetType innerType = getInnerType();

		return new CSharpArrayTypeRef(getProject(), getResolveScope(), innerType.toTypeRef(), getDimensions());
	}

	@RequiredReadAction
	@Override
	public int getDimensions()
	{
		return findChildrenByType(CSharpTokenSets.COMMA).size();
	}

	@Override
	public void accept(@Nonnull CSharpElementVisitor visitor)
	{
		visitor.visitArrayType(this);
	}

	@RequiredReadAction
	@Nonnull
	@Override
	public DotNetType getInnerType()
	{
		return findNotNullChildByClass(DotNetType.class);
	}
}


text:
         	Copyright © 2016-2017
     		北京-智慧信达 版权所有

     		备案号:<{$_SESSION['Xinda']['record']}>;
IP:<{$_SESSION['ip']}>;浏览器:<{$_SESSION['os']}>-<{$_SESSION['browser']}>

咨询热线:<a href="tel:<{$_SESSION['Xinda']['phone']}>"><{$_SESSION['Xinda']['phone']}>

	        <button type="button" class="close" data-dismiss="modal">×Close</button>

登录

	      	<form action="__APP__/Xinda/Login/login" method="post" class="form-horizontal" role="form" >

					手机:

						<input type="text" class="form-control" name="phone" value="" placeholder="用户名">

					密码:

						<input type="password" class="form-control" name="password" value="" placeholder="密码">

		     <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
		     <button type="submit" class="btn btn-primary">登录</button></form>


text:
*A game about chickens fighting on a platform*

![](http://i.imgur.com/g2oSQ1w.png)

----

### Requirements
*  [python2.7 32bit](https://www.python.org/downloads/release/python-2711/)
*  [pygame](https://www.pygame.org/wiki/GettingStarted)

----

### Getting Started

#### Ubuntu
Install pygame

`sudo apt-get install python-pygame`

Install xbox-drv [optional, for using controllers]

```term
sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdr
sudo apt-get update
sudo apt-get install ubuntu-xboxdrv
```

#### Windows
Install python2.7 32bit and pygame using [a pygame installer](http://www.pygame.org/download.shtml)

----

### Run

`pythonw chickn.py` (SDL makes a ton of debug messages that lag in windows)

----

### Controls (Up to 13 players simultaneously!!)

#### General
 * "up" -> Jump, Join Lobby & Change Color
 * "down" -> Slam / Charge launch, Leave Lobby
 * "left" -> Move Left
 * "right" -> Move Right

Keyboard: WASD, IJKL, ArrowKeys

Joystick: Leftstick -> 'left' & 'right', A -> 'up', and B -> 'down'

Bots: 0-9 keys will add a bot. The bots are **really** strong.

#### Menu

Keyboard: Escape -> Back, Enter -> Select

Joystick: Select -> Back, Start- > Enter (sometimes this changes to triggers?)

----

### Contributing

Please document!

I'll try to review pull requests as soon as I can!

----

### Screenshots

![](http://i.imgur.com/CDKdc4j.png)

![](http://i.imgur.com/g2oSQ1w.png)

![](http://i.imgur.com/LAgy61b.png)


text:
import StringIO

import factory
reload(factory)
from factory import *

from buildbot import locks
integration_lock = locks.SlaveLock("integration", maxCount = 1)

class XvfbNoseTest(ShellCommand):

    def __init__(self, test_files, min_coverage, reportdir=""):
        test_paths = ''
        for test_file in test_files:
            test_paths += ' ' + test_file + '.py'
        self.packages = test_files
        cover_packages = '--cover-package=' + ','.join(test_files)
        count_packages = len(test_files)
        name_packages = test_files[0] + ' test' if count_packages == 1 else 'tests'
        if reportdir:
            reportdir = "/" + reportdir
        self.reportdir = reportdir

        command = Interpolate('DISPLAY=:1 xvfb-run -s "-screen 0 1280x1200x8" nosetests -v --with-html --html-file=report%s/index.html --cover-tests --with-coverage ' % reportdir + cover_packages + ' --cover-min-percentage=' + str(min_coverage) + ' --cover-erase --cover-html --cover-html-dir=report%s/coverage' % reportdir + test_paths)
        description = 'running ' + name_packages
        descriptionDone = name_packages
        ShellCommand.__init__(
            self,
            name = name_packages,
            command = command,
            description = description,
            descriptionDone = descriptionDone,
            flunkOnWarnings = False,
            flunkOnFailure = False,
            haltOnFailure = False,
            warnOnFailure = True,
            warnOnWarnings = True,
            workdir = "integration/tests",
            locks = [integration_lock.access('exclusive')]
        )

        # this counter will feed Progress along the 'test cases' metric

        # counter = TestCaseCounter()
        # self.addLogObserver('stdio', counter)
        # self.progressMetrics += ('tests',)

    def createSummary(self, log):
        buildername = self.getProperty('buildername')
        buildnumber = self.getProperty('buildnumber')

        url = '/reports/' + buildername + '/' + str(buildnumber) + '/report' + self.reportdir

        lines = list(StringIO.StringIO(log.getText()).readlines())

        #
        # HTML test report
        #
        passed, total = self._getRatio(lines, len(self.packages))
        # os.chmod(report, stat.S_IROTH) # ?
        self.addURL('passed %s/%s' % (passed, total), url)

        #
        # Coverage test report
        #
        percentage = 'N/A'
        for line in lines:
            if line.startswith(self.packages[0]):
                percentage = line.split()[3]
            if 'TOTAL' in line and 'ERROR' not in line:
                percentage = line.split()[-1]
                break
        self.addURL("coverage %s" % percentage, url + '/coverage')

    def _getRatio(self, lines, total):
        '''Returns total and passed tests'''
        passed = 0
        for line in lines:
            if "... ok" in line:
                passed += 1
        return (passed, total)

def integration_factory():
    factory = BuildFactory()

    test_files = ['catalog', 'integration']
    user_test_files = ['integration-user']
    min_coverage = 80

    for step in [
        Git(
            haltOnFailure = True,
            logEnviron = False,
            repourl='https://github.com/ethereum/cpp-ethereum.git',
            branch='develop',
            mode='full',
            method = 'copy',
            codebase='cpp-ethereum',
            retry=(5, 3)
        ),
        Git(
            haltOnFailure = True,
            logEnviron = False,
            repourl='https://github.com/ethereum/ethereum.js.git',
            branch='develop',
            mode='incremental',
            codebase='ethereumjs',
            retry=(5, 3),
            workdir="ethereumjs"
        ),
        Git(
            haltOnFailure = True,
            logEnviron = False,
            repourl='https://github.com/etherex/etherex.git',
            branch='master',
            mode='incremental',
            codebase='integration',
            retry=(5, 3),
            workdir="integration"
        ),
        Configure(
            haltOnFailure = True,
            logEnviron = False,
            command=["cmake", ".", "-DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++"],
            env={"PATH": "${QTDIR}/bin:${PATH}"}
        ),
        Compile(
            haltOnFailure = True,
            logEnviron = False,
            command="make -j $(cat /proc/cpuinfo | grep processor | wc -l)"
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name = "make-install",
            description="installing",
            descriptionDone="install",
            command=["make", "install"]
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name = "ldconfig",
            description="running ldconfig",
            descriptionDone="ldconfig",
            command=["ldconfig"]
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="test-requirements",
            description="installing test requirements",
            descriptionDone="install test requirements",
            command=["pip", "install", "-r", "dev_requirements.txt"],
            workdir="integration"
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="upgrade-requirements",
            description="upgrading test requirements",
            descriptionDone="upgrade test requirements",
            command=["pip", "install", "--upgrade", "--no-deps", "-r", "dev_requirements.txt"],
            workdir="integration"
        ),
        Test(
            flunkOnFailure = False,
            logEnviron = False,
            description="py.testing",
            descriptionDone="py.test",
            name="py.test",
            command=["py.test", "-vvrs"],
            workdir="integration"
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="npm-install",
            description="npm installing",
            descriptionDone="npm install",
            command=["npm", "install"],
            workdir="ethereumjs"
        ),
        Test(
            flunkOnFailure = False,
            logEnviron = False,
            description="npm testing",
            descriptionDone="npm test",
            name="npm-test",
            command=["npm", "test"],
            workdir="ethereumjs"
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="clean-chain",
            description="cleaning up",
            descriptionDone="clean chain",
            command=["rm", "-rf", ".ethereum_eth"]
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="clean-up",
            description="cleaning up",
            descriptionDone="clean up",
            command="rm -rf screenshots && rm -rf report && rm -f *.pyc",
            workdir="integration/tests"
        ),
        FileDownload(
            haltOnFailure = True,
            descriptionDone="download init script",
            mastersrc="startup/eth-supervisord-integration.conf",
            slavedest="eth-supervisord-integration.conf"
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="start-eth",
            description="starting eth",
            descriptionDone="start eth",
            command="supervisord -c eth-supervisord-integration.conf && sleep 5",
            logfiles={
                "eth.log": "eth.log",
                "eth.err": "eth.err",
                "supervisord.log": "eth-supervisord.log"
            },
            lazylogfiles=True
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="pyepm-deploy",
            description="deploying",
            descriptionDone="deploy",
            command=["pyepm", "contracts/EtherEx.yaml"],
            workdir="integration",
            maxTime=1200
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="get-address",
            description="getting address",
            descriptionDone="get address",
            command="curl -X POST --data '{\"jsonrpc\":\"2.0\",\"method\":\"eth_coinbase\",\"params\":null,\"id\":2}' http://localhost:8080 > address.json"
        ),
        SetPropertyFromCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="parse-address",
            description="parsing address",
            descriptionDone="parse address",
            command="sed -ne 's/.*result\":\"\(.*\)\"}/\\1/p' address.json",
            property="address"
        ),
        FileDownload(
            haltOnFailure = True,
            descriptionDone="download transfer definitions",
            mastersrc="integration-transfer.yaml",
            slavedest="integration-transfer.yaml"
        ),
        ShellCommand(
            logEnviron=False,
            name='prepare-transfer',
            description='preparing transfer',
            descriptionDone='prepare transfer',
            command=Interpolate('sed -i -e s/address/%(prop:address)s/ integration-transfer.yaml')
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="fill-address",
            description="filling address",
            descriptionDone="fill address",
            command=["pyepm", "integration-transfer.yaml"]
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="stop-eth",
            description="stopping",
            descriptionDone="stop",
            command="kill `ps aux | grep 'eth-supervisord-integration.conf' | grep -v grep | awk '{print $2}'` && kill `pidof eth` && sleep 5",
            decodeRC={-1: SUCCESS, 0:SUCCESS, 1:WARNINGS, 2:WARNINGS},
            alwaysRun=True
        ),
        FileDownload(
            haltOnFailure = True,
            descriptionDone="download init script",
            mastersrc="startup/eth-supervisord-integration-test.conf",
            slavedest="eth-supervisord-integration-test.conf"
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="start-eth-test",
            description="starting eth",
            descriptionDone="start eth",
            command="supervisord -c eth-supervisord-integration-test.conf && sleep 5",
            logfiles={
                "eth.log": "eth.log",
                "eth.err": "eth.err",
                "supervisord.log": "eth-supervisord.log"
            },
            lazylogfiles=True
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="create-folders",
            description="creating folders",
            descriptionDone="create folders",
            command=["mkdir", "-p", "report", "screenshots"],
            workdir="integration/tests"
        ),
        FileDownload(
            haltOnFailure = True,
            descriptionDone="download catalog test",
            mastersrc="tests/catalog.py",
            slavedest="tests/catalog.py",
            workdir="integration"
        ),
        XvfbNoseTest(test_files, min_coverage),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="stop-eth",
            description="stopping",
            descriptionDone="stop",
            command="kill `ps aux | grep 'eth-supervisord-integration-test.conf' | grep -v grep | awk '{print $2}'` && kill `pidof eth` && sleep 5",
            decodeRC={-1: SUCCESS, 0:SUCCESS, 1:WARNINGS, 2:WARNINGS},
            alwaysRun=True
        ),
        FileDownload(
            haltOnFailure = True,
            descriptionDone="download init script",
            mastersrc="startup/eth-supervisord-integration-user.conf",
            slavedest="eth-supervisord-integration-user.conf"
        ),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="start-eth-user",
            description="starting eth",
            descriptionDone="start eth",
            command="supervisord -c eth-supervisord-integration-user.conf && sleep 5",
            logfiles={
                "eth.log": "eth.log",
                "eth.err": "eth.err",
                "supervisord.log": "eth-supervisord.log"
            },
            lazylogfiles=True
        ),
        XvfbNoseTest(user_test_files, min_coverage, reportdir="enduser"),
        ShellCommand(
            haltOnFailure = True,
            logEnviron = False,
            name="stop-final",
            description="stopping",
            descriptionDone="stop",
            command="kill `ps aux | grep 'eth-supervisord-integration-user.conf' | grep -v grep | awk '{print $2}'` && kill `pidof eth` && sleep 5",
            decodeRC={-1: SUCCESS, 0:SUCCESS, 1:WARNINGS, 2:WARNINGS},
            alwaysRun=True
        ),
        ShellCommand(
            haltOnFailure = False,
            flunkOnFailure = False,
            warnOnFailure = True,
            logEnviron = False,
            name="move-screenshots",
            description="moving screenshots",
            descriptionDone="move screenshots",
            command="mv *.png screenshots/",
            workdir="integration/tests"
        ),
        # Upload screenshots
        DirectoryUpload(
            name = 'upload-screenshots',
            compress = 'gz',
            slavesrc = "screenshots",
            masterdest = Interpolate("public_html/reports/%(prop:buildername)s/%(prop:buildnumber)s/screenshots"),
            url = Interpolate("/reports/%(prop:buildername)s/%(prop:buildnumber)s/screenshots/"),
            workdir="integration/tests"
        ),
        # Upload HTML and coverage report
        DirectoryUpload(
            name = 'upload-reports',
            compress = 'gz',
            slavesrc = "report",
            masterdest = Interpolate("public_html/reports/%(prop:buildername)s/%(prop:buildnumber)s/report"),
            url = Interpolate("/reports/%(prop:buildername)s/%(prop:buildnumber)s/report/"),
            workdir="integration/tests"
        )
    ]: factory.addStep(step)

    return factory


text:
using System;
using Hotcakes.CommerceDTO.v1.Catalog;

namespace Hotcakes.Commerce.Catalog
{
    [Serializable]
    public class ProductImage
    {
        public ProductImage()
        {
            Bvin = string.Empty;
            LastUpdatedUtc = DateTime.UtcNow;
            ProductId = string.Empty;
            FileName = string.Empty;
            Caption = string.Empty;
            AlternateText = string.Empty;
            SortOrder = -1;
            StoreId = 0;
        }

        public string Bvin { get; set; }
        public DateTime LastUpdatedUtc { get; set; }
        public string ProductId { get; set; }
        public string FileName { get; set; }
        public string Caption { get; set; }
        public string AlternateText { get; set; }
        public int SortOrder { get; set; }
        public long StoreId { get; set; }

        public ProductImage Clone()
        {
            var result = new ProductImage();

            result.AlternateText = AlternateText;
            result.Bvin = string.Empty;
            result.Caption = Caption;
            result.FileName = FileName;
            result.LastUpdatedUtc = LastUpdatedUtc;
            result.ProductId = ProductId;
            result.SortOrder = SortOrder;
            result.StoreId = StoreId;

            return result;
        }

        // DTO
        public ProductImageDTO ToDto()
        {
            var dto = new ProductImageDTO();

            dto.AlternateText = AlternateText;
            dto.Bvin = Bvin;
            dto.Caption = Caption;
            dto.FileName = FileName;
            dto.LastUpdatedUtc = LastUpdatedUtc;
            dto.ProductId = ProductId;
            dto.SortOrder = SortOrder;
            dto.StoreId = StoreId;

            return dto;
        }

        public void FromDto(ProductImageDTO dto)
        {
            if (dto == null) return;

            AlternateText = dto.AlternateText ?? string.Empty;
            Bvin = dto.Bvin ?? string.Empty;
            Caption = dto.Caption ?? string.Empty;
            FileName = dto.FileName ?? string.Empty;
            LastUpdatedUtc = dto.LastUpdatedUtc;
            ProductId = dto.ProductId ?? string.Empty;
            SortOrder = dto.SortOrder;
            StoreId = dto.StoreId;
        }
    }
}


text:
package io.bootique.linkmove.cayenne41.connector;

import com.fasterxml.jackson.annotation.JsonTypeName;
import com.nhl.link.move.runtime.connect.IConnectorFactory;
import com.nhl.link.move.runtime.jdbc.JdbcConnector;
import io.bootique.annotation.BQConfig;
import io.bootique.di.Injector;
import io.bootique.jdbc.DataSourceFactory;

@BQConfig
@JsonTypeName("jdbc")
public class JdbcConnectorFactoryFactory implements IConnectorFactoryFactory<JdbcConnector> {

    @Override
    public Class<JdbcConnector> getConnectorType() {
        return JdbcConnector.class;
    }

    @Override
    public IConnectorFactory<JdbcConnector> getConnectorFactory(Injector injector) {
        return new JdbcConnectorFactory(injector.getInstance(DataSourceFactory.class));
    }
}


text:
from math import pi

# Cairo imports
import cairo

# GTK Imports
import gtk

class CairoCanvas(gtk.DrawingArea):
    """
    Cairo Canvas Widget
    """
    __gtype_name__ = 'CairoCanvas'

    QUEUE_TYPES={
    }

    def __init__(self,drawcallback=None,width=800,height=600,queue=[]):
        """
        Class Initialization
        """
        # DrawingArea initialization
        gtk.DrawingArea.__init__(self)
        # Set initial size of canvas
        self.set_size_request(width, height)
        # Set initial scale and translation for canvas drawing
        self.__scale=(1,1)
        self.__translate=(0,0)
        # Drawing callback
        self.__drawcallback=drawcallback
        # Drawing queue
        self.__queue=queue
        # Connect expose event for canvas drawing
        self.__expose_handler_id=self.connect('expose-event', self.__expose)

    def __expose(self,widget,event):
        """
        Expose event handler
        """
        # Get the Cairo Context
        ctx = widget.window.cairo_create()
        # Limit drawing to shown rectangle
        ctx.rectangle(event.area.x, event.area.y, event.area.width, event.area.height)
        ctx.clip()
        # Set drawing scale and translation
        ctx.scale(*self.__scale)
        ctx.translate(*self.__translate)
        # Drawing queue
        if self.__queue:
            self.render_queue(ctx)
        # Call draw callback
        if self.__drawcallback:
            self.__drawcallback(ctx)

    def set_draw_callback(self,callback):
        """
        Sets draw callback
        """
        self.__drawcallback=callback

    def render_queue(self,ctx):
        """
        Draws all objects in the queue
        """
        pass

    def set_scale(self,swidth,sheight):
        """
        Sets current scale for Cairo drawing
        """
        self.__scale=(swidth,sheight)

    def get_scale(self):
        """
        Sets current scale for Cairo drawing
        """
        return self.__scale

    def set_translation(self,swidth,sheight):
        """
        Sets current scale for Cairo drawing
        """
        self.__translate=(swidth,sheight)

    def draw_rect(self,ctx,x,y,w,h,color=(1,1,1),bordercolor=(0,0,0),borderwidth=1,border=True,fill=True):
        """
        Draws a rectangle
        """
        if fill:
            ctx.set_source_rgb(*color)
            ctx.rectangle(x,y,w,h)
            ctx.fill()
        if border:
            ctx.set_line_width(borderwidth)
            ctx.set_source_rgb(*bordercolor)
            ctx.rectangle(x,y,w,h)
            ctx.stroke()

    def draw_arc(self,ctx,x,y,r,s=0,e=2*pi,color=(1,1,1),bordercolor=(0,0,0),borderwidth=1,border=True,fill=True):
        """
        Draws an arc
        """
        if fill:
            ctx.set_source_rgb(*color)
            ctx.arc(x,y,r,s,e)
            ctx.fill()
        if border:
            ctx.set_line_width(borderwidth)
            ctx.set_source_rgb(*bordercolor)
            ctx.arc(x,y,r,s,e)
            ctx.stroke()

    def draw_png(self,ctx,x,y,img=None,filename=None):
        """
        Draws a png pixmap
        """
        if not img and not filename:
            raise Exception('EVOGTK: cairocanvas: No image or filename specified')
        # If a filename is specified, open file and create a new image
        if filename:
            img=cairo.ImageSurface.create_from_png(filename)
        # Paint image
        ctx.set_source_surface(img,x,y)
        ctx.paint()


text:
/**
 * @fileoverview Forbid the use of QUnit.skip
 * @author Steve Calvert
 */
"use strict";

//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------

const utils = require("../utils");

//------------------------------------------------------------------------------
// Rule Definition
//------------------------------------------------------------------------------

/** @type {import('eslint').Rule.RuleModule} */
module.exports = {
    meta: {
        type: "suggestion",
        docs: {
            description: "disallow QUnit.skip",
            category: "Best Practices",
            recommended: false,
            url: "https://github.com/platinumazure/eslint-plugin-qunit/blob/master/docs/rules/no-skip.md"
        },
        messages: {
            noQUnitSkip: "Unexpected skip() call."
        },
        schema: []
    },

    create: function (context) {
        return {
            "CallExpression": function (node) {
                if (utils.isSkip(node.callee)) {
                    context.report({
                        node: node,
                        messageId: "noQUnitSkip"
                    });
                }
            }
        };
    }
};


text:
<?php

namespace WalmartApiClient\Entity;

interface AbstractEntityInterface
{

    /**
     * Return entity data as array
     *
     * @return array Entity data
     */
    public function toArray();
}


text:
@echo off
echo.
echo [ÐÅÏ¢] °²×°ÖÐÑë²Ö¿âȱʧjar¡£
echo.
rem pause
rem echo.

set MAVEN_OPTS=%MAVEN_OPTS% -Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m

call mvn install:install-file -Dfile=../lib/analyzer-2012_u6.jar -DgroupId=org.wltea -DartifactId=analyzer -Dversion=2012_u6 -Dpackaging=jar
call mvn install:install-file -Dfile=../lib/apache-ant-zip-2.3.jar -DgroupId=com.ckfinder -DartifactId=apache-ant-zip -Dversion=2.3 -Dpackaging=jar
call mvn install:install-file -Dfile=../lib/ckfinder-2.3.jar -DgroupId=com.ckfinder -DartifactId=ckfinder -Dversion=2.3 -Dpackaging=jar
call  mvn install:install-file -Dfile=../lib/ckfinderplugin-fileeditor-2.3.jar -DgroupId=com.ckfinder -DartifactId=ckfinderplugin-fileeditor -Dversion=2.3 -Dpackaging=jar
call mvn install:install-file -Dfile=../lib/ckfinderplugin-imageresize-2.3.jar -DgroupId=com.ckfinder -DartifactId=ckfinderplugin-imageresize -Dversion=2.3 -Dpackaging=jar
call mvn install:install-file -Dfile=../lib/UserAgentUtils-1.13.jar -DgroupId=bitwalker -DartifactId=UserAgentUtils -Dversion=1.13 -Dpackaging=jar

pause


text:
#include "Tango.h"

#include "TangoBase.h"
#include "Tango_NegotiateProtocol.h"
#include "Tango_SessionSetup.h"
#include "Tango_TreeConnect.h"
#include "Tango_Find2First.h"
#include "Tango_TreeDisconnect.h"
#include "Tango_LogOff.h"
#include "Tango_Echo.h"
#include "tango_Read.h"
#include "tango_Write.h"
#include "Tango_NT_Create.h"
#include "Tango_Close.h"
#include <netdb.h>

#pragma mark -
#pragma mark - Public API -

#pragma mark Session-Handling

/**
 * Conversion/lookup of host-name and transaltion to ip-address
 *
 * @param hn Hostname
 *
 * @return ip-address
 */
static struct in_addr address_for_host(const char* hn)
{
    struct hostent *hostinfo;
    struct in_addr inaddr;
    inaddr.s_addr = inet_addr(hn);

    if(INADDR_NONE == inaddr.s_addr) {
        hostinfo = gethostbyname(hn);
        if(NULL == hostinfo) {
            inaddr.s_addr = INADDR_NONE;
            return inaddr;
        }

        inaddr.s_addr = *((in_addr_t *)hostinfo->h_addr_list[0]);
    }

    return inaddr;
}

tango_connection_t *tango_create(const char *share, const char* username, const char *password) {
	static unsigned short next_mid = 0;

	tango_connection_t *tango_connection_ptr = malloc(sizeof(tango_connection_t));
	if (tango_connection_ptr == NULL) {
		_tango_set_error(tango_connection_ptr, kTangoErrorGeneralSystemError, "tango_create(): Unable to malloc mem.\n");
		error("tango_create(): Unable to malloc mem.\n");
		return NULL;
	}

	// Null it
	memset(tango_connection_ptr, 0, sizeof(tango_connection_t));

	// Create a socket
	int sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
	if (sock < 0) {
		_tango_set_error(tango_connection_ptr, kTangoErrorGeneralSystemError, "tango_create(): Failed to create socket().\n");
		debug("tango_create(): Failed to create socket().\n");
		goto bailout;
	}

	tango_connection_ptr->socket = sock;
	struct sockaddr_in sock_addr;

	// Parse share-string
	if (strncmp(share, "\\\\", 2) != 0 || strlen(share) < 3) {
		_tango_set_error(tango_connection_ptr, kTangoErrorParameterInvalid, "tango_create(): Passed parameter not a valid share.\n");
		debug("tango_create(): Passed parameter not a valid share.\n");
		goto bailout;
	}

	const char *begin_ptr = share + 2;
	char *end_ptr = strchr(begin_ptr, '\\');

	// Form: \\hostname\share
	char hostname[64];
	assert(strlen(begin_ptr) < 64 && "Hostname longer than 64 bytes");
	strncpy(hostname, begin_ptr, end_ptr - begin_ptr);
	hostname[end_ptr - begin_ptr] = '\0';
    sock_addr.sin_addr = address_for_host(hostname);
	int sin_addr_set = sock_addr.sin_addr.s_addr != INADDR_NONE;

	if (!sin_addr_set) {
		_tango_set_error(tango_connection_ptr, kTangoErrorParameterInvalid, "tango_create(): Invalid share.\n");
		error("tango_create(): Passed parameter not a valid share or contains no valid hostname/IP.\n");
		goto bailout;
	}

	char *slash_ptr = strchr(share + 2, '\\');
	slash_ptr = strchr(slash_ptr + 1, '\\');
	if (slash_ptr != NULL) {
		// Format: \\hostname\share\subfolder
		unsigned int slash_idx = slash_ptr - share;
		strncpy(tango_connection_ptr->share, share, slash_idx);
		tango_connection_ptr->share[slash_idx + 1] = '\0';
	}
	else {
		// Format: \\hostname\share
		slash_ptr = strchr(share + 2, '\\');
		strcpy(tango_connection_ptr->share, slash_ptr+1);
	}

	// Configure port and connection-type
	sock_addr.sin_family = AF_INET;
	sock_addr.sin_port = htons(445); // Default-port for SMB over TCP/IP without NetBios

	tango_connection_ptr->sock_addr = sock_addr;

	// Set our Ids
	tango_connection_ptr->pid = 0x1234;
	tango_connection_ptr->mid = next_mid++;

	// Store username and password
	strcpy(tango_connection_ptr->user_name, username);
	strcpy(tango_connection_ptr->user_password, password);

	return tango_connection_ptr;

bailout:
	free(tango_connection_ptr);
	return NULL;
}

void tango_release(tango_connection_t *connection) {
	free(connection);
}

int tango_connect(tango_connection_t *connection) {
	// Connect
	int result = connect(connection->socket, (struct sockaddr *)&connection->sock_addr, sizeof(struct sockaddr_in));
	if(result < 0) {
		_tango_set_error(connection, kTangoErrorConnectionProblem, "Failed to connect");
		error("tango_connect(): Failed to connect(); %s.\n", strerror( errno ));
		return -1;
	}

	if (_tango_NEGOTIATE_PROTOCOL(connection) < 0) return 0;
	if (_tango_SESSION_SETUP(connection) < 0) return 0;
	if (_tango_TREE_CONNECT(connection) < 0) return 0;

	return 1;
}

void tango_close(tango_connection_t *connection) {

	if (connection->session_status >= kTangoSessionStatusConnectedToShare) {
		_tango_TREE_DISCONNECT(connection);
		connection->session_status = kTangoSessionStatusLoggedIn;
		connection->tid = 0x00;
	}

	if (connection->session_status >= kTangoSessionStatusLoggedIn) {
		_tango_LOGOFF(connection);
		connection->session_status = kTangoSessionStatusDisconnected;
		connection->uid = 0x00;
		connection->session_flags = 0x00;
	}

	close(connection->socket);
	connection->socket = 0;
}

int tango_test_connection(tango_connection_t *connection) {
	if(connection->session_status <= kTangoSessionStatusProtocolNegotiated) {
		_tango_set_error(connection, kTangoErrorGeneralSystemError, "Not connected yet.");
		error("tango_test_connection(): No tango_connect() has been successfully called yet.");
		return -1;
	}

	return _tango_ECHO(connection, 2, 'F');
}

void tango_create_root_file_info(tango_connection_t *connection, tango_file_info_t *root_file_info) {
	//root_file_info->connection = connection;
	root_file_info->file_size = 0;
	root_file_info->is_folder = 1;

	//unsigned int pos_of_last_slash = strrchr(connection->share, '\\') - connection->share;
	strcpy(root_file_info->filename, "");
	strcpy(root_file_info->path, "");
}

void tango_create_file_info(tango_connection_t *connection, tango_file_info_t *parent_file_info, tango_file_info_t *file_info, const char *file_name, int is_folder) {
	//parent_file_info->connection = connection;
	parent_file_info->file_size = 0;
	parent_file_info->is_folder = is_folder;

	//unsigned int pos_of_last_slash = strrchr(connection->share, '\\') - connection->share;
    strcpy(file_info->filename, file_name);
    strcpy(file_info->path, parent_file_info->path);
    file_info->path[strlen(file_info->path)] = '\\';
    strcpy(file_info->path + strlen(file_info->path) + 1, parent_file_info->filename);
}

int tango_list_directory(tango_connection_t *connection, tango_file_info_t *directory, tango_file_info_t file_info_arr[], unsigned int file_info_arr_size) {
	char search_pattern[256];

	strcpy(search_pattern, directory->path);
	strcpy(search_pattern + strlen(search_pattern), directory->filename);

	strcpy(search_pattern + strlen(search_pattern), "\\*");
	return _tango_TRANS2_FIND_FIRST2(connection, search_pattern, file_info_arr, file_info_arr_size);
}

int tango_read_file(tango_connection_t *connection, tango_file_info_t *file_info, unsigned int offset, unsigned int bytes, unsigned char *buffer) {
	int operation_result = -1;

	int result;
	if ((operation_result = _tango_NT_Create(connection, file_info, kTangoOpenFileForRead, FILE_OPEN)) == -1) {
		goto bailout;
	}

	int read_bytes = _tango_READ(connection, offset, bytes, file_info, buffer);

    operation_result = read_bytes;

    int close_result = _tango_Close(connection, file_info);

bailout:
	return operation_result;
}

int tango_write_file(tango_connection_t *connection, tango_file_info_t *file_info, unsigned int offset, unsigned int bytes, const unsigned char *buffer) {
	int operation_result = -1;

	int result;
	if ((operation_result = _tango_NT_Create(connection, file_info, kTangoOpenFileForWrite, FILE_OVERWRITE_IF)) == -1) {
		goto bailout;
	}

	int written_bytes = _tango_WRITE(connection, file_info, buffer, bytes, offset);

    operation_result = written_bytes;

    int close_result = _tango_Close(connection, file_info);

bailout:
	return operation_result;
}

#pragma mark Error-Handling

/**
 * Returns the most recent error (type tango_error) that has occured in one of the operations.
 *  Note that the error is cleared after this call; i.e. it is reset to kTangoErrorNone
 *
 * @param *connection Connection to query for the current error
 *
 * @return The most recent error
 */
int tango_error(tango_connection_t *connection) {
	int error = connection->error;
	connection->error = kTangoErrorNone;

	return error;
}

/**
 * Returns the textual error-message for the most recent erroneous operation.
 *
 * @param *connection Connection to query for the error-message
 *
 * @return The error-message or NULL
 */
const char *tango_error_message(tango_connection_t *connection) {
	return connection->error_message;
}


text:
<?php

namespace App\Controller\Admin;

use Core\HTML\BootstrapForm;

/* Class UsersController is the controller for Users Entity
 * @package App\Controller\Admin
 */
class UsersController extends AppController{

    // UsersController builder
    public function __construct(){
        parent::__construct();
        $this->loadModel('user');
        $this->loadModel('Setting');
    }

    // Request all Users from User Model render-> Users Index View.
    public function index() {

        $users = $this->user->all('username');

        $settingsId = 1;
        $settings = $this->Setting->find($settingsId);

        $locationTitle = 'Administration des Utilisateurs';
        $this->render('admin.Users.index', compact('users', 'locationTitle', 'settings'));
    }

    // Edit an User account
    public function edit(){

        if (!empty($_POST)) {

            $fields =  ['username' => $_POST['username'],
                        'email' => $_POST['email'],
                        'role' => $_POST['role'],
                        'isLocked' => 0,
                        'pictureUrl' => $_POST['pictureUrl']];

            if (isset($_POST['isLocked']) && $_POST['isLocked']=='on')
            {
                $fields['isLocked'] =  1;
            }

            $result = $this->user->update($_GET['userId'], $fields);

            if($result)
            {
                return $this->index();
            }
        }

        $data = $this->user->find($_GET['userId']);

        $locationTitle = 'Mode Edition d\'un utilisateur';

        $form = new BootstrapForm($data);

        $userEditedId = $_GET['userId'];

        $userProfile = $this->user->getUsername($_GET['userId']);

        $deleteButton = '<button type="button" class="btn btn-danger" data-toggle="modal" data-target="#delete-user-modal"> Supprimer le Profil </button>';

        $passwordField = ' Changer de Mot de Passe ' ;

        $settingsId = 1;
        $settings = $this->Setting->find($settingsId);

        $this->render('admin.users.edit', compact('form', 'locationTitle','passwordField', 'deleteButton', 'userEditedId', 'userProfile', 'settings'));
    }

    //Delete an User return -> index
    public function delete(){
        if (!empty($_POST)) {

            $result = $this->user->delete($_POST['userId']);
            return $this->index();
        }
    }

    // Add an user
    public function add(){

        if (!empty($_POST)) {
            $result = $this->user->create([
                'username' => $_POST['username'],
                'email' => $_POST['email'],
                'role' => $_POST['role'],
                'password' => sha1($_POST['password']),
                'pictureUrl' => $_POST['pictureUrl']
            ]);
            if($result){
                return $this->index();
            }
        }

        $locationTitle = 'Mode Création d\'un Utilisateur';

        $form = new BootstrapForm($_POST);

        $deleteButton = ' Nouvel Utilisateur ';

        $passInput = $form->input('password', 'Mot de Passe*',null, true);

        $passwordField = '
' . $passInput . '
' ;

        $settingsId = 1;
        $settings = $this->Setting->find($settingsId);

        $this->render('admin.users.edit', compact('form', 'locationTitle', 'passwordField', 'deleteButton', 'settings'));
    }

    // Give the possibility for an admin to Change an user's password
    public function newPassword()
    {
        $error = false;
        $passEqualityTest = false;
        $userNewPassId = $_GET['userId'];

        if (!empty($_POST)) {
            // Check if user is logged
            if (isset($_SESSION['auth'])) {
                $userNewPassId = $_GET['userId'];
            } else {
                // user is not logged -> GO to login page
                header('Location: index.php??p=users.login');
            }

            // Check the mail and get the user id
            if (!empty($userNewPassId)) {
                // Passwords test
                if ($_POST['password'] === $_POST['password2']) {

                    $fields = [
                        'password' => sha1($_POST['password'])
                    ];

                    // Update the user's password in DB.
                    $result = $this->user->update($userNewPassId, $fields);

                    if ($result) {
                        $_SESSION['newPassword'] = true;
                        header("location: index.php?p=users.login");
                        exit;
                    }
                } else {
                    $passEqualitytest = true;
                }
            }
        }

        $locationTitle = 'Modification du mot de passe. ';

        $settingsId = 1;
        $settings = $this->Setting->find($settingsId);

        $form = new BootstrapForm($_POST);
        $this->render('admin.users.newPassword', compact('form', 'locationTitle', 'error', 'passEqualityTest', '$userNewPassId', 'settings'));
    }
}


text:
const XmlStream = require('../../utils/xml-stream');
const RelType = require('../../xlsx/rel-type');
const colCache = require('../../utils/col-cache');
const CommentXform = require('../../xlsx/xform/comment/comment-xform');
const VmlShapeXform = require('../../xlsx/xform/comment/vml-shape-xform');

class SheetCommentsWriter {
  constructor(worksheet, sheetRelsWriter, options) {
    // in a workbook, each sheet will have a number
    this.id = options.id;
    this.count = 0;
    this._worksheet = worksheet;
    this._workbook = options.workbook;
    this._sheetRelsWriter = sheetRelsWriter;
  }

  get commentsStream() {
    if (!this._commentsStream) {
      // eslint-disable-next-line no-underscore-dangle
      this._commentsStream = this._workbook._openStream(`/xl/comments${this.id}.xml`);
    }
    return this._commentsStream;
  }

  get vmlStream() {
    if (!this._vmlStream) {
      // eslint-disable-next-line no-underscore-dangle
      this._vmlStream = this._workbook._openStream(`xl/drawings/vmlDrawing${this.id}.vml`);
    }
    return this._vmlStream;
  }

  _addRelationships() {
    const commentRel = {
      Type: RelType.Comments,
      Target: `../comments${this.id}.xml`,
    };
    this._sheetRelsWriter.addRelationship(commentRel);

    const vmlDrawingRel = {
      Type: RelType.VmlDrawing,
      Target: `../drawings/vmlDrawing${this.id}.vml`,
    };
    this.vmlRelId = this._sheetRelsWriter.addRelationship(vmlDrawingRel);
  }

  _addCommentRefs() {
    this._workbook.commentRefs.push({
      commentName: `comments${this.id}`,
      vmlDrawing: `vmlDrawing${this.id}`,
    });
  }

  _writeOpen() {
    this.commentsStream.write(
      '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' +
        '<comments xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">' +
        '<authors><author>Author</author></authors>' +
        '<commentList>'
    );
    this.vmlStream.write(
      '<?xml version="1.0" encoding="UTF-8"?>' +
        '<xml xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:x="urn:schemas-microsoft-com:office:excel">' +
        '<o:shapelayout v:ext="edit">' +
        '<o:idmap v:ext="edit" data="1" />' +
        '</o:shapelayout>' +
        '<v:shapetype id="_x0000_t202" coordsize="21600,21600" o:spt="202" path="m,l,21600r21600,l21600,xe">' +
        '<v:stroke joinstyle="miter" />' +
        '<v:path gradientshapeok="t" o:connecttype="rect" />' +
        '</v:shapetype>'
    );
  }

  _writeComment(comment, index) {
    const commentXform = new CommentXform();
    const commentsXmlStream = new XmlStream();
    commentXform.render(commentsXmlStream, comment);
    this.commentsStream.write(commentsXmlStream.xml);

    const vmlShapeXform = new VmlShapeXform();
    const vmlXmlStream = new XmlStream();
    vmlShapeXform.render(vmlXmlStream, comment, index);
    this.vmlStream.write(vmlXmlStream.xml);
  }

  _writeClose() {
    this.commentsStream.write('</commentList></comments>');
    this.vmlStream.write('</xml>');
  }

  addComments(comments) {
    if (comments && comments.length) {
      if (!this.startedData) {
        this._worksheet.comments = [];
        this._writeOpen();
        this._addRelationships();
        this._addCommentRefs();
        this.startedData = true;
      }

      comments.forEach(item => {
        item.refAddress = colCache.decodeAddress(item.ref);
      });

      comments.forEach(comment => {
        this._writeComment(comment, this.count);
        this.count += 1;
      });
    }
  }

  commit() {
    if (this.count) {
      this._writeClose();
      this.commentsStream.end();
      this.vmlStream.end();
    }
  }
}

module.exports = SheetCommentsWriter;


text:
struct Row <: Iterable
    values::DataArray{Any}
    fields::Fields
end

function Row(ptr::Ptr{Void}, fields::Fields)
    vals = DataArray(Array{Any}(length(fields)))
    for (i, field) in enumerate(fields)
        col = get_column(ptr, i - 1)
        isnull = ccall((:cass_value_is_null, libcass), Cint, (Ptr{Void},), col) == 1
        vals[i] = isnull ? NA : get_value(field[2], col)
    end
    Row(vals, fields)
end

export Row

get_column(ptr::Ptr{Void}, idx::Int) = ccall((:cass_row_get_column, libcass),
            Ptr{Void}, (Ptr{Void}, Cint), ptr, idx)


text:
(function() {
  var cluster, languages, natives, path,
    indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };

  cluster = require("cluster");

  path = require("path");

  natives = ['assert', 'buffer', 'child_process', 'cluster', 'console', 'constants', 'crypto', 'dgram', 'dns', 'domain', 'events', 'freelist', 'fs', 'http', 'https', 'module', 'net', 'os', 'path', 'punycode', 'querystring', 'readline', 'repl', 'stream', 'string_decoder', 'sys', 'timers', 'tls', 'tty', 'url', 'util', 'vm', 'zlib'];

  languages = {
    ".coffee": "coffee-script"
  };

  cluster.worker.on("disconnect", function() {
    return setTimeout((function() {}), 0);
  });

  cluster.worker.on("message", function(options) {
    var _load_orig, ext, main, module;
    main = path.resolve(process.cwd(), options.main);
    if (options.hook) {
      module = require("module");
      _load_orig = module._load;
      module._load = function(name, parent, isMain) {
        var file;
        file = module._resolveFilename(name, parent);
        if (options.includeModules || file.indexOf("node_modules") === -1) {
          if (!(indexOf.call(natives, file) >= 0 || file === main)) {
            cluster.worker.send({
              file: file
            });
          }
        }
        return _load_orig(name, parent, isMain);
      };
    }
    ext = path.extname(options.main);
    if (languages[ext]) {
      require(languages[ext]);
    }
    if (options.language) {
      require(options.language);
    }
    return require(main);
  });

  process.on("uncaughtException", function(err) {
    cluster.worker.send({
      err: (err != null ? err.stack : void 0) || err
    });
    return cluster.worker.kill();
  });

}).call(this);


text:
require 'xsd/qname'

module AdwordsApi; module V201003; module ReportDefinitionService

# DateRange
# - min - SOAP::SOAPString
# - max - SOAP::SOAPString
class DateRange
  attr_accessor :min
  attr_accessor :max

  def initialize(min = nil, max = nil)
    @min = min
    @max = max
  end
end

# Paging
# - startIndex - SOAP::SOAPInt
# - numberResults - SOAP::SOAPInt
class Paging
  attr_accessor :startIndex
  attr_accessor :numberResults

  def initialize(startIndex = nil, numberResults = nil)
    @startIndex = startIndex
    @numberResults = numberResults
  end
end

# Predicate
# - field - SOAP::SOAPString
# - operator - AdwordsApi::V201003::ReportDefinitionService::PredicateOperator
# - values - SOAP::SOAPString
class Predicate
  attr_accessor :field
  attr_accessor :operator
  attr_accessor :values

  def initialize(field = nil, operator = nil, values = [])
    @field = field
    @operator = operator
    @values = values
  end
end

# ReportDefinitionField
# - fieldName - SOAP::SOAPString
# - fieldType - SOAP::SOAPString
# - enumValues - SOAP::SOAPString
# - canSelect - SOAP::SOAPBoolean
# - canFilter - SOAP::SOAPBoolean
class ReportDefinitionField
  attr_accessor :fieldName
  attr_accessor :fieldType
  attr_accessor :enumValues
  attr_accessor :canSelect
  attr_accessor :canFilter

  def initialize(fieldName = nil, fieldType = nil, enumValues = [], canSelect = nil, canFilter = nil)
    @fieldName = fieldName
    @fieldType = fieldType
    @enumValues = enumValues
    @canSelect = canSelect
    @canFilter = canFilter
  end
end

# SoapHeader
# - authToken - SOAP::SOAPString
# - clientCustomerId - SOAP::SOAPString
# - clientEmail - SOAP::SOAPString
# - developerToken - SOAP::SOAPString
# - userAgent - SOAP::SOAPString
# - validateOnly - SOAP::SOAPBoolean
class SoapHeader
  attr_accessor :authToken
  attr_accessor :clientCustomerId
  attr_accessor :clientEmail
  attr_accessor :developerToken
  attr_accessor :userAgent
  attr_accessor :validateOnly

  def initialize(authToken = nil, clientCustomerId = nil, clientEmail = nil, developerToken = nil, userAgent = nil, validateOnly = nil)
    @authToken = authToken
    @clientCustomerId = clientCustomerId
    @clientEmail = clientEmail
    @developerToken = developerToken
    @userAgent = userAgent
    @validateOnly = validateOnly
  end
end

# SoapResponseHeader
# - requestId - SOAP::SOAPString
# - operations - SOAP::SOAPLong
# - responseTime - SOAP::SOAPLong
# - units - SOAP::SOAPLong
class SoapResponseHeader
  attr_accessor :requestId
  attr_accessor :operations
  attr_accessor :responseTime
  attr_accessor :units

  def initialize(requestId = nil, operations = nil, responseTime = nil, units = nil)
    @requestId = requestId
    @operations = operations
    @responseTime = responseTime
    @units = units
  end
end

# Selector
# - fields - SOAP::SOAPString
# - predicates - AdwordsApi::V201003::ReportDefinitionService::Predicate
# - dateRange - AdwordsApi::V201003::ReportDefinitionService::DateRange
class Selector
  attr_accessor :fields
  attr_accessor :predicates
  attr_accessor :dateRange

  def initialize(fields = [], predicates = [], dateRange = nil)
    @fields = fields
    @predicates = predicates
    @dateRange = dateRange
  end
end

# ApiError
# abstract
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
class ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
  end
end

# AuthenticationError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::AuthenticationErrorReason
class AuthenticationError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# AuthorizationError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::AuthorizationErrorReason
class AuthorizationError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# ClientTermsError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::ClientTermsErrorReason
class ClientTermsError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# CollectionSizeError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::CollectionSizeErrorReason
class CollectionSizeError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# DistinctError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::DistinctErrorReason
class DistinctError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# InternalApiError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::InternalApiErrorReason
class InternalApiError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# NotWhitelistedError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::NotWhitelistedErrorReason
class NotWhitelistedError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# NullError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::NullErrorReason
class NullError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# OperatorError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::OperatorErrorReason
class OperatorError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# QuotaCheckError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::QuotaCheckErrorReason
class QuotaCheckError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# RangeError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::RangeErrorReason
class C_RangeError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# RateExceededError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::RateExceededErrorReason
# - rateName - SOAP::SOAPString
# - rateScope - SOAP::SOAPString
# - retryAfterSeconds - SOAP::SOAPInt
class RateExceededError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason
  attr_accessor :rateName
  attr_accessor :rateScope
  attr_accessor :retryAfterSeconds

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil, rateName = nil, rateScope = nil, retryAfterSeconds = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
    @rateName = rateName
    @rateScope = rateScope
    @retryAfterSeconds = retryAfterSeconds
  end
end

# ReadOnlyError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::ReadOnlyErrorReason
class ReadOnlyError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# ReportDefinitionError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::ReportDefinitionErrorReason
class ReportDefinitionError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# RequestError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::RequestErrorReason
class RequestError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# RequiredError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::RequiredErrorReason
class RequiredError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# SizeLimitError
# - fieldPath - SOAP::SOAPString
# - trigger - SOAP::SOAPString
# - errorString - SOAP::SOAPString
# - apiError_Type - SOAP::SOAPString
# - reason - AdwordsApi::V201003::ReportDefinitionService::SizeLimitErrorReason
class SizeLimitError < ApiError
  attr_accessor :fieldPath
  attr_accessor :trigger
  attr_accessor :errorString
  attr_accessor :apiError_Type
  attr_accessor :reason

  def initialize(fieldPath = nil, trigger = nil, errorString = nil, apiError_Type = nil, reason = nil)
    @fieldPath = fieldPath
    @trigger = trigger
    @errorString = errorString
    @apiError_Type = apiError_Type
    @reason = reason
  end
end

# ApplicationException
# - message - SOAP::SOAPString
# - applicationException_Type - SOAP::SOAPString
class ApplicationException
  attr_accessor :message
  attr_accessor :applicationException_Type

  def initialize(message = nil, applicationException_Type = nil)
    @message = message
    @applicationException_Type = applicationException_Type
  end
end

# ApiException
# - message - SOAP::SOAPString
# - applicationException_Type - SOAP::SOAPString
# - errors - AdwordsApi::V201003::ReportDefinitionService::ApiError
class ApiException < ApplicationException
  attr_accessor :message
  attr_accessor :applicationException_Type
  attr_accessor :errors

  def initialize(message = nil, applicationException_Type = nil, errors = [])
    @message = message
    @applicationException_Type = applicationException_Type
    @errors = errors
  end
end

# ReportDefinitionSelector
# - paging - AdwordsApi::V201003::ReportDefinitionService::Paging
class ReportDefinitionSelector
  attr_accessor :paging

  def initialize(paging = nil)
    @paging = paging
  end
end

# ReportDefinition
# - id - SOAP::SOAPLong
# - selector - AdwordsApi::V201003::ReportDefinitionService::Selector
# - reportName - SOAP::SOAPString
# - reportType - AdwordsApi::V201003::ReportDefinitionService::ReportDefinitionReportType
# - hasAttachment - SOAP::SOAPBoolean
# - dateRangeType - AdwordsApi::V201003::ReportDefinitionService::ReportDefinitionDateRangeType
# - downloadFormat - AdwordsApi::V201003::ReportDefinitionService::DownloadFormat
# - creationTime - SOAP::SOAPString
class ReportDefinition
  attr_accessor :id
  attr_accessor :selector
  attr_accessor :reportName
  attr_accessor :reportType
  attr_accessor :hasAttachment
  attr_accessor :dateRangeType
  attr_accessor :downloadFormat
  attr_accessor :creationTime

  def initialize(id = nil, selector = nil, reportName = nil, reportType = nil, hasAttachment = nil, dateRangeType = nil, downloadFormat = nil, creationTime = nil)
    @id = id
    @selector = selector
    @reportName = reportName
    @reportType = reportType
    @hasAttachment = hasAttachment
    @dateRangeType = dateRangeType
    @downloadFormat = downloadFormat
    @creationTime = creationTime
  end
end

# ReportDefinitionPage
# - entries - AdwordsApi::V201003::ReportDefinitionService::ReportDefinition
# - totalNumEntries - SOAP::SOAPInt
class ReportDefinitionPage
  attr_accessor :entries
  attr_accessor :totalNumEntries

  def initialize(entries = [], totalNumEntries = nil)
    @entries = entries
    @totalNumEntries = totalNumEntries
  end
end

# Operation
# abstract
# - operator - AdwordsApi::V201003::ReportDefinitionService::Operator
# - operation_Type - SOAP::SOAPString
class Operation
  attr_accessor :operator
  attr_accessor :operation_Type

  def initialize(operator = nil, operation_Type = nil)
    @operator = operator
    @operation_Type = operation_Type
  end
end

# ReportDefinitionOperation
# - operator - AdwordsApi::V201003::ReportDefinitionService::Operator
# - operation_Type - SOAP::SOAPString
# - operand - AdwordsApi::V201003::ReportDefinitionService::ReportDefinition
class ReportDefinitionOperation < Operation
  attr_accessor :operator
  attr_accessor :operation_Type
  attr_accessor :operand

  def initialize(operator = nil, operation_Type = nil, operand = nil)
    @operator = operator
    @operation_Type = operation_Type
    @operand = operand
  end
end

# AuthenticationError.Reason
class AuthenticationErrorReason < ::String
  AUTHENTICATION_FAILED = AuthenticationErrorReason.new("AUTHENTICATION_FAILED")
  CLIENT_CUSTOMER_ID_INVALID = AuthenticationErrorReason.new("CLIENT_CUSTOMER_ID_INVALID")
  CLIENT_CUSTOMER_ID_IS_REQUIRED = AuthenticationErrorReason.new("CLIENT_CUSTOMER_ID_IS_REQUIRED")
  CLIENT_EMAIL_FAILED_TO_AUTHENTICATE = AuthenticationErrorReason.new("CLIENT_EMAIL_FAILED_TO_AUTHENTICATE")
  CLIENT_EMAIL_INVALID = AuthenticationErrorReason.new("CLIENT_EMAIL_INVALID")
  CLIENT_EMAIL_REQUIRED = AuthenticationErrorReason.new("CLIENT_EMAIL_REQUIRED")
  CUSTOMER_NOT_FOUND = AuthenticationErrorReason.new("CUSTOMER_NOT_FOUND")
  FAILED_TO_AUTHENTICATE_GOOGLE_ACCOUNT = AuthenticationErrorReason.new("FAILED_TO_AUTHENTICATE_GOOGLE_ACCOUNT")
  FAILED_TO_RETRIEVE_LOGIN_COOKIE = AuthenticationErrorReason.new("FAILED_TO_RETRIEVE_LOGIN_COOKIE")
  GOOGLE_ACCOUNT_COOKIE_INVALID = AuthenticationErrorReason.new("GOOGLE_ACCOUNT_COOKIE_INVALID")
  GOOGLE_ACCOUNT_DELETED = AuthenticationErrorReason.new("GOOGLE_ACCOUNT_DELETED")
  GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH = AuthenticationErrorReason.new("GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH")
  LOGIN_COOKIE_INVALID = AuthenticationErrorReason.new("LOGIN_COOKIE_INVALID")
  LOGIN_COOKIE_REQUIRED = AuthenticationErrorReason.new("LOGIN_COOKIE_REQUIRED")
  NOT_ADS_USER = AuthenticationErrorReason.new("NOT_ADS_USER")
  OAUTH_TOKEN_DISABLED = AuthenticationErrorReason.new("OAUTH_TOKEN_DISABLED")
  OAUTH_TOKEN_EXPIRED = AuthenticationErrorReason.new("OAUTH_TOKEN_EXPIRED")
  OAUTH_TOKEN_HEADER_INVALID = AuthenticationErrorReason.new("OAUTH_TOKEN_HEADER_INVALID")
  OAUTH_TOKEN_INVALID = AuthenticationErrorReason.new("OAUTH_TOKEN_INVALID")
  OAUTH_TOKEN_REVOKED = AuthenticationErrorReason.new("OAUTH_TOKEN_REVOKED")
  USER_ID_INVALID = AuthenticationErrorReason.new("USER_ID_INVALID")
end

# AuthorizationError.Reason
class AuthorizationErrorReason < ::String
  EFFECTIVE_USER_PERMISSION_DENIED = AuthorizationErrorReason.new("EFFECTIVE_USER_PERMISSION_DENIED")
  NO_ADWORDS_ACCOUNT_FOR_CUSTOMER = AuthorizationErrorReason.new("NO_ADWORDS_ACCOUNT_FOR_CUSTOMER")
  NO_CUSTOMER_FOUND = AuthorizationErrorReason.new("NO_CUSTOMER_FOUND")
  UNABLE_TO_AUTHORIZE = AuthorizationErrorReason.new("UNABLE_TO_AUTHORIZE")
  USER_HAS_READONLY_PERMISSION = AuthorizationErrorReason.new("USER_HAS_READONLY_PERMISSION")
  USER_PERMISSION_DENIED = AuthorizationErrorReason.new("USER_PERMISSION_DENIED")
end

# ClientTermsError.Reason
class ClientTermsErrorReason < ::String
  INCOMPLETE_SIGNUP_CURRENT_ADWORDS_TNC_NOT_AGREED = ClientTermsErrorReason.new("INCOMPLETE_SIGNUP_CURRENT_ADWORDS_TNC_NOT_AGREED")
end

# CollectionSizeError.Reason
class CollectionSizeErrorReason < ::String
  TOO_FEW = CollectionSizeErrorReason.new("TOO_FEW")
  TOO_MANY = CollectionSizeErrorReason.new("TOO_MANY")
end

# DistinctError.Reason
class DistinctErrorReason < ::String
  DUPLICATE_ELEMENT = DistinctErrorReason.new("DUPLICATE_ELEMENT")
end

# DownloadFormat
class DownloadFormat < ::String
  CSV = DownloadFormat.new("CSV")
  CSVFOREXCEL = DownloadFormat.new("CSVFOREXCEL")
  GZIPPED_CSV = DownloadFormat.new("GZIPPED_CSV")
  GZIPPED_XML = DownloadFormat.new("GZIPPED_XML")
  TSV = DownloadFormat.new("TSV")
  XML = DownloadFormat.new("XML")
end

# InternalApiError.Reason
class InternalApiErrorReason < ::String
  UNEXPECTED_INTERNAL_API_ERROR = InternalApiErrorReason.new("UNEXPECTED_INTERNAL_API_ERROR")
  UNKNOWN = InternalApiErrorReason.new("UNKNOWN")
end

# NotWhitelistedError.Reason
class NotWhitelistedErrorReason < ::String
  CUSTOMER_NOT_WHITELISTED_FOR_API = NotWhitelistedErrorReason.new("CUSTOMER_NOT_WHITELISTED_FOR_API")
end

# NullError.Reason
class NullErrorReason < ::String
  NULL_CONTENT = NullErrorReason.new("NULL_CONTENT")
end

# Operator
class Operator < ::String
  ADD = Operator.new("ADD")
  REMOVE = Operator.new("REMOVE")
  SET = Operator.new("SET")
end

# OperatorError.Reason
class OperatorErrorReason < ::String
  OPERATOR_NOT_SUPPORTED = OperatorErrorReason.new("OPERATOR_NOT_SUPPORTED")
end

# Predicate.Operator
class PredicateOperator < ::String
  CONTAINS = PredicateOperator.new("CONTAINS")
  CONTAINS_IGNORE_CASE = PredicateOperator.new("CONTAINS_IGNORE_CASE")
  DOES_NOT_CONTAIN = PredicateOperator.new("DOES_NOT_CONTAIN")
  DOES_NOT_CONTAIN_IGNORE_CASE = PredicateOperator.new("DOES_NOT_CONTAIN_IGNORE_CASE")
  EQUALS = PredicateOperator.new("EQUALS")
  GREATER_THAN = PredicateOperator.new("GREATER_THAN")
  GREATER_THAN_EQUALS = PredicateOperator.new("GREATER_THAN_EQUALS")
  IN = PredicateOperator.new("IN")
  LESS_THAN = PredicateOperator.new("LESS_THAN")
  LESS_THAN_EQUALS = PredicateOperator.new("LESS_THAN_EQUALS")
  NOT_EQUALS = PredicateOperator.new("NOT_EQUALS")
  NOT_IN = PredicateOperator.new("NOT_IN")
  STARTS_WITH = PredicateOperator.new("STARTS_WITH")
  STARTS_WITH_IGNORE_CASE = PredicateOperator.new("STARTS_WITH_IGNORE_CASE")
  UNKNOWN = PredicateOperator.new("UNKNOWN")
end

# QuotaCheckError.Reason
class QuotaCheckErrorReason < ::String
  ACCOUNT_DELINQUENT = QuotaCheckErrorReason.new("ACCOUNT_DELINQUENT")
  ACCOUNT_INACCESSIBLE = QuotaCheckErrorReason.new("ACCOUNT_INACCESSIBLE")
  ACCOUNT_INACTIVE = QuotaCheckErrorReason.new("ACCOUNT_INACTIVE")
  INCOMPLETE_SIGNUP = QuotaCheckErrorReason.new("INCOMPLETE_SIGNUP")
  INCOMPLETE_SIGNUP_LATEST_ADWORDS_API_TNC_NOT_AGREED = QuotaCheckErrorReason.new("INCOMPLETE_SIGNUP_LATEST_ADWORDS_API_TNC_NOT_AGREED")
  INCOMPLETE_SIGNUP_NO_BILLING_INFO = QuotaCheckErrorReason.new("INCOMPLETE_SIGNUP_NO_BILLING_INFO")
  INCOMPLETE_SIGNUP_USER_INFO_MISSING = QuotaCheckErrorReason.new("INCOMPLETE_SIGNUP_USER_INFO_MISSING")
  INCOMPLETE_SIGNUP_USER_INFO_PENDING = QuotaCheckErrorReason.new("INCOMPLETE_SIGNUP_USER_INFO_PENDING")
  INCOMPLETE_SIGNUP_USER_INFO_REJECTED = QuotaCheckErrorReason.new("INCOMPLETE_SIGNUP_USER_INFO_REJECTED")
  INVALID_TOKEN_HEADER = QuotaCheckErrorReason.new("INVALID_TOKEN_HEADER")
  MONTHLY_BUDGET_REACHED = QuotaCheckErrorReason.new("MONTHLY_BUDGET_REACHED")
  QUOTA_EXCEEDED = QuotaCheckErrorReason.new("QUOTA_EXCEEDED")
end

# RangeError.Reason
class RangeErrorReason < ::String
  TOO_HIGH = RangeErrorReason.new("TOO_HIGH")
  TOO_LOW = RangeErrorReason.new("TOO_LOW")
end

# RateExceededError.Reason
class RateExceededErrorReason < ::String
  RATE_EXCEEDED = RateExceededErrorReason.new("RATE_EXCEEDED")
end

# ReadOnlyError.Reason
class ReadOnlyErrorReason < ::String
  READ_ONLY = ReadOnlyErrorReason.new("READ_ONLY")
end

# ReportDefinition.DateRangeType
class ReportDefinitionDateRangeType < ::String
  ALL_TIME = ReportDefinitionDateRangeType.new("ALL_TIME")
  CUSTOM_DATE = ReportDefinitionDateRangeType.new("CUSTOM_DATE")
  LAST_7_DAYS = ReportDefinitionDateRangeType.new("LAST_7_DAYS")
  LAST_BUSINESS_WEEK = ReportDefinitionDateRangeType.new("LAST_BUSINESS_WEEK")
  LAST_MONTH = ReportDefinitionDateRangeType.new("LAST_MONTH")
  LAST_WEEK = ReportDefinitionDateRangeType.new("LAST_WEEK")
  THIS_MONTH = ReportDefinitionDateRangeType.new("THIS_MONTH")
  TODAY = ReportDefinitionDateRangeType.new("TODAY")
  YESTERDAY = ReportDefinitionDateRangeType.new("YESTERDAY")
end

# ReportDefinition.ReportType
class ReportDefinitionReportType < ::String
  ADGROUP_NEGATIVE_KEYWORDS_PERFORMANCE_REPORT = ReportDefinitionReportType.new("ADGROUP_NEGATIVE_KEYWORDS_PERFORMANCE_REPORT")
  ADGROUP_NEGATIVE_PLACEMENTS_PERFORMANCE_REPORT = ReportDefinitionReportType.new("ADGROUP_NEGATIVE_PLACEMENTS_PERFORMANCE_REPORT")
  ADGROUP_PERFORMANCE_REPORT = ReportDefinitionReportType.new("ADGROUP_PERFORMANCE_REPORT")
  AD_PERFORMANCE_REPORT = ReportDefinitionReportType.new("AD_PERFORMANCE_REPORT")
  AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT = ReportDefinitionReportType.new("AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT")
  CAMPAIGN_NEGATIVE_KEYWORDS_PERFORMANCE_REPORT = ReportDefinitionReportType.new("CAMPAIGN_NEGATIVE_KEYWORDS_PERFORMANCE_REPORT")
  CAMPAIGN_NEGATIVE_PLACEMENTS_PERFORMANCE_REPORT = ReportDefinitionReportType.new("CAMPAIGN_NEGATIVE_PLACEMENTS_PERFORMANCE_REPORT")
  CAMPAIGN_PERFORMANCE_REPORT = ReportDefinitionReportType.new("CAMPAIGN_PERFORMANCE_REPORT")
  KEYWORDS_PERFORMANCE_REPORT = ReportDefinitionReportType.new("KEYWORDS_PERFORMANCE_REPORT")
  MANAGED_PLACEMENTS_PERFORMANCE_REPORT = ReportDefinitionReportType.new("MANAGED_PLACEMENTS_PERFORMANCE_REPORT")
  SEARCH_QUERY_PERFORMANCE_REPORT = ReportDefinitionReportType.new("SEARCH_QUERY_PERFORMANCE_REPORT")
  URL_PERFORMANCE_REPORT = ReportDefinitionReportType.new("URL_PERFORMANCE_REPORT")
end

# ReportDefinitionError.Reason
class ReportDefinitionErrorReason < ::String
  INVALID_COLUMN_NAME_FOR_REPORT = ReportDefinitionErrorReason.new("INVALID_COLUMN_NAME_FOR_REPORT")
  INVALID_FIELD_NAME_FOR_REPORT = ReportDefinitionErrorReason.new("INVALID_FIELD_NAME_FOR_REPORT")
  INVALID_REPORT_DEFINITION_ID = ReportDefinitionErrorReason.new("INVALID_REPORT_DEFINITION_ID")
  INVALID_VIEW = ReportDefinitionErrorReason.new("INVALID_VIEW")
  NO_ENUMS_FOR_THIS_COLUMN_NAME = ReportDefinitionErrorReason.new("NO_ENUMS_FOR_THIS_COLUMN_NAME")
  REPORT_SELECTOR_CANNOT_BE_NULL = ReportDefinitionErrorReason.new("REPORT_SELECTOR_CANNOT_BE_NULL")
  UNABLE_TO_FIND_MAPPING_FOR_THIS_REPORT = ReportDefinitionErrorReason.new("UNABLE_TO_FIND_MAPPING_FOR_THIS_REPORT")
end

# RequestError.Reason
class RequestErrorReason < ::String
  INVALID_INPUT = RequestErrorReason.new("INVALID_INPUT")
  UNKNOWN = RequestErrorReason.new("UNKNOWN")
end

# RequiredError.Reason
class RequiredErrorReason < ::String
  REQUIRED = RequiredErrorReason.new("REQUIRED")
end

# SizeLimitError.Reason
class SizeLimitErrorReason < ::String
  REQUEST_SIZE_LIMIT_EXCEEDED = SizeLimitErrorReason.new("REQUEST_SIZE_LIMIT_EXCEEDED")
  RESPONSE_SIZE_LIMIT_EXCEEDED = SizeLimitErrorReason.new("RESPONSE_SIZE_LIMIT_EXCEEDED")
  UNKNOWN = SizeLimitErrorReason.new("UNKNOWN")
end

# get
# - selector - AdwordsApi::V201003::ReportDefinitionService::ReportDefinitionSelector
class Get #:nodoc: all
  attr_accessor :selector

  def initialize(selector = nil)
    @selector = selector
  end
end

# getResponse
# - rval - AdwordsApi::V201003::ReportDefinitionService::ReportDefinitionPage
class GetResponse #:nodoc: all
  attr_accessor :rval

  def initialize(rval = nil)
    @rval = rval
  end
end

# getReportFields
# - reportType - AdwordsApi::V201003::ReportDefinitionService::ReportDefinitionReportType
class GetReportFields #:nodoc: all
  attr_accessor :reportType

  def initialize(reportType = nil)
    @reportType = reportType
  end
end

# getReportFieldsResponse
# - rval - AdwordsApi::V201003::ReportDefinitionService::ReportDefinitionField
class GetReportFieldsResponse #:nodoc: all
  attr_accessor :rval

  def initialize(rval = [])
    @rval = rval
  end
end

# mutate
# - operations - AdwordsApi::V201003::ReportDefinitionService::ReportDefinitionOperation
class Mutate #:nodoc: all
  attr_accessor :operations

  def initialize(operations = [])
    @operations = operations
  end
end

# mutateResponse
# - rval - AdwordsApi::V201003::ReportDefinitionService::ReportDefinition
class MutateResponse #:nodoc: all
  attr_accessor :rval

  def initialize(rval = [])
    @rval = rval
  end
end

end; end; end


text:
/*************************************************************************/
/*  basis.h                                                              */
/*************************************************************************/
/*                       This file is part of:                           */
/*                           GODOT ENGINE                                */
/*                      https://godotengine.org                          */
/*************************************************************************/
/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur.                 */
/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).   */
/*                                                                       */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the       */
/* "Software"), to deal in the Software without restriction, including   */
/* without limitation the rights to use, copy, modify, merge, publish,   */
/* distribute, sublicense, and/or sell copies of the Software, and to    */
/* permit persons to whom the Software is furnished to do so, subject to */
/* the following conditions:                                             */
/*                                                                       */
/* The above copyright notice and this permission notice shall be        */
/* included in all copies or substantial portions of the Software.       */
/*                                                                       */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,       */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF    */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY  */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */
/*************************************************************************/

#ifndef GODOT_BASIS_H
#define GODOT_BASIS_H

#ifdef __cplusplus
extern "C" {
#endif

#include <gdnative/math_defs.h>

#define GODOT_BASIS_SIZE (sizeof(godot_real_t) * 9)

#ifndef GODOT_CORE_API_GODOT_BASIS_TYPE_DEFINED
#define GODOT_CORE_API_GODOT_BASIS_TYPE_DEFINED
typedef struct {
	uint8_t _dont_touch_that[GODOT_BASIS_SIZE];
} godot_basis;
#endif

#include <gdnative/gdnative.h>

void GDAPI godot_basis_new(godot_basis *p_self);
void GDAPI godot_basis_new_copy(godot_basis *r_dest, const godot_basis *p_src);
godot_vector3 GDAPI *godot_basis_operator_index(godot_basis *p_self, godot_int p_index);
const godot_vector3 GDAPI *godot_basis_operator_index_const(const godot_basis *p_self, godot_int p_index);

#ifdef __cplusplus
}
#endif

#endif // GODOT_BASIS_H


text:
"""
- the popular ``memoize_default`` works like a typical memoize and returns the
  default otherwise.
- ``CachedMetaClass`` uses ``memoize_default`` to do the same with classes.
"""

NO_DEFAULT = object()

def memoize_default(default=None, evaluator_is_first_arg=False, second_arg_is_evaluator=False):
    """ This is a typical memoization decorator, BUT there is one difference:
    To prevent recursion it sets defaults.

    Preventing recursion is in this case the much bigger use than speed. I
    don't think, that there is a big speed difference, but there are many cases
    where recursion could happen (think about a = b; b = a).
    """
    def func(function):
        def wrapper(obj, *args, **kwargs):
            if evaluator_is_first_arg:
                cache = obj.memoize_cache
            elif second_arg_is_evaluator:  # needed for meta classes
                cache = args[0].memoize_cache
            else:
                cache = obj._evaluator.memoize_cache

            try:
                memo = cache[function]
            except KeyError:
                memo = {}
                cache[function] = memo

            key = (obj, args, frozenset(kwargs.items()))
            if key in memo:
                return memo[key]
            else:
                if default is not NO_DEFAULT:
                    memo[key] = default
                rv = function(obj, *args, **kwargs)
                memo[key] = rv
                return rv
        return wrapper
    return func

class CachedMetaClass(type):
    """
    This is basically almost the same than the decorator above, it just caches
    class initializations. I haven't found any other way, so I'm doing it with
    meta classes.
    """
    @memoize_default(None, second_arg_is_evaluator=True)
    def __call__(self, *args, **kwargs):
        return super(CachedMetaClass, self).__call__(*args, **kwargs)


text:
Provides methods for manipulating arrays.

```csharp
public static class ArrayUtility
```

## Public Members

| name | description |
| --- | --- |
| static [AreEqual<T>](ArrayUtility/AreEqual.md)(…) | Returns true if the arrays are equal. (2 methods) |
| static [Clone<T>](ArrayUtility/Clone.md)(…) | Clones the specified array. |
| static [Compare<T>](ArrayUtility/Compare.md)(…) | Compares the two arrays. (2 methods) |
| static [Concatenate<T>](ArrayUtility/Concatenate.md)(…) | Concatenates the specified arrays. |
| static [CreateComparer<T>](ArrayUtility/CreateComparer.md)() | Creates a comparer that uses ArrayUtility.Compare. |

## See Also

* namespace [Faithlife.Utility](../Faithlife.Utility.md)
* [ArrayUtility.cs](https://github.com/Faithlife/FaithlifeUtility/tree/master/src/Faithlife.Utility/ArrayUtility.cs)

<!-- DO NOT EDIT: generated by xmldocmd for Faithlife.Utility.dll -->