text:
package org.eclipse.winery.repository.resources;

import java.io.IOException;
import java.io.StringWriter;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.SortedSet;
import java.util.stream.Collectors;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response.Status;
import javax.xml.namespace.QName;

import org.eclipse.winery.common.Util;
import org.eclipse.winery.common.ids.Namespace;
import org.eclipse.winery.common.ids.definitions.ArtifactTemplateId;
import org.eclipse.winery.common.ids.definitions.PolicyTemplateId;
import org.eclipse.winery.common.ids.definitions.ServiceTemplateId;
import org.eclipse.winery.common.ids.definitions.TOSCAComponentId;
import org.eclipse.winery.repository.Utils;
import org.eclipse.winery.repository.backend.BackendUtils;
import org.eclipse.winery.repository.backend.Repository;
import org.eclipse.winery.repository.backend.ResourceCreationResult;

import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;
import com.sun.jersey.api.NotFoundException;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Resource handling of a set of components. Each component has to provide a
 * class to handle the set. This is required to provide the correct instances of
 * TOSCAcomponentIds.
 *
 * TODO: Add generics here!
 * {@link Utils#getComponentIdClassForComponentContainer(java.lang.Class)} is then obsolete
 */
public abstract class AbstractComponentsResource<R extends AbstractComponentInstanceResource> {

	private static final Logger LOGGER = LoggerFactory.getLogger(AbstractComponentsResource.class);

	@Path("{namespace}/")
	public ComponentsOfOneNamespaceResource getAllResourcesInNamespaceResource(@PathParam("namespace") String namespace) {
		return new ComponentsOfOneNamespaceResource(this.getClass(), namespace);
	}

	/**
	 * Creates a new component instance in the given namespace
	 *
	 * @param namespace plain namespace
	 * @param name      the name; used as id
	 */
	protected ResourceCreationResult onPost(String namespace, String name) {
		ResourceCreationResult res;
		if (StringUtils.isEmpty(namespace) || StringUtils.isEmpty(name)) {
			res = new ResourceCreationResult(Status.BAD_REQUEST);
		} else {
			String id = Utils.createXMLidAsString(name);
			TOSCAComponentId tcId;
			try {
				tcId = this.getTOSCAcomponentId(namespace, id, false);
				res = this.createComponentInstance(tcId);
				// in case the resource additionally supports a name attribute, we set the original name
				if (res.getStatus().equals(Status.CREATED)) {
					if ((tcId instanceof ServiceTemplateId) || (tcId instanceof ArtifactTemplateId) || (tcId instanceof PolicyTemplateId)) {
						// these three types have an additional name (instead of a pure id)
						// we store the name
						IHasName resource = (IHasName) AbstractComponentsResource.getComponentInstaceResource(tcId);
						resource.setName(name);
					}
				}
			} catch (Exception e) {
				AbstractComponentsResource.LOGGER.debug("Could not create id instance", e);
				res = new ResourceCreationResult(Status.INTERNAL_SERVER_ERROR);
			}
		}
		return res;
	}

	/**
	 * Creates a TOSCAcomponentId for the given namespace / id combination
	 *
	 * Uses reflection to create a new instance
	 */
	protected TOSCAComponentId getTOSCAcomponentId(String namespace, String id, boolean URLencoded) {
		Class<? extends TOSCAComponentId> idClass = Utils.getComponentIdClassForComponentContainer(this.getClass());
		return BackendUtils.getTOSCAcomponentId(idClass, namespace, id, URLencoded);
	}

	/**
	 * Creates a new instance of the current component
	 *
	 * @return

Status.CREATED (201) if the resource has been created,

Status.CONFLICT if the resource
	 * already exists,

Status.INTERNAL_SERVER_ERROR (500) if something went wrong

	 */
	protected ResourceCreationResult createComponentInstance(TOSCAComponentId tcId) {
		return BackendUtils.create(tcId);
	}

	@SuppressWarnings("unchecked")
	private static Class<? extends AbstractComponentInstanceResource> getComponentInstanceResourceClassForType(String type) {
		// Guess the package
		String pkg = "org.eclipse.winery.repository.resources.";

		pkg += Utils.getIntermediateLocationStringForType(type, ".");

		// naming convention: Instance is named after container, but without the
		// plural s
		String className = pkg + "." + type + "Resource";
		try {
			return (Class<? extends AbstractComponentInstanceResource>) Class.forName(className);
		} catch (ClassNotFoundException e) {
			throw new IllegalStateException("Could not find id class for component instance", e);
		}
	}

	/**
	 * @param namespace encoded namespace
	 * @param id        encoded id
	 * @return an instance of the requested resource
	 */
	@Path("{namespace}/{id}/")
	public R getComponentInstaceResource(@PathParam("namespace") String namespace, @PathParam("id") String id) {
		return this.getComponentInstaceResource(namespace, id, true);
	}

	/**
	 * @param encoded specifies whether namespace and id are encoded
	 * @return an instance of the requested resource
	 */
	@SuppressWarnings("unchecked")
	protected R getComponentInstaceResource(String namespace, String id, boolean encoded) {
		TOSCAComponentId tcId;
		try {
			tcId = this.getTOSCAcomponentId(namespace, id, encoded);
		} catch (Exception e) {
			throw new IllegalStateException("Could not create id instance", e);
		}
		return (R) AbstractComponentsResource.getComponentInstaceResource(tcId);
	}

	/**
	 * @return an instance of the requested resource
	 */
	public R getComponentInstaceResource(QName qname) {
		return this.getComponentInstaceResource(qname.getNamespaceURI(), qname.getLocalPart(), false);
	}

	/**
	 * @return an instance of the requested resource
	 * @throws NotFoundException if resource doesn't exist.
	 */
	public static AbstractComponentInstanceResource getComponentInstaceResource(TOSCAComponentId tcId) {
		String type = Util.getTypeForComponentId(tcId.getClass());
		if (!Repository.INSTANCE.exists(tcId)) {
			AbstractComponentsResource.LOGGER.debug("TOSCA component id " + tcId.toString() + " not found");
			throw new NotFoundException("TOSCA component id " + tcId.toString() + " not found");
		}
		Class<? extends AbstractComponentInstanceResource> newResource = AbstractComponentsResource.getComponentInstanceResourceClassForType(type);
		Constructor<?>[] constructors = newResource.getConstructors();
		assert (constructors.length == 1);
		AbstractComponentInstanceResource newInstance;
		try {
			newInstance = (AbstractComponentInstanceResource) constructors[0].newInstance(tcId);
		} catch (InstantiationException | IllegalAccessException
				| IllegalArgumentException | InvocationTargetException e) {
			AbstractComponentsResource.LOGGER.error("Could not instantiate sub resource " + tcId);
			throw new IllegalStateException("Could not instantiate sub resource", e);
		}
		return newInstance;
	}

	/**
	 * Returns resources for all known component instances
	 *
	 * Required by topologytemplateedit.jsp
	 */
	public Collection<AbstractComponentInstanceResource> getAll() {
		Class<? extends TOSCAComponentId> idClass = Utils.getComponentIdClassForComponentContainer(this.getClass());
		SortedSet<? extends TOSCAComponentId> allTOSCAcomponentIds = Repository.INSTANCE.getAllTOSCAComponentIds(idClass);
		ArrayList<AbstractComponentInstanceResource> res = new ArrayList<>(allTOSCAcomponentIds.size());
		for (TOSCAComponentId id : allTOSCAcomponentIds) {
			AbstractComponentInstanceResource r = AbstractComponentsResource.getComponentInstaceResource(id);
			res.add(r);
		}
		return res;
	}

	/**
	 * Used by org.eclipse.winery.repository.repository.client and by the
	 * artifactcreationdialog.tag. Especially the "name" field is used there at
	 * the UI
	 *
	 * @param grouped if given, the JSON output is grouped by namespace
	 * @return A list of all ids of all instances of this component type.
 Format: [({"namespace":
	 * "[namespace]", "id": "[id]"},)* ].

 If grouped is set, the list will be grouped by namespace.
	 *
 [{"id": "[namsepace encoded]", "test": "[namespace decoded]", "children":[{"id": "[qName]", "text":
	 * "[id]"}]}]
	 */
	@GET
	@Produces(MediaType.APPLICATION_JSON)
	public String getListOfAllIds(@QueryParam("grouped") String grouped) {
		Class<? extends TOSCAComponentId> idClass = Utils.getComponentIdClassForComponentContainer(this.getClass());
		boolean supportsNameAttribute = Util.instanceSupportsNameAttribute(idClass);
		SortedSet<? extends TOSCAComponentId> allTOSCAcomponentIds = Repository.INSTANCE.getAllTOSCAComponentIds(idClass);
		JsonFactory jsonFactory = new JsonFactory();
		StringWriter sw = new StringWriter();
		try {
			JsonGenerator jg = jsonFactory.createGenerator(sw);
			// We produce org.eclipse.winery.repository.client.WineryRepositoryClient.NamespaceAndId by hand here
			// Refactoring could move this class to common and fill it here
			if (grouped == null) {
				jg.writeStartArray();
				for (TOSCAComponentId id : allTOSCAcomponentIds) {
					jg.writeStartObject();
					jg.writeStringField("namespace", id.getNamespace().getDecoded());
					jg.writeStringField("id", id.getXmlId().getDecoded());
					if (supportsNameAttribute) {
						AbstractComponentInstanceResource componentInstaceResource = AbstractComponentsResource.getComponentInstaceResource(id);
						String name = ((IHasName) componentInstaceResource).getName();
						jg.writeStringField("name", name);
					} else {
						// used for winery-qNameSelector to avoid an if there
						jg.writeStringField("name", id.getXmlId().getDecoded());
					}
					jg.writeStringField("qName", id.getQName().toString());
					jg.writeEndObject();
				}
				jg.writeEndArray();
			} else {
				jg.writeStartArray();
				Map<Namespace, ? extends List<? extends TOSCAComponentId>> groupedIds = allTOSCAcomponentIds.stream().collect(Collectors.groupingBy(id -> id.getNamespace()));
				groupedIds.keySet().stream().sorted().forEach(namespace -> {
					try {
						jg.writeStartObject();
						jg.writeStringField("id", namespace.getEncoded());
						jg.writeStringField("text", namespace.getDecoded());
						jg.writeFieldName("children");
						jg.writeStartArray();
						groupedIds.get(namespace).forEach(id -> {
							try {
								jg.writeStartObject();
								String text;
								if (supportsNameAttribute) {
									AbstractComponentInstanceResource componentInstaceResource = AbstractComponentsResource.getComponentInstaceResource(id);
									text = ((IHasName) componentInstaceResource).getName();
								} else {
									text = id.getXmlId().getDecoded();
								}
								jg.writeStringField("id", id.getQName().toString());
								jg.writeStringField("text", text);
								jg.writeEndObject();
							} catch (IOException e) {
								AbstractComponentsResource.LOGGER.error("Could not create JSON", e);
							}
						});
						jg.writeEndArray();
						jg.writeEndObject();
					} catch (IOException e) {
						AbstractComponentsResource.LOGGER.error("Could not create JSON", e);
					}
				});
				jg.writeEndArray();
			}
			jg.close();
		} catch (Exception e) {
			AbstractComponentsResource.LOGGER.error(e.getMessage(), e);
			return "[]";
		}
		return sw.toString();
	}
}


text:
package jetbrains.buildServer.nuget.tests.agent;

import jetbrains.buildServer.BaseTestCase;
import jetbrains.buildServer.RunBuildException;
import jetbrains.buildServer.agent.AgentRunningBuild;
import jetbrains.buildServer.agent.BuildParametersMap;
import jetbrains.buildServer.agent.BuildRunnerContext;
import jetbrains.buildServer.nuget.agent.commands.impl.CommandFactoryImpl;
import jetbrains.buildServer.nuget.agent.commands.impl.NuGetActionFactoryImpl;
import jetbrains.buildServer.nuget.agent.dependencies.PackageUsages;
import jetbrains.buildServer.nuget.agent.util.CommandlineBuildProcessFactory;
import jetbrains.buildServer.nuget.common.PackagesPackDirectoryMode;
import jetbrains.buildServer.nuget.tests.agent.mock.MockPackParameters;
import jetbrains.buildServer.util.FileUtil;
import jetbrains.buildServer.util.TestFor;
import org.jmock.Expectations;
import org.jmock.Mockery;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.io.File;
import java.util.Arrays;
import java.util.Collections;

/**
 * @author Eugene Petrenko (eugene.petrenko@gmail.com)
 *         Date: 23.08.11 16:23
 */
public class NuGetPackActionFactoryTest extends BaseTestCase {
  private Mockery m;
  private CommandlineBuildProcessFactory myProcessFactory;
  private NuGetActionFactoryImpl i;
  private BuildRunnerContext ctx;
  private AgentRunningBuild build;
  private MockPackParameters myPackParameters;
  private File myFile;
  private File myNuGet;
  private File myRoot;
  private File myOut;
  private BuildParametersMap myBuildParametersMap;

  @BeforeMethod
  @Override
  protected void setUp() throws Exception {
    super.setUp();
    m = new Mockery();
    myProcessFactory = m.mock(CommandlineBuildProcessFactory.class);
    PackageUsages pu = m.mock(PackageUsages.class);
    i = new NuGetActionFactoryImpl(myProcessFactory, pu, new CommandFactoryImpl());
    ctx = m.mock(BuildRunnerContext.class);
    build = m.mock(AgentRunningBuild.class);

    myFile = createTempFile();
    myNuGet = createTempFile();
    myRoot = createTempDir();
    myOut = createTempDir();

    myBuildParametersMap = m.mock(BuildParametersMap.class);

    m.checking(new Expectations(){{
      allowing(ctx).getBuildParameters(); will(returnValue(myBuildParametersMap));
      allowing(ctx).getBuild(); will(returnValue(build));
    }});

    myPackParameters = new MockPackParameters();
    myPackParameters.setNuGetExe(myNuGet);
    myPackParameters.setBaseDir(myRoot);
    myPackParameters.setOutput(myOut);
    myPackParameters.setSpecFiles(myFile);
  }

  @Test
  public void test_package() throws RunBuildException {
    m.checking(new Expectations(){{
      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet.getPath(),
              Arrays.asList(
                      "pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myRoot.getPath(), "-Version", "45.239.32.12")
              , myFile.getParentFile(),
              Collections.<String, String>emptyMap());
    }});

    i.createPack(ctx, myFile, myPackParameters);
    m.assertIsSatisfied();
  }

  @Test(expectedExceptions = RunBuildException.class)
  public void test_package_noNuGet() throws RunBuildException {
    FileUtil.delete(myNuGet);
    test_package();
  }

  @Test
  public void test_properties() throws RunBuildException {
    myPackParameters.addProperty("p1=p2", "p3=p24");
    m.checking(new Expectations(){{
      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet.getPath(),
              Arrays.asList(
                      "pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myRoot.getPath(), "-Version", "45.239.32.12", "-Properties", "p1=p2", "-Properties", "p3=p24")
              , myFile.getParentFile(),
              Collections.<String, String>emptyMap());
    }});

    i.createPack(ctx, myFile, myPackParameters);
    m.assertIsSatisfied();
  }

  @Test
  @TestFor(issues = "TW-20067")
  public void test_no_version() throws RunBuildException {
    myPackParameters.addProperty("p1=p2", "p3=p24");
    myPackParameters.setVersion(" ");

    m.checking(new Expectations(){{
      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet.getPath(),
              Arrays.asList(
                      "pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myRoot.getPath(), "-Properties", "p1=p2", "-Properties", "p3=p24")
              , myFile.getParentFile(),
              Collections.<String, String>emptyMap());
    }});

    i.createPack(ctx, myFile, myPackParameters);
    m.assertIsSatisfied();
  }

  @Test
  public void test_custom_commandline() throws RunBuildException {
    myPackParameters.addCmdParameters("arg1", "arg2");
    m.checking(new Expectations() {{
      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet.getPath(),
              Arrays.asList(
                      "pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myRoot.getPath(), "-Version", "45.239.32.12", "arg1", "arg2")
              , myFile.getParentFile(),
              Collections.<String, String>emptyMap());
    }});

    i.createPack(ctx, myFile, myPackParameters);
    m.assertIsSatisfied();
  }

  @Test
  public void test_excludes() throws RunBuildException {
    myPackParameters.addExcludes("aaa", "d/v/de");

    m.checking(new Expectations(){{
      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet.getPath(),
              Arrays.asList(
                      "pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myRoot.getPath(), "-Version", "45.239.32.12", "-Exclude", "aaa", "-Exclude", "d/v/de")
              , myFile.getParentFile(),
              Collections.<String, String>emptyMap());
    }});

    i.createPack(ctx, myFile, myPackParameters);
    m.assertIsSatisfied();
  }

  @Test
  public void test_package_tool() throws RunBuildException {
    myPackParameters.setPackTool(true);
    m.checking(new Expectations(){{

      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet.getPath(),
              Arrays.asList(
                      "pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myRoot.getPath(), "-Version", "45.239.32.12", "-Tool")
              , myFile.getParentFile(),
              Collections.<String, String>emptyMap());
    }});

    i.createPack(ctx, myFile, myPackParameters);
    m.assertIsSatisfied();
  }

  @Test
  public void test_package_symbols() throws RunBuildException {
    myPackParameters.setPackSymbols(true);
    m.checking(new Expectations(){{
      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet.getPath(),
              Arrays.asList(
                      "pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myRoot.getPath(), "-Version", "45.239.32.12", "-Symbols")
              , myFile.getParentFile(),
              Collections.<String, String>emptyMap());
    }});

    i.createPack(ctx, myFile, myPackParameters);
    m.assertIsSatisfied();
  }

  @Test
  public void test_package_base_path_project() throws RunBuildException {
    myPackParameters.setPackSymbols(true);
    myPackParameters.setBaseDirMode(PackagesPackDirectoryMode.PROJECT_DIRECTORY);
    m.checking(new Expectations(){{
      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet.getPath(),
              Arrays.asList(
                      "pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myFile.getParent(), "-Version", "45.239.32.12", "-Symbols")
              , myFile.getParentFile(),
              Collections.<String, String>emptyMap());
    }});

    i.createPack(ctx, myFile, myPackParameters);
    m.assertIsSatisfied();
  }

  @Test
  public void test_package_base_path_asis() throws RunBuildException {
    myPackParameters.setPackSymbols(true);
    myPackParameters.setBaseDirMode(PackagesPackDirectoryMode.LEAVE_AS_IS);
    m.checking(new Expectations(){{
      oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet.getPath(),
              Arrays.asList(
                      "pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-Version", "45.239.32.12", "-Symbols")
              , myFile.getParentFile(),
              Collections.<String, String>emptyMap());
    }});

    i.createPack(ctx, myFile, myPackParameters);
    m.assertIsSatisfied();
  }

}

redpajama_set_name: RedPajamaGithub


text:
'use strict';

var ES5ToInteger = require('../5/ToInteger');

var ToNumber = require('./ToNumber');

// https://ecma-international.org/ecma-262/6.0/#sec-tointeger

module.exports = function ToInteger(value) {
	var number = ToNumber(value);
	return ES5ToInteger(number);
};


text:
package client

import (
	"net/url"
	"testing"

	"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
	"github.com/GoogleCloudPlatform/kubernetes/pkg/api/testapi"
	"github.com/GoogleCloudPlatform/kubernetes/pkg/fields"
	"github.com/GoogleCloudPlatform/kubernetes/pkg/labels"
)

func TestListEmptyPods(t *testing.T) {
	ns := api.NamespaceDefault
	c := &testClient{
		Request:  testRequest{Method: "GET", Path: testapi.ResourcePath("pods", ns, ""), Query: buildQueryValues(nil)},
		Response: Response{StatusCode: 200, Body: &api.PodList{}},
	}
	podList, err := c.Setup().Pods(ns).List(labels.Everything(), fields.Everything())
	c.Validate(t, podList, err)
}

func TestListPods(t *testing.T) {
	ns := api.NamespaceDefault
	c := &testClient{
		Request: testRequest{Method: "GET", Path: testapi.ResourcePath("pods", ns, ""), Query: buildQueryValues(nil)},
		Response: Response{StatusCode: 200,
			Body: &api.PodList{
				Items: []api.Pod{
					{
						Status: api.PodStatus{
							Phase: api.PodRunning,
						},
						ObjectMeta: api.ObjectMeta{
							Labels: map[string]string{
								"foo":  "bar",
								"name": "baz",
							},
						},
					},
				},
			},
		},
	}
	receivedPodList, err := c.Setup().Pods(ns).List(labels.Everything(), fields.Everything())
	c.Validate(t, receivedPodList, err)
}

func TestListPodsLabels(t *testing.T) {
	ns := api.NamespaceDefault
	labelSelectorQueryParamName := api.LabelSelectorQueryParam(testapi.Version())
	c := &testClient{
		Request: testRequest{
			Method: "GET",
			Path:   testapi.ResourcePath("pods", ns, ""),
			Query:  buildQueryValues(url.Values{labelSelectorQueryParamName: []string{"foo=bar,name=baz"}})},
		Response: Response{
			StatusCode: 200,
			Body: &api.PodList{
				Items: []api.Pod{
					{
						Status: api.PodStatus{
							Phase: api.PodRunning,
						},
						ObjectMeta: api.ObjectMeta{
							Labels: map[string]string{
								"foo":  "bar",
								"name": "baz",
							},
						},
					},
				},
			},
		},
	}
	c.Setup()
	c.QueryValidator[labelSelectorQueryParamName] = validateLabels
	selector := labels.Set{"foo": "bar", "name": "baz"}.AsSelector()
	receivedPodList, err := c.Pods(ns).List(selector, fields.Everything())
	c.Validate(t, receivedPodList, err)
}

func TestGetPod(t *testing.T) {
	ns := api.NamespaceDefault
	c := &testClient{
		Request: testRequest{Method: "GET", Path: testapi.ResourcePath("pods", ns, "foo"), Query: buildQueryValues(nil)},
		Response: Response{
			StatusCode: 200,
			Body: &api.Pod{
				Status: api.PodStatus{
					Phase: api.PodRunning,
				},
				ObjectMeta: api.ObjectMeta{
					Labels: map[string]string{
						"foo":  "bar",
						"name": "baz",
					},
				},
			},
		},
	}
	receivedPod, err := c.Setup().Pods(ns).Get("foo")
	c.Validate(t, receivedPod, err)
}

func TestGetPodWithNoName(t *testing.T) {
	ns := api.NamespaceDefault
	c := &testClient{Error: true}
	receivedPod, err := c.Setup().Pods(ns).Get("")
	if (err != nil) && (err.Error() != nameRequiredError) {
		t.Errorf("Expected error: %v, but got %v", nameRequiredError, err)
	}

	c.Validate(t, receivedPod, err)
}

func TestDeletePod(t *testing.T) {
	ns := api.NamespaceDefault
	c := &testClient{
		Request:  testRequest{Method: "DELETE", Path: testapi.ResourcePath("pods", ns, "foo"), Query: buildQueryValues(nil)},
		Response: Response{StatusCode: 200},
	}
	err := c.Setup().Pods(ns).Delete("foo", nil)
	c.Validate(t, nil, err)
}

func TestCreatePod(t *testing.T) {
	ns := api.NamespaceDefault
	requestPod := &api.Pod{
		Status: api.PodStatus{
			Phase: api.PodRunning,
		},
		ObjectMeta: api.ObjectMeta{
			Labels: map[string]string{
				"foo":  "bar",
				"name": "baz",
			},
		},
	}
	c := &testClient{
		Request: testRequest{Method: "POST", Path: testapi.ResourcePath("pods", ns, ""), Query: buildQueryValues(nil), Body: requestPod},
		Response: Response{
			StatusCode: 200,
			Body:       requestPod,
		},
	}
	receivedPod, err := c.Setup().Pods(ns).Create(requestPod)
	c.Validate(t, receivedPod, err)
}

func TestUpdatePod(t *testing.T) {
	ns := api.NamespaceDefault
	requestPod := &api.Pod{
		ObjectMeta: api.ObjectMeta{
			Name:            "foo",
			ResourceVersion: "1",
			Labels: map[string]string{
				"foo":  "bar",
				"name": "baz",
			},
		},
		Status: api.PodStatus{
			Phase: api.PodRunning,
		},
	}
	c := &testClient{
		Request:  testRequest{Method: "PUT", Path: testapi.ResourcePath("pods", ns, "foo"), Query: buildQueryValues(nil)},
		Response: Response{StatusCode: 200, Body: requestPod},
	}
	receivedPod, err := c.Setup().Pods(ns).Update(requestPod)
	c.Validate(t, receivedPod, err)
}


text:
/*Controls*/
.controls {
	display: inline-block;
	background: #fafafa;
	margin-left: 10px;
	padding: 15px;
	height: 200px
}

/* General styles for all menus */
.cbp-spmenu {
	/*background: #47a3da;*/
	position: fixed;
}

/* General Demo Style */
.main > section {
	max-width: 260px;
	width: 90%;
	margin: 0 auto;
}

/* Orientation-dependent styles for the content of the menu */

.cbp-spmenu-vertical {
	width: 240px;
	height: 100%;
	top: 0;
	z-index: 1000;
}

/* Vertical menu that slides from the left or right */

.cbp-spmenu-left {
	left: -701px;
}

.cbp-spmenu-left.cbp-spmenu-open {
	left: 0px;
}

/* Push classes applied to the body */

.cbp-spmenu-push {
	overflow-x: hidden;
	position: relative;
	left: 0;
}

.cbp-spmenu-push-toright {
	left: 240px;
}

/* Transitions */

.cbp-spmenu,
.cbp-spmenu-push {
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	transition: all 1s ease;
}


text:
struct http_client_test: public ::testing::Test
{
	boost::asio::io_service io;
};

using http_client = client::http_client<network::dns_connector_factory>;
using handler_http1 = server::handler_http1<http::client_traits>;

using http_client2 = client::http_client<client::detail::handler_factory<network::dns_connector_factory>>;
const auto port = 8454U;
const auto timeout = std::chrono::milliseconds{100};

TEST_F(http_client_test, connect_ipv4_clear)
{
	mock_server<> server{io};
	server.start([]{});

	bool succeeded{false};
	http_client client{io, timeout};
	client.connect([&server, &succeeded](auto connection) {
					   // check that clear connections go with http1.x proto
					   EXPECT_TRUE(std::dynamic_pointer_cast<handler_http1>(connection));
					   succeeded = true;
					   server.stop();
				   },
				   [](auto error) {
					   FAIL();
				   }, "127.0.0.1", port, false);

	io.run();
	ASSERT_TRUE(succeeded);
}

TEST_F(http_client_test, connect_ipv4_ssl)
{
	mock_server<true> server{io};
	server.start([]{});

	bool succeeded{false};
	http_client client{io, timeout};
	client.connect([&server, &succeeded](auto connection)
	{
		succeeded = true;
		// check that ssl connections go with http2 proto
		EXPECT_TRUE(std::dynamic_pointer_cast<http2::session_client>(connection));
		server.stop();
	},
	[](auto error)
	{
		FAIL();
	}, "127.0.0.1", port, true);

	io.run();
	ASSERT_TRUE(succeeded);
}

TEST_F(http_client_test, connect_ipv6_clear)
{
	mock_server<> server{io};
	server.start([]{});

	bool succeeded{false};
	http_client client{io, timeout};
	client.connect([&server, &succeeded](auto connection)
	{
		succeeded = true;
		// check that clear connections go with http1.x proto
		EXPECT_TRUE(std::dynamic_pointer_cast<handler_http1>(connection));
		server.stop();
	},
	[](auto error)
	{
		FAIL();
	}, "::1", port, false);

	io.run();
	ASSERT_TRUE(succeeded);
}

TEST_F(http_client_test, connect_ipv6_ssl)
{
	mock_server<true> server{io};
	server.start([]{});

	bool succeeded{false};
	http_client client{io, timeout};
	client.connect([&server, &succeeded](auto connection)
	{
		succeeded = true;
		// check that ssl connections go with http2 proto
		EXPECT_TRUE(std::dynamic_pointer_cast<http2::session_client>(connection));
		server.stop();
	},
	[](auto error)
	{
		FAIL();
	}, "::1", port, true);

	io.run();
	ASSERT_TRUE(succeeded);
}

TEST_F(http_client_test, fail_connect)
{
	mock_server<true> server{io};
	server.start([]{});

	bool called {false};
	http_client client{io, timeout};
	client.connect([](auto connection)
	{
		FAIL();
	},
	[&server, &called](auto error)
	{
		SUCCEED();
		called = true;
		server.stop();
	},"::1", port + 1, true);

	io.run();
	ASSERT_TRUE(called);
}

TEST_F(http_client_test, connect_ipv4_clear2)
{
	mock_server<> server{io};
	server.start([]{});

	bool succeeded{false};
	http_client2 client{io, timeout};
	client.connect([&server, &succeeded](auto connection) {
		               SUCCEED();
		               succeeded = true;
		               server.stop();
	               },
	               [](auto error) {
		               FAIL();
	               },
	               "127.0.0.1", port, false);

	io.run();
	ASSERT_TRUE(succeeded);
}


text:
#ifndef FTGLOADR_H_
#define FTGLOADR_H_

#include <freetype/freetype.h>

#include "compiler-macros.h"

FT_BEGIN_HEADER

  /**************************************************************************
   *
   * @struct:
   *   FT_GlyphLoader
   *
   * @description:
   *   The glyph loader is an internal object used to load several glyphs
   *   together (for example, in the case of composites).
   */
  typedef struct  FT_SubGlyphRec_
  {
    FT_Int     index;
    FT_UShort  flags;
    FT_Int     arg1;
    FT_Int     arg2;
    FT_Matrix  transform;

  } FT_SubGlyphRec;

  typedef struct  FT_GlyphLoadRec_
  {
    FT_Outline   outline;       /* outline                   */
    FT_Vector*   extra_points;  /* extra points table        */
    FT_Vector*   extra_points2; /* second extra points table */
    FT_UInt      num_subglyphs; /* number of subglyphs       */
    FT_SubGlyph  subglyphs;     /* subglyphs                 */

  } FT_GlyphLoadRec, *FT_GlyphLoad;

  typedef struct  FT_GlyphLoaderRec_
  {
    FT_Memory        memory;
    FT_UInt          max_points;
    FT_UInt          max_contours;
    FT_UInt          max_subglyphs;
    FT_Bool          use_extra;

    FT_GlyphLoadRec  base;
    FT_GlyphLoadRec  current;

    void*            other;            /* for possible future extension? */

  } FT_GlyphLoaderRec, *FT_GlyphLoader;

  /* create new empty glyph loader */
  FT_BASE( FT_Error )
  FT_GlyphLoader_New( FT_Memory        memory,
                      FT_GlyphLoader  *aloader );

  /* add an extra points table to a glyph loader */
  FT_BASE( FT_Error )
  FT_GlyphLoader_CreateExtra( FT_GlyphLoader  loader );

  /* destroy a glyph loader */
  FT_BASE( void )
  FT_GlyphLoader_Done( FT_GlyphLoader  loader );

  /* reset a glyph loader (frees everything int it) */
  FT_BASE( void )
  FT_GlyphLoader_Reset( FT_GlyphLoader  loader );

  /* rewind a glyph loader */
  FT_BASE( void )
  FT_GlyphLoader_Rewind( FT_GlyphLoader  loader );

  /* check that there is enough space to add `n_points' and `n_contours' */
  /* to the glyph loader                                                 */
  FT_BASE( FT_Error )
  FT_GlyphLoader_CheckPoints( FT_GlyphLoader  loader,
                              FT_UInt         n_points,
                              FT_UInt         n_contours );

#define FT_GLYPHLOADER_CHECK_P( _loader, _count )       \
  ( (_count) == 0                                    || \
    ( (FT_UInt)(_loader)->base.outline.n_points    +    \
      (FT_UInt)(_loader)->current.outline.n_points +    \
      (FT_UInt)(_count) ) <= (_loader)->max_points   )

#define FT_GLYPHLOADER_CHECK_C( _loader, _count )         \
  ( (_count) == 0                                      || \
    ( (FT_UInt)(_loader)->base.outline.n_contours    +    \
      (FT_UInt)(_loader)->current.outline.n_contours +    \
      (FT_UInt)(_count) ) <= (_loader)->max_contours   )

#define FT_GLYPHLOADER_CHECK_POINTS( _loader, _points, _contours ) \
  ( ( FT_GLYPHLOADER_CHECK_P( _loader, _points )   &&              \
      FT_GLYPHLOADER_CHECK_C( _loader, _contours ) )               \
    ? 0                                                            \
    : FT_GlyphLoader_CheckPoints( (_loader),                       \
                                  (FT_UInt)(_points),              \
                                  (FT_UInt)(_contours) ) )

  /* check that there is enough space to add `n_subs' sub-glyphs to */
  /* a glyph loader                                                 */
  FT_BASE( FT_Error )
  FT_GlyphLoader_CheckSubGlyphs( FT_GlyphLoader  loader,
                                 FT_UInt         n_subs );

  /* prepare a glyph loader, i.e. empty the current glyph */
  FT_BASE( void )
  FT_GlyphLoader_Prepare( FT_GlyphLoader  loader );

  /* add the current glyph to the base glyph */
  FT_BASE( void )
  FT_GlyphLoader_Add( FT_GlyphLoader  loader );

FT_END_HEADER

#endif /* FTGLOADR_H_ */

/* END */


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SharePoint.Client;
using OfficeDevPnP.Core.Framework.TimerJobs;
using OfficeDevPnP.Core.Framework.TimerJobs.Utilities;

namespace Core.TimerJobs.Samples.OverrideJob
{
    public class OverrideJob: TimerJob
    {

        public OverrideJob(): base("OverrideJob")
        {
            TimerJobRun += OverrideJob_TimerJobRun;
            ExpandSubSites = true;
        }

        /// <summary>
        /// This virtual method is executed by the timerjob framework before it starts with site resolving.
        /// The idea here is add your own sites at this point instead of the one provided by the TimerJob caller
        /// </summary>
        /// <param name="addedSites">Current list of added sites</param>
        /// <returns>New list of added sites</returns>
        public override List<string> UpdateAddedSites(List<string> addedSites)
        {
            // Let's assume we're not happy with the provided list of sites, so first clear it
            addedSites.Clear();
            // Manually adding a new wildcard Url, without an added URL the timer job will do...nothing
            addedSites.Add("https://bertonline.sharepoint.com/sites/d*");

            // Return the updated list of sites
            return addedSites;
        }

        /// <summary>
        /// This virtual method is used for resolving sites (= going from wildcard to actual list of sites and/or enumerating
        /// the sub sites). Use this method to either provide your own list of sites and/or sub sites or for manipulating
        /// the default generated list (e.g. adding or removing some sites)
        /// </summary>
        /// <param name="addedSites">List of sites to resolve</param>
        /// <returns>Resolved set of sites</returns>
        public override List<string> ResolveAddedSites(List<string> addedSites)
        {
            // Use default TimerJob base class site resolving
            addedSites = base.ResolveAddedSites(addedSites);

            //Delete the first one from the list...simple change. A real life case could be reading the site scope
            //from a SQL (Azure) DB to prevent the whole site resolving.
            addedSites.RemoveAt(0);

            // return the updated list of resolved sites...this list will be processed by the timer job
            return addedSites;
        }

        void OverrideJob_TimerJobRun(object sender, TimerJobRunEventArgs e)
        {
            e.WebClientContext.Load(e.WebClientContext.Web, p => p.Title);
            e.WebClientContext.ExecuteQueryRetry();
            Console.WriteLine("Site {0} has title {1}", e.Url, e.WebClientContext.Web.Title);
        }

    }
}


text:
import logging
import socket
from collections import OrderedDict
from six import python_2_unicode_compatible
import pytest
import pytz
from mock import patch

from rfc5424logging import Rfc5424SysLogHandler, Rfc5424SysLogAdapter

class SomeClass:
    def __init__(self):
        self.a = "a"
        self.b = 1

    def __str__(self):
        return "MyClass Object"

address = ('127.0.0.1', 514)
timezone = pytz.timezone('Antarctica/Vostok')
message = 'This is an interesting message'

sd1 = {'my_sd_id1@32473': {'my_key1': 'my_value1'}}
sd2 = {'my_sd_id2@32473': {'my_key2': 'my_value2'}}
sd_multi_id = OrderedDict()
sd_multi_id.update(sd1)
sd_multi_id.update(sd2)
sd_multi_param = {'my_sd_id1@32473': OrderedDict([('my_key1', 'my_value1'), ('my_key2', 'my_value2')])}

sd1_no_pen = {'my_sd_id1': {'my_key1': 'my_value1'}}
sd2_no_pen = {'my_sd_id2': {'my_key2': 'my_value2'}}
sd_multi_id_no_pen = OrderedDict()
sd_multi_id_no_pen.update(sd1_no_pen)
sd_multi_id_no_pen.update(sd2_no_pen)
sd_multi_param_no_pen = {'my_sd_id1': OrderedDict([('my_key1', 'my_value1'), ('my_key2', 'my_value2')])}

sd1_param_none_value = {'my_sd_id1@32473': {'my_key1': None}}
sd1_param_object_value = {'my_sd_id1@32473': {'my_key1': SomeClass()}}
sd1_param_none_key = {'my_sd_id1@32473': {None: 'my_value1'}}

def connect_mock(param1):
    return

@pytest.fixture
def logger():
    getpid_patch = patch('logging.os.getpid', return_value=111)
    getpid_patch.start()
    time_patch = patch('logging.time.time', return_value=946725071.111111)
    time_patch.start()
    localzone_patch = patch('rfc5424logging.handler.get_localzone', return_value=timezone)
    localzone_patch.start()
    hostname_patch = patch('rfc5424logging.handler.socket.gethostname', return_value="testhostname")
    hostname_patch.start()
    connect_patch = patch('logging.handlers.socket.socket.connect', side_effect=connect_mock)
    connect_patch.start()
    sendall_patch = patch('logging.handlers.socket.socket.sendall', side_effect=connect_mock)
    sendall_patch.start()

    if '_levelNames' in logging.__dict__:
        # Python 2.7
        level_patch = patch.dict(logging._levelNames)
        level_patch.start()
    else:
        # Python 3.x
        level_patch1 = patch.dict(logging._levelToName)
        level_patch1.start()
        level_patch2 = patch.dict(logging._nameToLevel)
        level_patch2.start()

    logging.raiseExceptions = True
    logger = logging.getLogger()
    logger.setLevel(logging.DEBUG)
    yield logger

    getpid_patch.stop()
    time_patch.stop()
    localzone_patch.stop()
    hostname_patch.stop()
    connect_patch.stop()
    sendall_patch.stop()

    if '_levelNames' in logging.__dict__:
        # Python 2.7
        level_patch.stop()
    else:
        # Python 3.x
        level_patch1.stop()
        level_patch2.stop()

    Rfc5424SysLogAdapter._extra_levels_enabled = False

@pytest.fixture
def logger_with_udp_handler(logger):
    sh = Rfc5424SysLogHandler(address=address)
    logger.addHandler(sh)
    with patch.object(sh.transport, 'socket') as syslog_socket:
        yield logger, syslog_socket
    logger.removeHandler(sh)

@pytest.fixture
def adapter_with_udp_handler(logger_with_udp_handler):
    logger, syslog_socket = logger_with_udp_handler
    adapter = Rfc5424SysLogAdapter(logger)
    yield adapter, syslog_socket

@pytest.fixture
def logger_with_tcp_handler(logger):
    sh = Rfc5424SysLogHandler(address=address, socktype=socket.SOCK_STREAM)
    logger.addHandler(sh)
    with patch.object(sh.transport, 'socket', side_effect=connect_mock) as syslog_socket:
        yield logger, syslog_socket
    logger.removeHandler(sh)


text:
\documentclass[english]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{color}
%\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{longtable}
%\usepackage{makecell}  % $ sudo tlmgr install makecell
%\pagestyle{fancy}
%\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\setlength{\headheight}{20pt}

\begin{document}

\title{ \VAR{ title } }

\author{ \VAR{ authors}  }

\maketitle

\newpage

\begin{longtable}{|p{5cm}|p{9cm}|}

\hline
\emph{FIELD} & \emph{DESCRIPTION} \\

\hline
Metric Identifier &
\VAR{ metricId }: \verb"\VAR{ metricIdVerb }"
\\

\hline
Metric Name &
\VAR{ shortTitle }
\\

\hline
To which principle does it apply? &
\VAR{ topicTitle } - \VAR{ topicDesription }
\\

\hline
\VAR{ measuringLabel } &
\VAR{ measuring }
\\

\hline
\VAR{ rationaleLabel } &
\VAR{ rationale }
\\

\hline
\VAR{ requirementsLabel } &
\VAR{ requirements }
\\

\hline
\VAR{ procedureLabel } &
\VAR{ procedure }
\\

\hline
\VAR{ validationLabel } &
\VAR{ validation }
\\

\hline
\VAR{ relevanceLabel } &
\VAR{ relevance }
\\

\hline
\VAR{ examplesLabel } &
\VAR{ examples }
\\

\hline
\VAR{ commentsLabel } &
\VAR{ comments }
\\

\hline
\end{longtable}
\end{document}


text:
layout: movie
title: 2015年电影清单
category: 电影
keywords:
movies:
    - title: Fury
      directors: David Ayer
      writers: David Ayer
      status: 看过
      stars:  Brad Pitt, Shia LaBeouf, Logan Lerman
      type:  Action | Drama | War
      link: http://www.imdb.com/title/tt2713180/?ref_=fn_al_tt_1
      poster: http://ia.media-imdb.com/images/M/MV5BMjA4MDU0NTUyN15BMl5BanBnXkFtZTgwMzQxMzY4MjE@._V1_SX214_AL_.jpg
      description: April, 1945. As the Allies make their final push in the European Theatre, a battle-hardened army sergeant named Wardaddy commands a Sherman tank and his five-man crew on a deadly mission behind enemy lines. Out-numbered, out-gunned, and with a rookie soldier thrust into their platoon, Wardaddy and his men face overwhelming odds in their heroic attempts to strike at the heart of Nazi Germany.
    - title: The Grand Budapest Hotel
      directors: Wes Anderson
      writers: Stefan Zweig (inspired by the writings of), Wes Anderson (screenplay)
      stars: Ralph Fiennes, F. Murray Abraham, Mathieu Amalric
      status: 看过
      type: Adventure | Comedy | Drama
      link: http://www.imdb.com/title/tt2278388/?ref_=nv_sr_1
      poster: http://ia.media-imdb.com/images/M/MV5BMzM5NjUxOTEyMl5BMl5BanBnXkFtZTgwNjEyMDM0MDE@._V1_SX214_AL_.jpg
      description: The adventures of Gustave H, a legendary concierge at a famous hotel from the fictional Republic of Zubrowka between the first and second World Wars, and Zero Moustafa, the lobby boy who becomes his most trusted friend.										Typical Wes Anderson cinematic style film, visually amazing, somtimes arty and esoteric. Checkout Moonrise Kingdom or The Life Aquatic or Fantastic Mr. Fox. P.S. This movie is devoted to Stefan Zweig and Walter Benjamin(http://en.wikipedia.org/wiki/Walter_Benjamin).
    - title: Gone girl
      directors: David Fincher
      writers: Gillian Flynn (screenplay), Gillian Flynn (novel)
      status: 看过
      stars: Ben Affleck, Rosamund Pike, Neil Patrick Harris
      type:  Drama | Mystery | Thriller
      link: http://www.imdb.com/title/tt2267998/?ref_=nv_sr_1
      poster: http://ia.media-imdb.com/images/M/MV5BMTk0MDQ3MzAzOV5BMl5BanBnXkFtZTgwNzU1NzE3MjE@._V1_SY317_CR0,0,214,317_AL_.jpg
      description: With his wife's disappearance having become the focus of an intense media circus, a man sees the spotlight turned on him when it's suspected that he may not be innocent.
    - title: The Secret Life of Walter Mitty
      directors: Ben Stiller
      writers: Steve Conrad (screenplay), Steve Conrad (screen story by)
      status: 看过
      stars:  Ben Stiller, Kristen Wiig, Jon Daly
      type:  Adventure | Comedy | Drama
      link: http://www.imdb.com/title/tt0359950/?ref_=nv_sr_1
      poster: http://ia.media-imdb.com/images/M/MV5BODYwNDYxNDk1Nl5BMl5BanBnXkFtZTgwOTAwMTk2MDE@._V1_SX214_AL_.jpg
      description: When his job along with that of his co-worker are threatened, Walter takes action in the real world embarking on a global journey that turns into an adventure more extraordinary than anything he could have ever imagined. Live by the rule of ABC. Adventure, Brave, Creative. Beautiful things never ask for attention.
    - title: Mystic River
      directors: Clint Eastwood
      writers: Brian Helgeland (screenplay), Dennis Lehane (novel)
      status: 看过
      stars:  Sean Penn, Tim Robbins, Kevin Bacon
      type:  Crime | Drama | Mystery
      link: http://www.imdb.com/title/tt0327056/?ref_=fn_al_tt_1
      poster: http://ia.media-imdb.com/images/M/MV5BMTIzNDUyMjA4MV5BMl5BanBnXkFtZTYwNDc4ODM3._V1_SX214_AL_.jpg
      description: With a childhood tragedy that overshadowed their lives, three men are reunited by circumstance when one loses a daughter.
    - title: Boyhood
      directors: Richard Linklater
      writers: Richard Linklater
      status: 看过
      stars:  Ellar Coltrane, Patricia Arquette, Ethan Hawke
      type: Drama
      link: http://www.imdb.com/title/tt1065073/?ref_=fn_al_tt_1
      poster: http://ia.media-imdb.com/images/M/MV5BMTYzNDc2MDc0N15BMl5BanBnXkFtZTgwOTcwMDQ5MTE@._V1_SY317_CR0,0,214,317_AL_.jpg
      description: The life of a young man, Mason, from age 5 to age 18. Linklater somehow manages to authentically capture 12 years of life experiences into a beautiful and moving 3 hour film. Although the movie itself has nothing new, it is not difficult for us to feel the quintenssense of time. We hear a lot of age stories, but none of them can dwarf the story of our own life. Just seize the moment.
    - title: Begin Again
      directors: John Carney
      writers: John Carney
      status: 看过
      stars: Keira Knightley, Mark Ruffalo, Adam Levine
      type: Comedy | Drama | Music
      link: http://www.imdb.com/title/tt1980929/?ref_=fn_al_tt_1
      poster: http://ia.media-imdb.com/images/M/MV5BNjAxMTI4MTgzMV5BMl5BanBnXkFtZTgwOTAwODEwMjE@._V1_SX214_AL_.jpg
      description: A chance encounter between a disgraced music-business executive and a young singer-songwriter new to Manhattan turns into a promising collaboration between the two talents.
    - title: Into the wild
      directors:  Sean Penn
      writers: Sean Penn (screenplay), Jon Krakauer (book)
      status: 看过
      stars:   Emile Hirsch, Vince Vaughn, Catherine Keener
      type: Adventure | Biography | Drama
      link: http://www.imdb.com/title/tt0758758/?ref_=fn_al_tt_1
      poster: http://ia.media-imdb.com/images/M/MV5BMTAwNDEyODU1MjheQTJeQWpwZ15BbWU2MDc3NDQwNw@@._V1_SY317_CR0,0,214,317_AL_.jpg
      description: After graduating from Emory University, top student and athlete Christopher McCandless abandons his possessions, gives his entire $24,000 savings account to charity and hitchhikes to Alaska to live in the wilderness. Along the way, Christopher encounters a series of characters that shape his life.
    - title: Night at the Museum:Secret of the Tomb
      directors: Shawn Levy
      writers: David Guion (screenplay), Michael Handelman
      status: 看过
      stars: Ben Stiller, Robin Williams, Owen Wilson
      type:  Adventure | Comedy | Family
      link: http://www.imdb.com/title/tt2692250/
      poster: http://ia.media-imdb.com/images/M/MV5BMjI1MzM2ODEyMV5BMl5BanBnXkFtZTgwNTIzODAwMzE@._V1_SY317_CR3,0,214,317_AL_.jpg
      description: Larry spans the globe, uniting favorite and new characters while embarking on an epic quest to save the magic before it is gone forever. family film...
    - title: The Hobbit: The Battle of the Five Armies
      directors: Peter Jackson
      writers:  Fran Walsh (screenplay), Philippa Boyens
      status: 看过
      type:    Adventure | Fantasy
      link: http://www.imdb.com/title/tt2310332/?ref_=fn_al_tt_3
      poster: http://ia.media-imdb.com/images/M/MV5BODAzMDgxMDc1MF5BMl5BanBnXkFtZTgwMTI0OTAzMjE@._V1_SX214_AL_.jpg
      description: Bilbo and Company are forced to engage in a war against an array of combatants and keep the Lonely Mountain from falling into the hands of a rising darkness.

    - title:
      directors:
      writers:
      status: 看过
      type:
      link:
      poster:
      description:
    - title:
      directors:
      writers:
      status: 看过
      type:
      link:
      poster:
      description:
    - title:
      directors:
      writers:
      status: 看过
      type:
      link:
      poster:
      description:
---


text:
<project
  xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <parent>
    <groupId>com.experimental.labs.dev</groupId>
    <artifactId>mavenX</artifactId>
    <version>1.0-SNAPSHOT</version>
   </parent>

  <modelVersion>4.0.0</modelVersion>
  <artifactId>Marionette</artifactId>
  <packaging>jar</packaging>

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>

        </plugin>
    </plugins>
</build>

  <dependencies>
    <dependency>
      <groupId>com.experimental.labs.dev</groupId>
      <artifactId>Sasori</artifactId>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>

    <dependency>
  <groupId>commons-fileupload</groupId>
  <artifactId>commons-fileupload</artifactId>
  <version>1.2</version>
</dependency>

      <dependency>
      <groupId>org.opendaylight.yangtools.model</groupId>
      <artifactId>ietf-inet-types</artifactId>
      <version>RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcpkix-jdk15on</artifactId>
      <version>RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcprov-jdk15on</artifactId>
      <version>RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.apache.sshd</groupId>
      <artifactId>sshd-core</artifactId>
      <version>RELEASE</version>
    </dependency>
      <dependency>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
          <version>RELEASE</version>
      </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>RELEASE</version>
    </dependency>

  </dependencies>
</project>


text:
namespace Microsoft.WindowsAzure.CAT.ServiceBusExplorer
{
    partial class HandleRuleControl
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        #region Component Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.btnCreateDelete = new System.Windows.Forms.Button();
            this.btnCancel = new System.Windows.Forms.Button();
            this.toolTip = new System.Windows.Forms.ToolTip(this.components);
            this.grouperName = new Microsoft.WindowsAzure.CAT.ServiceBusExplorer.Grouper();
            this.txtName = new System.Windows.Forms.TextBox();
            this.grouperFilter = new Microsoft.WindowsAzure.CAT.ServiceBusExplorer.Grouper();
            this.txtSqlFilterExpression = new System.Windows.Forms.TextBox();
            this.grouperAction = new Microsoft.WindowsAzure.CAT.ServiceBusExplorer.Grouper();
            this.txtSqlFilterAction = new System.Windows.Forms.TextBox();
            this.grouperIsDefault = new Microsoft.WindowsAzure.CAT.ServiceBusExplorer.Grouper();
            this.checkBoxDefault = new System.Windows.Forms.CheckBox();
            this.grouperCreatedAt = new Microsoft.WindowsAzure.CAT.ServiceBusExplorer.Grouper();
            this.txtCreatedAt = new System.Windows.Forms.TextBox();
            this.grouperName.SuspendLayout();
            this.grouperFilter.SuspendLayout();
            this.grouperAction.SuspendLayout();
            this.grouperIsDefault.SuspendLayout();
            this.grouperCreatedAt.SuspendLayout();
            this.SuspendLayout();
            //
            // btnCreateDelete
            //
            this.btnCreateDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
            this.btnCreateDelete.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(215)))), ((int)(((byte)(228)))), ((int)(((byte)(242)))));
            this.btnCreateDelete.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.btnCreateDelete.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.btnCreateDelete.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.btnCreateDelete.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.btnCreateDelete.ForeColor = System.Drawing.SystemColors.ControlText;
            this.btnCreateDelete.Location = new System.Drawing.Point(800, 360);
            this.btnCreateDelete.Name = "btnCreateDelete";
            this.btnCreateDelete.Size = new System.Drawing.Size(72, 24);
            this.btnCreateDelete.TabIndex = 6;
            this.btnCreateDelete.Text = "Create";
            this.btnCreateDelete.UseVisualStyleBackColor = false;
            this.btnCreateDelete.Click += new System.EventHandler(this.btnCreateDelete_Click);
            this.btnCreateDelete.MouseEnter += new System.EventHandler(this.button_MouseEnter);
            this.btnCreateDelete.MouseLeave += new System.EventHandler(this.button_MouseLeave);
            //
            // btnCancel
            //
            this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
            this.btnCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(215)))), ((int)(((byte)(228)))), ((int)(((byte)(242)))));
            this.btnCancel.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.btnCancel.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.btnCancel.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
            this.btnCancel.ForeColor = System.Drawing.SystemColors.ControlText;
            this.btnCancel.Location = new System.Drawing.Point(880, 360);
            this.btnCancel.Name = "btnCancel";
            this.btnCancel.Size = new System.Drawing.Size(72, 24);
            this.btnCancel.TabIndex = 7;
            this.btnCancel.Text = "Cancel";
            this.btnCancel.UseVisualStyleBackColor = false;
            this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
            this.btnCancel.MouseEnter += new System.EventHandler(this.button_MouseEnter);
            this.btnCancel.MouseLeave += new System.EventHandler(this.button_MouseLeave);
            //
            // grouperName
            //
            this.grouperName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
            | System.Windows.Forms.AnchorStyles.Right)));
            this.grouperName.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(215)))), ((int)(((byte)(228)))), ((int)(((byte)(242)))));
            this.grouperName.BackgroundGradientColor = System.Drawing.Color.White;
            this.grouperName.BackgroundGradientMode = Microsoft.WindowsAzure.CAT.ServiceBusExplorer.Grouper.GroupBoxGradientMode.None;
            this.grouperName.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.grouperName.BorderThickness = 1F;
            this.grouperName.Controls.Add(this.txtName);
            this.grouperName.CustomGroupBoxColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.grouperName.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
            this.grouperName.ForeColor = System.Drawing.Color.White;
            this.grouperName.GroupImage = null;
            this.grouperName.GroupTitle = "Name";
            this.grouperName.Location = new System.Drawing.Point(16, 8);
            this.grouperName.Name = "grouperName";
            this.grouperName.Padding = new System.Windows.Forms.Padding(20);
            this.grouperName.PaintGroupBox = true;
            this.grouperName.RoundCorners = 4;
            this.grouperName.ShadowColor = System.Drawing.Color.DarkGray;
            this.grouperName.ShadowControl = false;
            this.grouperName.ShadowThickness = 1;
            this.grouperName.Size = new System.Drawing.Size(460, 80);
            this.grouperName.TabIndex = 0;
            //
            // txtName
            //
            this.txtName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
            | System.Windows.Forms.AnchorStyles.Right)));
            this.txtName.BackColor = System.Drawing.SystemColors.Window;
            this.txtName.Location = new System.Drawing.Point(16, 40);
            this.txtName.Name = "txtName";
            this.txtName.Size = new System.Drawing.Size(428, 20);
            this.txtName.TabIndex = 0;
            //
            // grouperFilter
            //
            this.grouperFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
            | System.Windows.Forms.AnchorStyles.Left)
            | System.Windows.Forms.AnchorStyles.Right)));
            this.grouperFilter.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(215)))), ((int)(((byte)(228)))), ((int)(((byte)(242)))));
            this.grouperFilter.BackgroundGradientColor = System.Drawing.Color.White;
            this.grouperFilter.BackgroundGradientMode = Microsoft.WindowsAzure.CAT.ServiceBusExplorer.Grouper.GroupBoxGradientMode.None;
            this.grouperFilter.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.grouperFilter.BorderThickness = 1F;
            this.grouperFilter.Controls.Add(this.txtSqlFilterExpression);
            this.grouperFilter.CustomGroupBoxColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.grouperFilter.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
            this.grouperFilter.ForeColor = System.Drawing.Color.White;
            this.grouperFilter.GroupImage = null;
            this.grouperFilter.GroupTitle = "Filter";
            this.grouperFilter.Location = new System.Drawing.Point(16, 96);
            this.grouperFilter.Name = "grouperFilter";
            this.grouperFilter.Padding = new System.Windows.Forms.Padding(20);
            this.grouperFilter.PaintGroupBox = true;
            this.grouperFilter.RoundCorners = 4;
            this.grouperFilter.ShadowColor = System.Drawing.Color.DarkGray;
            this.grouperFilter.ShadowControl = false;
            this.grouperFilter.ShadowThickness = 1;
            this.grouperFilter.Size = new System.Drawing.Size(460, 256);
            this.grouperFilter.TabIndex = 3;
            //
            // txtSqlFilterExpression
            //
            this.txtSqlFilterExpression.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
            | System.Windows.Forms.AnchorStyles.Left)
            | System.Windows.Forms.AnchorStyles.Right)));
            this.txtSqlFilterExpression.BackColor = System.Drawing.SystemColors.Window;
            this.txtSqlFilterExpression.Location = new System.Drawing.Point(16, 32);
            this.txtSqlFilterExpression.Multiline = true;
            this.txtSqlFilterExpression.Name = "txtSqlFilterExpression";
            this.txtSqlFilterExpression.ScrollBars = System.Windows.Forms.ScrollBars.Both;
            this.txtSqlFilterExpression.Size = new System.Drawing.Size(428, 208);
            this.txtSqlFilterExpression.TabIndex = 0;
            //
            // grouperAction
            //
            this.grouperAction.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
            | System.Windows.Forms.AnchorStyles.Left)
            | System.Windows.Forms.AnchorStyles.Right)));
            this.grouperAction.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(215)))), ((int)(((byte)(228)))), ((int)(((byte)(242)))));
            this.grouperAction.BackgroundGradientColor = System.Drawing.Color.White;
            this.grouperAction.BackgroundGradientMode = Microsoft.WindowsAzure.CAT.ServiceBusExplorer.Grouper.GroupBoxGradientMode.None;
            this.grouperAction.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.grouperAction.BorderThickness = 1F;
            this.grouperAction.Controls.Add(this.txtSqlFilterAction);
            this.grouperAction.CustomGroupBoxColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.grouperAction.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
            this.grouperAction.ForeColor = System.Drawing.Color.White;
            this.grouperAction.GroupImage = null;
            this.grouperAction.GroupTitle = "Action";
            this.grouperAction.Location = new System.Drawing.Point(492, 96);
            this.grouperAction.Name = "grouperAction";
            this.grouperAction.Padding = new System.Windows.Forms.Padding(20);
            this.grouperAction.PaintGroupBox = true;
            this.grouperAction.RoundCorners = 4;
            this.grouperAction.ShadowColor = System.Drawing.Color.DarkGray;
            this.grouperAction.ShadowControl = false;
            this.grouperAction.ShadowThickness = 1;
            this.grouperAction.Size = new System.Drawing.Size(460, 256);
            this.grouperAction.TabIndex = 4;
            //
            // txtSqlFilterAction
            //
            this.txtSqlFilterAction.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
            | System.Windows.Forms.AnchorStyles.Left)
            | System.Windows.Forms.AnchorStyles.Right)));
            this.txtSqlFilterAction.BackColor = System.Drawing.SystemColors.Window;
            this.txtSqlFilterAction.Location = new System.Drawing.Point(16, 32);
            this.txtSqlFilterAction.Multiline = true;
            this.txtSqlFilterAction.Name = "txtSqlFilterAction";
            this.txtSqlFilterAction.ScrollBars = System.Windows.Forms.ScrollBars.Both;
            this.txtSqlFilterAction.Size = new System.Drawing.Size(428, 208);
            this.txtSqlFilterAction.TabIndex = 0;
            //
            // grouperIsDefault
            //
            this.grouperIsDefault.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
            this.grouperIsDefault.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(215)))), ((int)(((byte)(228)))), ((int)(((byte)(242)))));
            this.grouperIsDefault.BackgroundGradientColor = System.Drawing.Color.White;
            this.grouperIsDefault.BackgroundGradientMode = Microsoft.WindowsAzure.CAT.ServiceBusExplorer.Grouper.GroupBoxGradientMode.None;
            this.grouperIsDefault.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.grouperIsDefault.BorderThickness = 1F;
            this.grouperIsDefault.Controls.Add(this.checkBoxDefault);
            this.grouperIsDefault.CustomGroupBoxColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.grouperIsDefault.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
            this.grouperIsDefault.ForeColor = System.Drawing.Color.White;
            this.grouperIsDefault.GroupImage = null;
            this.grouperIsDefault.GroupTitle = "Is Default?";
            this.grouperIsDefault.Location = new System.Drawing.Point(848, 8);
            this.grouperIsDefault.Name = "grouperIsDefault";
            this.grouperIsDefault.Padding = new System.Windows.Forms.Padding(20);
            this.grouperIsDefault.PaintGroupBox = true;
            this.grouperIsDefault.RoundCorners = 4;
            this.grouperIsDefault.ShadowColor = System.Drawing.Color.DarkGray;
            this.grouperIsDefault.ShadowControl = false;
            this.grouperIsDefault.ShadowThickness = 1;
            this.grouperIsDefault.Size = new System.Drawing.Size(104, 80);
            this.grouperIsDefault.TabIndex = 2;
            //
            // checkBoxDefault
            //
            this.checkBoxDefault.AutoSize = true;
            this.checkBoxDefault.ForeColor = System.Drawing.SystemColors.ControlText;
            this.checkBoxDefault.Location = new System.Drawing.Point(16, 40);
            this.checkBoxDefault.Name = "checkBoxDefault";
            this.checkBoxDefault.Size = new System.Drawing.Size(60, 17);
            this.checkBoxDefault.TabIndex = 0;
            this.checkBoxDefault.Text = "Default";
            this.checkBoxDefault.UseVisualStyleBackColor = true;
            this.checkBoxDefault.CheckedChanged += new System.EventHandler(this.checkBoxDefault_CheckedChanged);
            //
            // grouperCreatedAt
            //
            this.grouperCreatedAt.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
            | System.Windows.Forms.AnchorStyles.Right)));
            this.grouperCreatedAt.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(215)))), ((int)(((byte)(228)))), ((int)(((byte)(242)))));
            this.grouperCreatedAt.BackgroundGradientColor = System.Drawing.Color.White;
            this.grouperCreatedAt.BackgroundGradientMode = Microsoft.WindowsAzure.CAT.ServiceBusExplorer.Grouper.GroupBoxGradientMode.None;
            this.grouperCreatedAt.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.grouperCreatedAt.BorderThickness = 1F;
            this.grouperCreatedAt.Controls.Add(this.txtCreatedAt);
            this.grouperCreatedAt.CustomGroupBoxColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209)))));
            this.grouperCreatedAt.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
            this.grouperCreatedAt.ForeColor = System.Drawing.Color.White;
            this.grouperCreatedAt.GroupImage = null;
            this.grouperCreatedAt.GroupTitle = "Created At";
            this.grouperCreatedAt.Location = new System.Drawing.Point(492, 8);
            this.grouperCreatedAt.Name = "grouperCreatedAt";
            this.grouperCreatedAt.Padding = new System.Windows.Forms.Padding(20);
            this.grouperCreatedAt.PaintGroupBox = true;
            this.grouperCreatedAt.RoundCorners = 4;
            this.grouperCreatedAt.ShadowColor = System.Drawing.Color.DarkGray;
            this.grouperCreatedAt.ShadowControl = false;
            this.grouperCreatedAt.ShadowThickness = 1;
            this.grouperCreatedAt.Size = new System.Drawing.Size(340, 80);
            this.grouperCreatedAt.TabIndex = 1;
            //
            // txtCreatedAt
            //
            this.txtCreatedAt.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
            | System.Windows.Forms.AnchorStyles.Right)));
            this.txtCreatedAt.BackColor = System.Drawing.SystemColors.Window;
            this.txtCreatedAt.Location = new System.Drawing.Point(16, 40);
            this.txtCreatedAt.Name = "txtCreatedAt";
            this.txtCreatedAt.ReadOnly = true;
            this.txtCreatedAt.Size = new System.Drawing.Size(308, 20);
            this.txtCreatedAt.TabIndex = 0;
            //
            // HandleRuleControl
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(215)))), ((int)(((byte)(228)))), ((int)(((byte)(242)))));
            this.Controls.Add(this.grouperCreatedAt);
            this.Controls.Add(this.grouperIsDefault);
            this.Controls.Add(this.grouperAction);
            this.Controls.Add(this.grouperFilter);
            this.Controls.Add(this.grouperName);
            this.Controls.Add(this.btnCancel);
            this.Controls.Add(this.btnCreateDelete);
            this.Name = "HandleRuleControl";
            this.Size = new System.Drawing.Size(968, 400);
            this.Resize += new System.EventHandler(this.HandleRuleControl_Resize);
            this.grouperName.ResumeLayout(false);
            this.grouperName.PerformLayout();
            this.grouperFilter.ResumeLayout(false);
            this.grouperFilter.PerformLayout();
            this.grouperAction.ResumeLayout(false);
            this.grouperAction.PerformLayout();
            this.grouperIsDefault.ResumeLayout(false);
            this.grouperIsDefault.PerformLayout();
            this.grouperCreatedAt.ResumeLayout(false);
            this.grouperCreatedAt.PerformLayout();
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.Button btnCreateDelete;
        private System.Windows.Forms.Button btnCancel;
        private System.Windows.Forms.ToolTip toolTip;
        private Grouper grouperName;
        private System.Windows.Forms.TextBox txtName;
        private Grouper grouperFilter;
        private System.Windows.Forms.TextBox txtSqlFilterExpression;
        private Grouper grouperAction;
        private System.Windows.Forms.TextBox txtSqlFilterAction;
        private Grouper grouperIsDefault;
        private System.Windows.Forms.CheckBox checkBoxDefault;
        private Grouper grouperCreatedAt;
        private System.Windows.Forms.TextBox txtCreatedAt;
    }
}


text:
import math

required_states = ['position', 'direction', 'speed']
required_matrices = []

def run(name, world, matrices, states, *args, **kwargs):
    # Advance 'speed' cells in the given 'direction'
    y,x = states['position']
    d = states['direction']
    s = states['speed']
    sy,sx = world.get_shape()
    sx = float(sx)
    sy = float(sy)
    # Ensure x and y are (float) within 0 and world's shape x/y
    y = (y + s*math.sin(d)) % sy
    x = (x + s*math.cos(d)) % sx
    if y < 0: y += sy
    if x < 0: x += sx
    states['position'] = (y,x)


text:
package com.highstreet.technologies.test.testCase.example;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple TestExampleTest.
 */
public class TestExampleTest
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public TestExampleTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( TestExampleTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}


text:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <plurals name="accessibility_notification_count_description">
        <item quantity="other">%d nye Google+-varsler</item>
        <item quantity="one">%d nytt Google+-varsel</item>
    </plurals>
    <plurals name="accessibility_people_notification_count_description">
        <item quantity="other">%d nye Google+ Folk-varsler</item>
        <item quantity="one">%d nytt Google+ Folk-varsel</item>
    </plurals>
    <plurals name="acl_picker_title_length_other">
        <item quantity="other">%1$s, %2$s og %3$d til</item>
        <item quantity="one">%1$s, %2$s og %3$d til</item>
    </plurals>
    <plurals name="added_to_circle_notification_message">
        <item quantity="other">La til %d personer i kretsene</item>
        <item quantity="one">La til én person i kretsene</item>
    </plurals>
    <plurals name="album_photo_count">
        <item quantity="other">%d bilder</item>
        <item quantity="one">%d bilde</item>
    </plurals>
    <plurals name="animated_gif_count_content_description">
        <item quantity="other">%d animerte GIF-filer.</item>
        <item quantity="one">%d animert GIF-fil.</item>
    </plurals>
    <plurals name="audience_display_selection_count">
        <item quantity="other">%d er markert</item>
        <item quantity="one">%d er markert</item>
    </plurals>
    <plurals name="audience_hidden_user_count">
        <item quantity="other">+ %d andre</item>
        <item quantity="one">+ 1 til</item>
    </plurals>
    <plurals name="auto_backup_photo_count">
        <item quantity="other">%s bilder</item>
        <item quantity="one">%s bilde</item>
    </plurals>
    <plurals name="auto_backup_wait_network">
        <item quantity="other">Venter på nettverkstilkobling (%d i kø)</item>
        <item quantity="one">Venter på nettverkstilkobling (%d i kø)</item>
    </plurals>
    <plurals name="auto_backup_wait_wifi">
        <item quantity="other">Venter på Wi-Fi-tilkobling (%d i kø)</item>
        <item quantity="one">Venter på Wi-Fi-tilkobling (%d i kø)</item>
    </plurals>
    <plurals name="backing_up_photos_count">
        <item quantity="other">Sikkerhetskopierer ...%1$d gjenstår</item>
        <item quantity="one">Sikkerhetskopierer ...%1$d gjenstår</item>
    </plurals>
    <plurals name="circle_button_more_circles">
        <item quantity="other">%d til</item>
        <item quantity="one">%d til</item>
    </plurals>
    <plurals name="circle_count_and_matched_email">
        <item quantity="other">%1$d kretser, %2$s</item>
        <item quantity="one">%1$d krets, %2$s</item>
    </plurals>
    <plurals name="circle_entry_content_description">
        <item quantity="other">%d medlemmer</item>
        <item quantity="one">%d medlem</item>
    </plurals>
    <plurals name="circle_location_sharing_count">
        <item quantity="other">%d personer deler</item>
        <item quantity="one">%d person deler</item>
    </plurals>
    <plurals name="circle_num_members">
        <item quantity="other">%d personer</item>
        <item quantity="one">%d person</item>
    </plurals>
    <plurals name="collexion_source_bar_stream_social_friends_plusoned">
        <item quantity="other">%1$s og %2$d andre ga +1 til dette innlegget i %3$s</item>
        <item quantity="one">%1$s og %2$d annen ga +1 til dette innlegget i %3$s</item>
    </plurals>
    <plurals name="comment_button_with_comments_content_description">
        <item quantity="other">Kommentarknapp med %d kommentarer.</item>
        <item quantity="one">Kommentarknapp med %d kommentar.</item>
    </plurals>
    <plurals name="comments">
        <item quantity="other">%d kommentarer</item>
        <item quantity="one">%d kommentar</item>
    </plurals>
    <plurals name="comments_on_original_post">
        <item quantity="other">Se %d kommentarer til det opprinnelige innlegget</item>
        <item quantity="one">Se én kommentar til det opprinnelige innlegget</item>
    </plurals>
    <plurals name="common_friend_count">
        <item quantity="other">%d til felles</item>
        <item quantity="one">Én til felles</item>
    </plurals>
    <plurals name="copy_photos_confirmation_dialog">
        <item quantity="other">Vil du kopiere de %1$d bildene til %2$s?</item>
        <item quantity="one">Vil du kopiere bildet til %2$s?</item>
    </plurals>
    <plurals name="delete_circles_dialog_message">
        <item quantity="other">Vil du slette disse kretsene for godt?</item>
        <item quantity="one">Vil du slette denne kretsen for godt?</item>
    </plurals>
    <plurals name="delete_circles_dialog_title">
        <item quantity="other">Slett kretsene</item>
        <item quantity="one">Slett kretsen</item>
    </plurals>
    <plurals name="delete_drive_photo_dialog_message">
        <item quantity="other">Bilder fra Google Disk blir fjernet fra Google+, men blir ikke slettet fra Disk.</item>
        <item quantity="one">Originalen blir ikke slettet fra Google Disk.</item>
    </plurals>
    <plurals name="delete_drive_video_dialog_message">
        <item quantity="other">Videoer fra Google Disk blir fjernet fra Google+, men blir ikke slettet fra Disk.</item>
        <item quantity="one">Originalen blir ikke slettet fra Google Disk.</item>
    </plurals>
    <plurals name="delete_duplicate_drive_photo_dialog_message">
        <item quantity="other">Disse bildene blir fjernet fra alle album og delinger. Eventuelle bilder fra Google Disk blir ikke slettet fra Disk.</item>
        <item quantity="one">Dette bildet blir fjernet fra alle album og delinger. Originalen blir ikke slettet fra Google Disk.</item>
    </plurals>
    <plurals name="delete_duplicate_drive_video_dialog_message">
        <item quantity="other">Disse videoene blir fjernet fra alle album og delinger. Eventuelle videoer fra Google Disk blir ikke slettet fra Disk.</item>
        <item quantity="one">Denne videoen blir fjernet fra alle album og delinger. Originalen blir ikke slettet fra Google Disk.</item>
    </plurals>
    <plurals name="delete_duplicate_photo_dialog_message">
        <item quantity="other">Disse bildene blir fjernet fra alle album og delinger</item>
        <item quantity="one">Dette bildet blir fjernet fra alle album og delinger</item>
    </plurals>
    <plurals name="delete_duplicate_video_dialog_message">
        <item quantity="other">Disse videoene blir fjernet fra alle album og delinger</item>
        <item quantity="one">Denne videoen blir fjernet fra alle album og delinger</item>
    </plurals>
    <plurals name="delete_item">
        <item quantity="other">Slett elementene</item>
        <item quantity="one">Slett elementet</item>
    </plurals>
    <plurals name="delete_item_pending">
        <item quantity="other">Sletter elementene …</item>
        <item quantity="one">Sletter elementet …</item>
    </plurals>
    <plurals name="delete_local_and_remote_item_confirmation_dialog_message">
        <item quantity="other">%d av disse elementene er lagret på enheten din. Dette sletter disse elementene fra enheten din for godt. Slettingen kan ikke angres.</item>
        <item quantity="one">%d av disse elementene er lagret på enheten din. Dette sletter dette elemtnet fra enheten din for godt. Slettingen kan ikke angres.</item>
    </plurals>
    <plurals name="delete_local_and_remote_photo_confirmation_dialog_message">
        <item quantity="other">%d av disse bildene er lagret på enheten din. Dette sletter disse bildene fra enheten din for godt. Slettingen kan ikke angres.</item>
        <item quantity="one">%d av disse bildene er lagret på enheten din. Dette sletter dette bildet fra enheten din for godt. Slettingen kan ikke angres.</item>
    </plurals>
    <plurals name="delete_local_and_remote_video_confirmation_dialog_message">
        <item quantity="other">%d av disse videoene er lagret på enheten din. Dette sletter disse videoene fra enheten din for godt. Slettingen kan ikke angres.</item>
        <item quantity="one">%d av disse videoene er lagret på enheten din. Dette sletter denne videoen fra enheten din for godt. Slettingen kan ikke angres.</item>
    </plurals>
    <plurals name="delete_local_item_dialog_message">
        <item quantity="other">Dette fører til at elementene slettes for godt fra enheten din. Slettingen kan ikke angres.</item>
        <item quantity="one">Dette fører til at elementet slettes for godt fra enheten din. Slettingen kan ikke angres.</item>
    </plurals>
    <plurals name="delete_local_photo_dialog_message">
        <item quantity="other">Dette sletter disse bildene fra enheten din for godt. Slettingen kan ikke angres.</item>
        <item quantity="one">Dette sletter dette bildet fra enheten din for godt. Slettingen kan ikke angres.</item>
    </plurals>
    <plurals name="delete_local_video_dialog_message">
        <item quantity="other">Dette sletter disse videoene fra enheten din for godt. Slettingen kan ikke angres.</item>
        <item quantity="one">Dette sletter denne videoen fra enheten din for godt. Slettingen kan ikke angres.</item>
    </plurals>
    <plurals name="delete_photo">
        <item quantity="other">Slett bildene</item>
        <item quantity="one">Slett bildet</item>
    </plurals>
    <plurals name="delete_photo_pending">
        <item quantity="other">Sletter bildene …</item>
        <item quantity="one">Sletter bildet …</item>
    </plurals>
    <plurals name="delete_video">
        <item quantity="other">Slett videoene</item>
        <item quantity="one">Slett videoen</item>
    </plurals>
    <plurals name="delete_video_pending">
        <item quantity="other">Sletter videoene…</item>
        <item quantity="one">Sletter videoen …</item>
    </plurals>
    <plurals name="deselect_photo_dialog_message">
        <item quantity="other">Er du sikker på at du vil oppheve merkingen av disse bildene? Du kommer til å miste alle endringene dine.</item>
        <item quantity="one">Er du sikker på at du vil oppheve merkingen av dette bildet? Du kommer til å miste alle endringene dine.</item>
    </plurals>
    <plurals name="dialog_permanently_delete_items_confirmation_button">
        <item quantity="other">Slett for godt</item>
        <item quantity="one">Slett for godt</item>
    </plurals>
    <plurals name="dialog_remove_items_confirmation_button">
        <item quantity="other">Fjern</item>
        <item quantity="one">Fjern</item>
    </plurals>
    <plurals name="drafts_number_of_deleted_drafts">
        <item quantity="other">Du har slettet %d utkast</item>
        <item quantity="one">Du har slettet %d utkast</item>
    </plurals>
    <plurals name="edit_audience_num_members">
        <item quantity="other">%d personer</item>
        <item quantity="one">%d person</item>
    </plurals>
    <plurals name="event_invitee_other_count">
        <item quantity="other">+ %d gjester</item>
        <item quantity="one">+ %d gjest</item>
    </plurals>
    <plurals name="event_invitee_other_count_total">
        <item quantity="other">%d gjester</item>
        <item quantity="one">%d gjest</item>
    </plurals>
    <plurals name="event_invitee_with_guests">
        <item quantity="other">%1$s (+ %2$d gjester)</item>
        <item quantity="one">%1$s (+ %2$d gjest)</item>
    </plurals>
    <plurals name="find_people_circle_description">
        <item quantity="other">%1$s, krets, %2$d medlemmer</item>
        <item quantity="one">%1$s, krets, %2$d medlem</item>
    </plurals>
    <plurals name="find_people_friends_add_with_count">
        <item quantity="other">%d personer du kan legge til</item>
        <item quantity="one">%d person du kan legge til</item>
    </plurals>
    <plurals name="from_your_phone_selected_count">
        <item quantity="other">%d er markert</item>
        <item quantity="one">%d er markert</item>
    </plurals>
    <plurals name="hoa_event_countdown_days">
        <item quantity="other">%1$d dager</item>
        <item quantity="one">%1$d dag</item>
    </plurals>
    <plurals name="hoa_event_countdown_hours">
        <item quantity="other">%1$d timer</item>
        <item quantity="one">%1$d time</item>
    </plurals>
    <plurals name="hoa_event_countdown_minutes">
        <item quantity="other">%1$d minutter</item>
        <item quantity="one">%1$d minutt</item>
    </plurals>
    <plurals name="ingest_number_of_items_scanned">
        <item quantity="other">%1$d elementer ble skannet</item>
        <item quantity="one">%1$d element ble skannet</item>
    </plurals>
    <plurals name="ingest_number_of_items_selected">
        <item quantity="other">%1$d elementer er markert</item>
        <item quantity="one">%1$d element er markert</item>
    </plurals>
    <plurals name="local_folders_list_n">
        <item quantity="other">%1$s, %2$s, %3$s og %4$d til</item>
        <item quantity="one">%1$s, %2$s, %3$s og %4$d til</item>
    </plurals>
    <plurals name="manual_awesome_selection_toast_fixed">
        <item quantity="other">Velg %1$d bilder</item>
        <item quantity="one">Velg ett bilde</item>
    </plurals>
    <plurals name="manual_awesome_selection_toast_fixed_including_video">
        <item quantity="other">Velg %1$d bilder eller videoer</item>
        <item quantity="one">Velg ett bilde eller én video</item>
    </plurals>
    <plurals name="map_marker_user_count">
        <item quantity="other">%d personer</item>
        <item quantity="one">%d person</item>
    </plurals>
    <plurals name="more_followers_count">
        <item quantity="other">og %d til</item>
        <item quantity="one">og %d til</item>
    </plurals>
    <plurals name="moved_to_trash">
        <item quantity="other">%d ble flyttet til papirkurven</item>
        <item quantity="one">%d ble flyttet til papirkurven</item>
    </plurals>
    <plurals name="new_auto_awesome_movies">
        <item quantity="other">%d nye Supereffekter-filmer</item>
        <item quantity="one">Ny Supereffekter-film</item>
    </plurals>
    <plurals name="notification_autobackup_stalled_quantity_text">
        <item quantity="other">%1$d dager siden forrige sikkerhetskopiering</item>
        <item quantity="one">%1$d dag siden forrige sikkerhetskopiering</item>
    </plurals>
    <plurals name="notification_public_text">
        <item quantity="other">Du har %1$d varsler.</item>
        <item quantity="one">Du har et varsel.</item>
    </plurals>
    <plurals name="notification_sending_posts">
        <item quantity="other">Sender de %d innleggene …</item>
        <item quantity="one">Sender innlegget …</item>
    </plurals>
    <plurals name="notifications_content_text">
        <item quantity="other">%1$s (%2$d)</item>
        <item quantity="one">%1$s (%2$d)</item>
    </plurals>
    <plurals name="notifications_ticker_text">
        <item quantity="other">Nye Google+-varsler</item>
        <item quantity="one">Nytt Google+-varsel</item>
    </plurals>
    <plurals name="one_up_comment_count">
        <item quantity="other">%d kommentarer</item>
        <item quantity="one">%d kommentar</item>
    </plurals>
    <plurals name="people_in_common_count_more">
        <item quantity="other">%1$s, %2$s + %3$d til felles</item>
        <item quantity="one">%1$s, %2$s + %3$d til felles</item>
    </plurals>
    <plurals name="permanent_delete_item_message">
        <item quantity="other">Vil du slette de valgte %d elementene for godt?</item>
        <item quantity="one">Vil du slette dette elementet for godt?</item>
    </plurals>
    <plurals name="permanent_delete_item_pending">
        <item quantity="other">Sletter elementene for godt …</item>
        <item quantity="one">Sletter elementet for godt …</item>
    </plurals>
    <plurals name="permanent_delete_item_title">
        <item quantity="other">Slett elementene for godt</item>
        <item quantity="one">Slett elementet for godt</item>
    </plurals>
    <plurals name="permanent_delete_photo_message">
        <item quantity="other">Vil du slette de valgte %d bildene for godt?</item>
        <item quantity="one">Vil du slette dette bildet for godt?</item>
    </plurals>
    <plurals name="permanent_delete_photo_pending">
        <item quantity="other">Sletter bildene for godt …</item>
        <item quantity="one">Sletter bildet for godt ...</item>
    </plurals>
    <plurals name="permanent_delete_photo_title">
        <item quantity="other">Slett bildene for godt</item>
        <item quantity="one">Slett bildet for godt</item>
    </plurals>
    <plurals name="permanent_delete_video_message">
        <item quantity="other">Vil du slette de valgte %d videoene for godt?</item>
        <item quantity="one">Vil du slette denne videoen for godt?</item>
    </plurals>
    <plurals name="permanent_delete_video_pending">
        <item quantity="other">Sletter videoene for godt …</item>
        <item quantity="one">Sletter videoen for godt …</item>
    </plurals>
    <plurals name="permanent_delete_video_title">
        <item quantity="other">Slett videoene for godt</item>
        <item quantity="one">Slett videoen for godt</item>
    </plurals>
    <plurals name="photo_tile_one_up_plusone_count">
        <item quantity="other">%d personer ga dette +1.</item>
        <item quantity="one">%d person ga dette +1.</item>
    </plurals>
    <plurals name="photo_view_count">
        <item quantity="other">Sett %s ganger</item>
        <item quantity="one">Sett %s gang</item>
    </plurals>
    <plurals name="photos_selected_description">
        <item quantity="other">%1$d elementer er markert</item>
        <item quantity="one">%1$d element er markert</item>
    </plurals>
    <plurals name="plus_one_accessibility_description">
        <item quantity="other">%d pluss én.</item>
        <item quantity="one">%d pluss én.</item>
    </plurals>
    <plurals name="plus_one_people_more_plus_ones">
        <item quantity="other">+ %d andre</item>
        <item quantity="one">+ 1 til</item>
    </plurals>
    <plurals name="plusone_button_with_plusones_content_description">
        <item quantity="other">Pluss én-knapp med %d pluss én-klikk.</item>
        <item quantity="one">Pluss én-knapp med %d pluss én-klikk.</item>
    </plurals>
    <plurals name="poll_card_content_description">
        <item quantity="other">Avstemning med %d alternativer.</item>
        <item quantity="one">Avstemning med %d alternativ.</item>
    </plurals>
    <plurals name="poll_option_image_content_description">
        <item quantity="other">Bilde for alternativ %1$d av %2$d</item>
        <item quantity="one">Bilde for avstemningen</item>
    </plurals>
    <plurals name="poll_vote_count">
        <item quantity="other">%s stemmer</item>
        <item quantity="one">%s stemme</item>
    </plurals>
    <plurals name="poll_vote_count_and_visibility">
        <item quantity="other">%1$s stemmer – stemmene er synlige for %2$s</item>
        <item quantity="one">%1$s stemme – stemmene er synlige for %2$s</item>
    </plurals>
    <plurals name="profile_about_review_summary_total_count">
        <item quantity="other">%s anmeldelser</item>
        <item quantity="one">%s anmeldelse</item>
    </plurals>
    <plurals name="profile_followers">
        <item quantity="other">%s følgere</item>
        <item quantity="one">%s følger</item>
    </plurals>
    <plurals name="profile_views">
        <item quantity="other">Sett %s ganger</item>
        <item quantity="one">Sett %s gang</item>
    </plurals>
    <plurals name="promo_auto_backup_reminder_description">
        <item quantity="other">%1$d bilder og videoer fra tidligere venter på å bli sikkerhetskopiert.</item>
        <item quantity="one">%1$d bilde eller video fra tidligere venter på å bli sikkerhetskopiert.</item>
    </plurals>
    <plurals name="remove_plusone_button_with_plusones_content_description">
        <item quantity="other">Opphev valget av pluss én-knappen med %d pluss én.</item>
        <item quantity="one">Opphev valget av pluss én-knappen med %d pluss én.</item>
    </plurals>
    <plurals name="reshare_button_with_reshares_content_description">
        <item quantity="other">Videresendingsknapp med %d videresendinger.</item>
        <item quantity="one">Videresendingsknapp med %d videresending.</item>
    </plurals>
    <plurals name="reshare_count_description">
        <item quantity="other">%d personer har videresendt dette.</item>
        <item quantity="one">%d person har videresendt dette.</item>
    </plurals>
    <plurals name="restore_item_pending">
        <item quantity="other">Gjenoppretter elementene …</item>
        <item quantity="one">Gjenoppretter elementet …</item>
    </plurals>
    <plurals name="restore_photo_pending">
        <item quantity="other">Gjenoppretter bildene ...</item>
        <item quantity="one">Gjenoppretter bildet ...</item>
    </plurals>
    <plurals name="restore_video_pending">
        <item quantity="other">Gjenoppretter videoene …</item>
        <item quantity="one">Gjenoppretter videoen …</item>
    </plurals>
    <plurals name="riviera_album_media_count">
        <item quantity="other">%d bilder</item>
        <item quantity="one">%d bilde</item>
    </plurals>
    <plurals name="share_photo_count">
        <item quantity="other">%d bilder</item>
        <item quantity="one">%d bilde</item>
    </plurals>
    <plurals name="share_video_count">
        <item quantity="other">%d videoer</item>
        <item quantity="one">%d video</item>
    </plurals>
    <plurals name="sign_out_message">
        <item quantity="other">%d elementer venter på opplasting. Hvis du logger av. avlyses alle ventende opplastinger.</item>
        <item quantity="one">%d element venter på opplasting. Hvis du logger av, avlyses den ventende opplastingen.</item>
    </plurals>
    <plurals name="source_bar_stream_social_friends_community">
        <item quantity="other">%1$s og %2$d til ga dette innlegget +1 i %3$s</item>
        <item quantity="one">%1$s og %2$d til ga dette innlegget +1 i %3$s</item>
    </plurals>
    <plurals name="spaces_follower_count">
        <item quantity="other">%s følgere</item>
        <item quantity="one">%s følger</item>
    </plurals>
    <plurals name="spaces_post_count">
        <item quantity="other">%s innlegg</item>
        <item quantity="one">%s innlegg</item>
    </plurals>
    <plurals name="square_members_count">
        <item quantity="other">%s medlemmer</item>
        <item quantity="one">%s medlem</item>
    </plurals>
    <plurals name="square_promo_members">
        <item quantity="other">%s medlemmer</item>
        <item quantity="one">%s medlem</item>
    </plurals>
    <plurals name="squares_listitem_member_count_content_description">
        <item quantity="other">View %1$s, with %2$s members</item>
        <item quantity="one">View %1$s, with %2$s member</item>
    </plurals>
    <plurals name="squares_listitem_member_count_with_context_content_description">
        <item quantity="other">Se gruppen %1$s, som har %2$s medlemmer</item>
        <item quantity="one">Se gruppen %1$s, som har %2$s medlem</item>
    </plurals>
    <plurals name="squares_listitem_unread_post_count">
        <item quantity="other">%s uleste innlegg</item>
        <item quantity="one">%s ulest innlegg</item>
    </plurals>
    <plurals name="squares_listitem_with_member_count_change_square_visibility_description">
        <item quantity="other">%1$s %2$s Community, som har %3$s medlemmer, på profilen din</item>
        <item quantity="one">%1$s %2$s Community, som har %3$s medlem, på profilen din</item>
    </plurals>
    <plurals name="stream_album_photo_count">
        <item quantity="other">%d BILDER</item>
        <item quantity="one">%d BILDE</item>
    </plurals>
    <plurals name="stream_social_review_embed_review_count">
        <item quantity="other">%d anmeldelser</item>
        <item quantity="one">%d anmeldelse</item>
    </plurals>
    <plurals name="tagged_people">
        <item quantity="other">%d personer er merket</item>
        <item quantity="one">%d person er merket</item>
    </plurals>
</resources>