/* Copyright 2008 (C) Nicira, Inc.
 *
 * This file is part of NOX.
 *
 * NOX is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * NOX is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with NOX.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <cstring>
#include <netinet/in.h>
#include <stdexcept>
#include <stdint.h>
#include <string>

#include <boost/bind.hpp>
#include <boost/foreach.hpp>

#include <tbb/concurrent_hash_map.h>

#include "assert.hh"
#include "component.hh"
#include "vlog.hh"

#include "netinet++/datapathid.hh"
#include "netinet++/ethernetaddr.hh"
#include "netinet++/ethernet.hh"

#include "openflow/openflow-event.hh"
#include "openflow/openflow-datapath-join-event.hh"
#include "openflow/openflow-datapath-leave-event.hh"

using namespace vigil;
using namespace openflow;

namespace
{

Vlog_module lg("switch");

class Switch
    : public Component
{
public:
    Switch(const Component_context* c)
        : Component(c)
    {
        setup_flows = true; // default value
    }

    void configure();

    void install() {}

    Disposition handle_datapath_join(const Event&);
    Disposition handle_datapath_leave(const Event&);
    Disposition handle_packet_in(const Event&);

private:
    struct datapath_hasher {
        static size_t hash(const datapathid& o) {
            return boost::hash_value(o.as_host());
        }
        static bool equal(const datapathid& o1, const datapathid& o2)
        {
            return o1 == o2;
        }
    };
    typedef boost::unordered_map<ethernetaddr, int> mac_table;
    typedef tbb::concurrent_hash_map<datapathid, mac_table, datapath_hasher> mac_table_map;

    mac_table_map mac_tables;

    /* Set up a flow when we know the destination of a packet?  This should
     * ordinarily be true; it is only usefully false for debugging purposes. */
    bool setup_flows;
};

inline void
Switch::configure()
{
    if (ctxt->has("args")) {
        BOOST_FOREACH (const std::string& arg, ctxt->get_config_list("args"))
        {
            if (arg == "noflow")
            {
                setup_flows = false;
            }
            else
            {
                VLOG_WARN(lg, "argument \"%s\" not supported", arg.c_str());
            }
        }
    }
    register_handler("Openflow_datapath_join_event", (boost::bind(&Switch::handle_datapath_join, this, _1)));
    register_handler("Openflow_datapath_leave_event", (boost::bind(&Switch::handle_datapath_leave, this, _1)));
    register_handler("ofp_packet_in", (boost::bind(&Switch::handle_packet_in, this, _1)));
}

inline Disposition
Switch::handle_datapath_join(const Event& e)
{
    auto& dpje = assert_cast<const Openflow_datapath_join_event&>(e);
    mac_tables.insert(std::make_pair(dpje.dp->id(), mac_table()));
    return CONTINUE;
}

inline Disposition
Switch::handle_datapath_leave(const Event& e)
{
    auto& dple = assert_cast<const Openflow_datapath_leave_event&>(e);
    mac_tables.erase(dple.dp->id());
    return CONTINUE;
}

inline Disposition
Switch::handle_packet_in(const Event& e)
{
    auto ofe = assert_cast<const Openflow_event&>(e);
    auto& dp = ofe.dp;
    auto pi = *(assert_cast<const v1::ofp_packet_in*>(ofe.msg));
    int out_port = -1;        // Flood by default

    v1::ofp_match flow;
    flow.from_packet(pi.in_port(), pi.packet());

    // Drop all LLDP packets
    if (flow.dl_type() == ethernet::LLDP)
    {
        return CONTINUE;
    }

    mac_table_map::accessor accessor;
    mac_tables.find(accessor, dp.id());
    auto& mac_table = accessor->second;

    // Learn the source MAC
    if (!flow.dl_src().is_multicast())
    {
        mac_table[flow.dl_src()] = pi.in_port();
    }

    if (!flow.dl_dst().is_multicast())
    {
        auto it = mac_table.find(flow.dl_dst());
        if (it != mac_table.end())
            out_port = it->second;
    }

    // Set up a flow if the output port is known
    if (setup_flows && out_port != -1)
    {
        auto fm = v1::ofp_flow_mod().match(flow).buffer_id(pi.buffer_id())
                   .cookie(0).command(v1::ofp_flow_mod::OFPFC_ADD).idle_timeout(5)
                   .hard_timeout(v1::OFP_FLOW_PERMANENT)
                   .priority(v1::OFP_DEFAULT_PRIORITY);
        auto ao = v1::ofp_action_output().port(out_port);
        fm.add_action(&ao);
        dp.send(&fm);
    }

    // Send out packet if necessary
    if (!setup_flows || out_port == -1 || pi.buffer_id() == UINT32_MAX)
    {
        if (out_port == -1)
            out_port = v1::ofp_phy_port::OFPP_FLOOD;

        auto po = v1::ofp_packet_out().in_port(pi.in_port());
        auto ao = v1::ofp_action_output().port(out_port);
        po.add_action(&ao);

        if (pi.buffer_id() == UINT32_MAX)
        {
            if (pi.total_len() != boost::asio::buffer_size(pi.packet()))
            {
                /* Control path didn't buffer the packet and didn't send us
                 * the whole thing--what gives? */
                VLOG_DBG(lg, "total_len=%u data_len=%zu\n",
                         pi.total_len(), boost::asio::buffer_size(pi.packet()));
                return CONTINUE;
            }
            po.packet(pi.packet());
        }
        else
        {
            po.buffer_id(pi.buffer_id());
        }
        dp.send(&po);
    }
    return CONTINUE;
}

REGISTER_COMPONENT(Simple_component_factory<Switch>, Switch);

} // unnamed namespace

{'repo_name': 'noxrepo/nox', 'stars': '123', 'repo_language': 'C++', 'file_name': 'customdoxygen.css', 'mime_type': 'text/plain', 'hash': 902191114340112723, 'source_dataset': 'data'}


/*
 * Summary: lists interfaces
 * Description: this module implement the list support used in
 * various place in the library.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Gary Pennington <Gary.Pennington@uk.sun.com>
 */

#ifndef __XML_LINK_INCLUDE__
#define __XML_LINK_INCLUDE__

#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef struct _xmlLink xmlLink;
typedef xmlLink *xmlLinkPtr;

typedef struct _xmlList xmlList;
typedef xmlList *xmlListPtr;

/**
 * xmlListDeallocator:
 * @lk:  the data to deallocate
 *
 * Callback function used to free data from a list.
 */
typedef void (*xmlListDeallocator) (xmlLinkPtr lk);
/**
 * xmlListDataCompare:
 * @data0: the first data
 * @data1: the second data
 *
 * Callback function used to compare 2 data.
 *
 * Returns 0 is equality, -1 or 1 otherwise depending on the ordering.
 */
typedef int  (*xmlListDataCompare) (const void *data0, const void *data1);
/**
 * xmlListWalker:
 * @data: the data found in the list
 * @user: extra user provided data to the walker
 *
 * Callback function used when walking a list with xmlListWalk().
 *
 * Returns 0 to stop walking the list, 1 otherwise.
 */
typedef int (*xmlListWalker) (const void *data, const void *user);

/* Creation/Deletion */
XMLPUBFUN xmlListPtr XMLCALL
		xmlListCreate		(xmlListDeallocator deallocator,
	                                 xmlListDataCompare compare);
XMLPUBFUN void XMLCALL
		xmlListDelete		(xmlListPtr l);

/* Basic Operators */
XMLPUBFUN void * XMLCALL
		xmlListSearch		(xmlListPtr l,
					 void *data);
XMLPUBFUN void * XMLCALL
		xmlListReverseSearch	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListInsert		(xmlListPtr l,
					 void *data) ;
XMLPUBFUN int XMLCALL
		xmlListAppend		(xmlListPtr l,
					 void *data) ;
XMLPUBFUN int XMLCALL
		xmlListRemoveFirst	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListRemoveLast	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListRemoveAll	(xmlListPtr l,
					 void *data);
XMLPUBFUN void XMLCALL
		xmlListClear		(xmlListPtr l);
XMLPUBFUN int XMLCALL
		xmlListEmpty		(xmlListPtr l);
XMLPUBFUN xmlLinkPtr XMLCALL
		xmlListFront		(xmlListPtr l);
XMLPUBFUN xmlLinkPtr XMLCALL
		xmlListEnd		(xmlListPtr l);
XMLPUBFUN int XMLCALL
		xmlListSize		(xmlListPtr l);

XMLPUBFUN void XMLCALL
		xmlListPopFront		(xmlListPtr l);
XMLPUBFUN void XMLCALL
		xmlListPopBack		(xmlListPtr l);
XMLPUBFUN int XMLCALL
		xmlListPushFront	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListPushBack		(xmlListPtr l,
					 void *data);

/* Advanced Operators */
XMLPUBFUN void XMLCALL
		xmlListReverse		(xmlListPtr l);
XMLPUBFUN void XMLCALL
		xmlListSort		(xmlListPtr l);
XMLPUBFUN void XMLCALL
		xmlListWalk		(xmlListPtr l,
					 xmlListWalker walker,
					 const void *user);
XMLPUBFUN void XMLCALL
		xmlListReverseWalk	(xmlListPtr l,
					 xmlListWalker walker,
					 const void *user);
XMLPUBFUN void XMLCALL
		xmlListMerge		(xmlListPtr l1,
					 xmlListPtr l2);
XMLPUBFUN xmlListPtr XMLCALL
		xmlListDup		(const xmlListPtr old);
XMLPUBFUN int XMLCALL
		xmlListCopy		(xmlListPtr cur,
					 const xmlListPtr old);
/* Link operators */
XMLPUBFUN void * XMLCALL
		xmlLinkGetData          (xmlLinkPtr lk);

/* xmlListUnique() */
/* xmlListSwap */

#ifdef __cplusplus
}
#endif

#endif /* __XML_LINK_INCLUDE__ */

{'repo_name': 'BeyondTrust/pbis-open', 'stars': '280', 'repo_language': 'C', 'file_name': 'com_err.h', 'mime_type': 'text/x-c', 'hash': -8353004026862601479, 'source_dataset': 'data'}


/*
Copyright 2018 The Kubernetes Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package v1

import (
	authenticationv1 "k8s.io/api/authentication/v1"
)

// The ServiceAccountExpansion interface allows manually adding extra methods
// to the ServiceAccountInterface.
type ServiceAccountExpansion interface {
	CreateToken(name string, tr *authenticationv1.TokenRequest) (*authenticationv1.TokenRequest, error)
}

// CreateToken creates a new token for a serviceaccount.
func (c *serviceAccounts) CreateToken(name string, tr *authenticationv1.TokenRequest) (*authenticationv1.TokenRequest, error) {
	result := &authenticationv1.TokenRequest{}
	err := c.client.Post().
		Namespace(c.ns).
		Resource("serviceaccounts").
		SubResource("token").
		Name(name).
		Body(tr).
		Do().
		Into(result)
	return result, err
}

{'repo_name': 'amazon-archives/aws-service-operator', 'stars': '747', 'repo_language': 'Go', 'file_name': 'PATENTS', 'mime_type': 'text/plain', 'hash': -5026148013335621566, 'source_dataset': 'data'}


http-error-pages

Simple HTTP Error Pages. standalone + static + koa + express

node bin/generator.js static docs/config.json --out=docs

node bin/generator.js static config-dist.json --out=dist; tar -cf dist/pages.tar dist/*.html

http https error errorpage express expressjs router handler

{'repo_name': 'HttpErrorPages/HttpErrorPages', 'stars': '717', 'repo_language': 'JavaScript', 'file_name': 'pages-en_US.json', 'mime_type': 'text/plain', 'hash': 1412647970514361600, 'source_dataset': 'data'}


<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ ***** BEGIN LICENSE BLOCK *****
  ~ Version: MPL 1.1/GPL 2.0/LGPL 2.1
  ~
  ~ The contents of this file are subject to the Mozilla Public License Version
  ~ 1.1 (the "License"); you may not use this file except in compliance with
  ~ the License. You may obtain a copy of the License at
  ~ http://www.mozilla.org/MPL/
  ~
  ~ Software distributed under the License is distributed on an "AS IS" basis,
  ~ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  ~ for the specific language governing rights and limitations under the
  ~ License.
  ~
  ~ The Original Code is part of dcm4che, an implementation of DICOM(TM) in
  ~ Java(TM), hosted at https://github.com/dcm4che.
  ~
  ~ The Initial Developer of the Original Code is
  ~ J4Care.
  ~ Portions created by the Initial Developer are Copyright (C) 2015-2019
  ~ the Initial Developer. All Rights Reserved.
  ~
  ~ Contributor(s):
  ~ See @authors listed below
  ~
  ~ Alternatively, the contents of this file may be used under the terms of
  ~ either the GNU General Public License Version 2 or later (the "GPL"), or
  ~ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  ~ in which case the provisions of the GPL or the LGPL are applicable instead
  ~ of those above. If you wish to allow use of your version of this file only
  ~ under the terms of either the GPL or the LGPL, and not to allow others to
  ~ use your version of this file under the terms of the MPL, indicate your
  ~ decision by deleting the provisions above and replace them with the notice
  ~ and other provisions required by the GPL or the LGPL. If you do not delete
  ~ the provisions above, a recipient may use your version of this file under
  ~ the terms of any one of the MPL, the GPL or the LGPL.
  ~
  ~ ***** END LICENSE BLOCK *****
  ~
  -->

<elements>
  <el tag="0011xx11" keyword="_0011_xx11_" vr="SH" vm="1">?</el>

  <el tag="0019xxA0" keyword="_0019_xxA0_" vr="SQ" vm="1">?</el>
  <el tag="0019xxA1" keyword="_0019_xxA1_" vr="FL" vm="1">?</el>
  <el tag="0019xxA2" keyword="_0019_xxA2_" vr="FL" vm="1">?</el>
  <el tag="0019xxA3" keyword="_0019_xxA3_" vr="FL" vm="1">?</el>
  <el tag="0019xxA4" keyword="_0019_xxA4_" vr="FL" vm="1">?</el>

  <el tag="0071xx18" keyword="_0071_xx18_" vr="SQ" vm="1">?</el>
  <el tag="0071xx19" keyword="_0071_xx19_" vr="SQ" vm="1">?</el>
  <el tag="0071xx1A" keyword="_0071_xx1A_" vr="SQ" vm="1">?</el>
  <el tag="0071xx1C" keyword="_0071_xx1C_" vr="SQ" vm="1">?</el>
  <el tag="0071xx1E" keyword="_0071_xx1E_" vr="SQ" vm="1">?</el>
  <el tag="0071xx20" keyword="_0071_xx20_" vr="FL" vm="1-n">?</el>
  <el tag="0071xx21" keyword="_0071_xx21_" vr="FD" vm="1-n">?</el>
  <el tag="0071xx22" keyword="_0071_xx22_" vr="FD" vm="1-n">?</el>
  <el tag="0071xx23" keyword="_0071_xx23_" vr="FD" vm="1-n">?</el>
  <el tag="0071xx24" keyword="_0071_xx24_" vr="FD" vm="1">?</el>
  <el tag="0071xx2B" keyword="_0071_xx2B_" vr="FD" vm="1-n">?</el>
  <el tag="0071xx2C" keyword="_0071_xx2C_" vr="FD" vm="3">?</el>
  <el tag="0071xx2D" keyword="_0071_xx2D_" vr="FD" vm="1">?</el>

  <el tag="0073xx23" keyword="_0073_xx23_" vr="SH" vm="1">?</el>
  <el tag="0073xx24" keyword="_0073_xx24_" vr="SQ" vm="1">?</el>
  <el tag="0073xx28" keyword="_0073_xx28_" vr="SQ" vm="1">?</el>
  <el tag="0073xx80" keyword="_0073_xx80_" vr="FL" vm="1">?</el>

  <el tag="0075xx10" keyword="_0075_xx10_" vr="LO" vm="1">?</el>

  <el tag="0087xx01" keyword="_0087_xx01_" vr="LO" vm="1">?</el>
  <el tag="0087xx02" keyword="_0087_xx02_" vr="LO" vm="1">?</el>
  <el tag="0087xx03" keyword="_0087_xx03_" vr="SL" vm="2">?</el>
  <el tag="0087xx04" keyword="_0087_xx04_" vr="SL" vm="2">?</el>
  <el tag="0087xx05" keyword="_0087_xx05_" vr="FD" vm="2">?</el>
  <el tag="0087xx06" keyword="_0087_xx06_" vr="FD" vm="2">?</el>
  <el tag="0087xx07" keyword="_0087_xx07_" vr="FD" vm="2">?</el>
  <el tag="0087xx08" keyword="_0087_xx08_" vr="FD" vm="2">?</el>

</elements>

{'repo_name': 'dcm4che/dcm4che', 'stars': '637', 'repo_language': 'Java', 'file_name': 'ImageReaderExtension.java', 'mime_type': 'text/x-java', 'hash': -2917405783099696833, 'source_dataset': 'data'}


/*
 * Copyright MapStruct Authors.
 *
 * Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
 */
package org.mapstruct.ap.internal.model.common;

import static org.assertj.core.api.Assertions.assertThat;

import java.lang.annotation.Annotation;
import java.time.ZonedDateTime;
import java.util.HashMap;
import java.util.List;

import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.AnnotationValue;
import javax.lang.model.element.Element;
import javax.lang.model.type.TypeKind;
import javax.lang.model.type.TypeMirror;
import javax.lang.model.type.TypeVisitor;
import javax.tools.Diagnostic;

import org.junit.Test;
import org.mapstruct.ap.internal.util.FormattingMessager;
import org.mapstruct.ap.internal.util.Message;
import org.mapstruct.ap.testutil.IssueKey;

/**
 * Testing DefaultConversionContext for dateFormat
 *
 * @author Timo Eckhardt
 */
@IssueKey( "224" )
public class DefaultConversionContextTest {

    private TypeMirror voidTypeMirror = new TypeMirror() {

        @Override
        public List<? extends AnnotationMirror> getAnnotationMirrors() {
            return null;
        }

        @Override
        public <A extends Annotation> A getAnnotation(Class<A> annotationType) {
            return null;
        }

        @Override
        public <A extends Annotation> A[] getAnnotationsByType(Class<A> annotationType) {
            return null;
        }

        @Override
        public TypeKind getKind() {
            return TypeKind.VOID;
        }

        @Override
        public <R, P> R accept(TypeVisitor<R, P> v, P p) {
            return null;
        }
    };

    @Test
    public void testInvalidDateFormatValidation() {
        Type type = typeWithFQN( ZonedDateTime.class.getCanonicalName() );
        StatefulMessagerMock statefulMessagerMock = new StatefulMessagerMock();
        new DefaultConversionContext(
            null,
            statefulMessagerMock,
            type,
            type,
            new FormattingParameters( "qwertz", null, null, null, null )
        );
        assertThat( statefulMessagerMock.getLastKindPrinted() ).isEqualTo( Diagnostic.Kind.ERROR );
    }

    @Test
    public void testNullDateFormatValidation() {
        Type type = typeWithFQN( ZonedDateTime.class.getCanonicalName() );
        StatefulMessagerMock statefulMessagerMock = new StatefulMessagerMock();
        new DefaultConversionContext(
            null,
            statefulMessagerMock,
            type,
            type,
            new FormattingParameters( null, null, null, null, null )
        );
        assertThat( statefulMessagerMock.getLastKindPrinted() ).isNull();
    }

    @Test
    public void testUnsupportedType() {
        Type type = typeWithFQN( "java.lang.String" );
        StatefulMessagerMock statefulMessagerMock = new StatefulMessagerMock();
        new DefaultConversionContext( null,
            statefulMessagerMock,
            type,
            type,
            new FormattingParameters( "qwertz", null, null, null, null )
        );
        assertThat( statefulMessagerMock.getLastKindPrinted() ).isNull();
    }

    private Type typeWithFQN(String fullQualifiedName) {
        return new Type(
                        null,
                        null,
                        null,
                        null,
                        voidTypeMirror,
                        null,
                        null,
                        null,
                        null,
                        null,
                        null,
                        fullQualifiedName,
                        false,
                        false,
                        false,
                        false,
                        false,
                        false,
            new HashMap<>(  ),
            new HashMap<>(  ),
                        false,
                        false, false
        );
    }

    private static class StatefulMessagerMock implements FormattingMessager {

        private Diagnostic.Kind lastKindPrinted;

        @Override
        public void printMessage(Message msg, Object... arg) {
            throw new UnsupportedOperationException( "Should not be called" );
        }

        @Override
        public void printMessage(Element e, Message msg, Object... arg) {
            throw new UnsupportedOperationException( "Should not be called" );
        }

        @Override
        public void printMessage(Element e, AnnotationMirror a, Message msg, Object... arg) {
            throw new UnsupportedOperationException( "Should not be called" );
        }

        @Override
        public void printMessage(Element e, AnnotationMirror a, AnnotationValue v, Message msg, Object... arg) {
            lastKindPrinted = msg.getDiagnosticKind();
        }

        @Override
        public void note(int level, Message msg, Object... args) {
            throw new UnsupportedOperationException( "Should not be called" );
        }

        public Diagnostic.Kind getLastKindPrinted() {
            return lastKindPrinted;
        }

        @Override
        public boolean isErroneous() {
            return false;
        }
    }
}

{'repo_name': 'mapstruct/mapstruct', 'stars': '2790', 'repo_language': 'Java', 'file_name': 'pom.xml', 'mime_type': 'text/xml', 'hash': -265297688306779329, 'source_dataset': 'data'}


import { hasType } from './lib/has-type';

/**
 * Asserts that ${value} is a function using async/await syntax.
 * @param value async () => { await fetch('...') }
 * @matcherName toBeAsyncFunction
 * @memberMatcherName toHaveAsyncFunction
 * @matcherMessage expected ${value} to be a `Function` using async/await syntax
 * @matcherNotMessage expected ${value} not to be a function using async/await
 * syntax
 */
export const isAsyncFunction = hasType<(...args: any[]) => Promise<any>>('AsyncFunction');

{'repo_name': 'JamieMason/expect-more', 'stars': '115', 'repo_language': 'TypeScript', 'file_name': 'negative.ts', 'mime_type': 'text/x-java', 'hash': 9148523018584873901, 'source_dataset': 'data'}


// File created from ../../../src/lib/asiodns/asiodns_messages.mes on Mon Jun 22 2020 17:20

#include <cstddef>
#include <log/message_types.h>
#include <log/message_initializer.h>

namespace isc {
namespace asiodns {

extern const isc::log::MessageID ASIODNS_FD_ADD_TCP = "ASIODNS_FD_ADD_TCP";
extern const isc::log::MessageID ASIODNS_FD_ADD_UDP = "ASIODNS_FD_ADD_UDP";
extern const isc::log::MessageID ASIODNS_FETCH_COMPLETED = "ASIODNS_FETCH_COMPLETED";
extern const isc::log::MessageID ASIODNS_FETCH_STOPPED = "ASIODNS_FETCH_STOPPED";
extern const isc::log::MessageID ASIODNS_OPEN_SOCKET = "ASIODNS_OPEN_SOCKET";
extern const isc::log::MessageID ASIODNS_READ_DATA = "ASIODNS_READ_DATA";
extern const isc::log::MessageID ASIODNS_READ_TIMEOUT = "ASIODNS_READ_TIMEOUT";
extern const isc::log::MessageID ASIODNS_SEND_DATA = "ASIODNS_SEND_DATA";
extern const isc::log::MessageID ASIODNS_SYNC_UDP_CLOSE_FAIL = "ASIODNS_SYNC_UDP_CLOSE_FAIL";
extern const isc::log::MessageID ASIODNS_TCP_ACCEPT_FAIL = "ASIODNS_TCP_ACCEPT_FAIL";
extern const isc::log::MessageID ASIODNS_TCP_CLEANUP_CLOSE_FAIL = "ASIODNS_TCP_CLEANUP_CLOSE_FAIL";
extern const isc::log::MessageID ASIODNS_TCP_CLOSE_ACCEPTOR_FAIL = "ASIODNS_TCP_CLOSE_ACCEPTOR_FAIL";
extern const isc::log::MessageID ASIODNS_TCP_CLOSE_FAIL = "ASIODNS_TCP_CLOSE_FAIL";
extern const isc::log::MessageID ASIODNS_TCP_CLOSE_NORESP_FAIL = "ASIODNS_TCP_CLOSE_NORESP_FAIL";
extern const isc::log::MessageID ASIODNS_TCP_GETREMOTE_FAIL = "ASIODNS_TCP_GETREMOTE_FAIL";
extern const isc::log::MessageID ASIODNS_TCP_READDATA_FAIL = "ASIODNS_TCP_READDATA_FAIL";
extern const isc::log::MessageID ASIODNS_TCP_READLEN_FAIL = "ASIODNS_TCP_READLEN_FAIL";
extern const isc::log::MessageID ASIODNS_TCP_WRITE_FAIL = "ASIODNS_TCP_WRITE_FAIL";
extern const isc::log::MessageID ASIODNS_UDP_ASYNC_SEND_FAIL = "ASIODNS_UDP_ASYNC_SEND_FAIL";
extern const isc::log::MessageID ASIODNS_UDP_CLOSE_FAIL = "ASIODNS_UDP_CLOSE_FAIL";
extern const isc::log::MessageID ASIODNS_UDP_RECEIVE_FAIL = "ASIODNS_UDP_RECEIVE_FAIL";
extern const isc::log::MessageID ASIODNS_UDP_SYNC_RECEIVE_FAIL = "ASIODNS_UDP_SYNC_RECEIVE_FAIL";
extern const isc::log::MessageID ASIODNS_UDP_SYNC_SEND_FAIL = "ASIODNS_UDP_SYNC_SEND_FAIL";
extern const isc::log::MessageID ASIODNS_UNKNOWN_ORIGIN = "ASIODNS_UNKNOWN_ORIGIN";
extern const isc::log::MessageID ASIODNS_UNKNOWN_RESULT = "ASIODNS_UNKNOWN_RESULT";

} // namespace asiodns
} // namespace isc

namespace {

const char* values[] = {
    "ASIODNS_FD_ADD_TCP", "adding a new TCP server by opened fd %1",
    "ASIODNS_FD_ADD_UDP", "adding a new UDP server by opened fd %1",
    "ASIODNS_FETCH_COMPLETED", "upstream fetch to %1(%2) has now completed",
    "ASIODNS_FETCH_STOPPED", "upstream fetch to %1(%2) has been stopped",
    "ASIODNS_OPEN_SOCKET", "error %1 opening %2 socket to %3(%4)",
    "ASIODNS_READ_DATA", "error %1 reading %2 data from %3(%4)",
    "ASIODNS_READ_TIMEOUT", "receive timeout while waiting for data from %1(%2)",
    "ASIODNS_SEND_DATA", "error %1 sending data using %2 to %3(%4)",
    "ASIODNS_SYNC_UDP_CLOSE_FAIL", "failed to close a DNS/UDP socket: %1",
    "ASIODNS_TCP_ACCEPT_FAIL", "failed to accept TCP DNS connection: %1",
    "ASIODNS_TCP_CLEANUP_CLOSE_FAIL", "failed to close a DNS/TCP socket on port cleanup: %1",
    "ASIODNS_TCP_CLOSE_ACCEPTOR_FAIL", "failed to close listening TCP socket: %1",
    "ASIODNS_TCP_CLOSE_FAIL", "failed to close DNS/TCP socket with a client: %1",
    "ASIODNS_TCP_CLOSE_NORESP_FAIL", "failed to close DNS/TCP socket with a client: %1",
    "ASIODNS_TCP_GETREMOTE_FAIL", "failed to get remote address of a DNS TCP connection: %1",
    "ASIODNS_TCP_READDATA_FAIL", "failed to get DNS data on a TCP socket: %1",
    "ASIODNS_TCP_READLEN_FAIL", "failed to get DNS data length on a TCP socket: %1",
    "ASIODNS_TCP_WRITE_FAIL", "failed to send DNS message over a TCP socket: %1",
    "ASIODNS_UDP_ASYNC_SEND_FAIL", "Error sending UDP packet to %1: %2",
    "ASIODNS_UDP_CLOSE_FAIL", "failed to close a DNS/UDP socket: %1",
    "ASIODNS_UDP_RECEIVE_FAIL", "failed to receive UDP DNS packet: %1",
    "ASIODNS_UDP_SYNC_RECEIVE_FAIL", "failed to receive UDP DNS packet: %1",
    "ASIODNS_UDP_SYNC_SEND_FAIL", "Error sending UDP packet to %1: %2",
    "ASIODNS_UNKNOWN_ORIGIN", "unknown origin for ASIO error code %1 (protocol: %2, address %3)",
    "ASIODNS_UNKNOWN_RESULT", "unknown result (%1) when IOFetch::stop() was executed for I/O to %2(%3)",
    NULL
};

const isc::log::MessageInitializer initializer(values);

} // Anonymous namespace

{'repo_name': 'isc-projects/kea', 'stars': '211', 'repo_language': 'C++', 'file_name': 'kea-dhcp4.8.rst', 'mime_type': 'text/plain', 'hash': -7777896047355713384, 'source_dataset': 'data'}


package com.example.qrcode.decode;

/**
 * Created by yangyu on 17/10/18.
 */

import android.os.Handler;
import android.os.Looper;

import com.example.qrcode.ScannerActivity;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.DecodeHintType;

import java.util.Collection;
import java.util.EnumMap;
import java.util.Map;
import java.util.concurrent.CountDownLatch;

/**
 * This thread does all the heavy lifting of decoding the images.
 *
 * @author dswitkin@google.com (Daniel Switkin)
 */
final class DecodeThread extends Thread {

    private final ScannerActivity activity;
    private final Map<DecodeHintType, Object> hints;
    private Handler handler;
    private final CountDownLatch handlerInitLatch;

    DecodeThread(ScannerActivity activity,
                 Collection<BarcodeFormat> decodeFormats,
                 String characterSet
    ) {
        this.activity = activity;
        handlerInitLatch = new CountDownLatch(1);
        hints = new EnumMap<>(DecodeHintType.class);
        hints.put(DecodeHintType.POSSIBLE_FORMATS, decodeFormats);
        if (characterSet != null) {
            hints.put(DecodeHintType.CHARACTER_SET, characterSet);
        }
        hints.put(DecodeHintType.TRY_HARDER, true);
    }

    Handler getHandler() {
        try {
            handlerInitLatch.await();
        } catch (InterruptedException ie) {

        }
        return handler;
    }

    @Override
    public void run() {
        Looper.prepare();
        handler = new DecodeHandler(activity, hints);
        handlerInitLatch.countDown();
        Looper.loop();
    }

}

{'repo_name': 'MRYangY/YZxing', 'stars': '146', 'repo_language': 'Java', 'file_name': 'ExampleUnitTest.java', 'mime_type': 'text/html', 'hash': 4052311291488772307, 'source_dataset': 'data'}


<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
namespace Magento\Backend\Block\Dashboard\Searches\Renderer;

/**
 * Dashboard search query column renderer
 * @api
 * @since 100.0.2
 */
class Searchquery extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\AbstractRenderer
{
    /**
     * String helper
     *
     * @var \Magento\Framework\Stdlib\StringUtils
     */
    protected $stringHelper;

    /**
     * @param \Magento\Backend\Block\Context $context
     * @param \Magento\Framework\Stdlib\StringUtils $stringHelper
     * @param array $data
     */
    public function __construct(
        \Magento\Backend\Block\Context $context,
        \Magento\Framework\Stdlib\StringUtils $stringHelper,
        array $data = []
    ) {
        $this->stringHelper = $stringHelper;
        parent::__construct($context, $data);
    }

    /**
     * Renders a column
     *
     * @param   \Magento\Framework\DataObject $row
     * @return  string
     */
    public function render(\Magento\Framework\DataObject $row)
    {
        $value = $row->getData($this->getColumn()->getIndex());
        if ($this->stringHelper->strlen($value) > 30) {
            $value = 'escapeHtml(
                $value
            ) . '">' . $this->escapeHtml(
                $this->filterManager->truncate($value, ['length' => 30])
            ) . '';
        } else {
            $value = $this->escapeHtml($value);
        }
        return $value;
    }
}

{'repo_name': 'magento/magento2', 'stars': '8767', 'repo_language': 'PHP', 'file_name': 'report.phtml', 'mime_type': 'text/x-php', 'hash': 8302406914501980358, 'source_dataset': 'data'}


package com.huawei.zxing.oned.rss.expanded.decoders;

/* access modifiers changed from: package-private */
public final class CurrentParsingState {
    private State encoding = State.NUMERIC;
    private int position = 0;

    /* access modifiers changed from: private */
    public enum State {
        NUMERIC,
        ALPHA,
        ISO_IEC_646
    }

    CurrentParsingState() {
    }

    /* access modifiers changed from: package-private */
    public int getPosition() {
        return this.position;
    }

    /* access modifiers changed from: package-private */
    public void setPosition(int position2) {
        this.position = position2;
    }

    /* access modifiers changed from: package-private */
    public void incrementPosition(int delta) {
        this.position += delta;
    }

    /* access modifiers changed from: package-private */
    public boolean isAlpha() {
        return this.encoding == State.ALPHA;
    }

    /* access modifiers changed from: package-private */
    public boolean isNumeric() {
        return this.encoding == State.NUMERIC;
    }

    /* access modifiers changed from: package-private */
    public boolean isIsoIec646() {
        return this.encoding == State.ISO_IEC_646;
    }

    /* access modifiers changed from: package-private */
    public void setNumeric() {
        this.encoding = State.NUMERIC;
    }

    /* access modifiers changed from: package-private */
    public void setAlpha() {
        this.encoding = State.ALPHA;
    }

    /* access modifiers changed from: package-private */
    public void setIsoIec646() {
        this.encoding = State.ISO_IEC_646;
    }
}

{'repo_name': 'dstmath/HWFramework', 'stars': '120', 'repo_language': 'Java', 'file_name': 'UCharacter.java', 'mime_type': 'text/x-java', 'hash': -1453695829445030681, 'source_dataset': 'data'}


<?php
/**
 * Copyright (c) UNA, Inc - https://una.io
 * MIT License - https://opensource.org/licenses/MIT
 */

$aConfig = array(
    /**
     * Main Section.
     */
    'title' => 'Timeline',
    'version_from' => '11.0.4',
    'version_to' => '11.0.5',
    'vendor' => 'BoonEx',

    'compatible_with' => array(
        '11.0.2'
    ),

    /**
     * 'home_dir' and 'home_uri' - should be unique. Don't use spaces in 'home_uri' and the other special chars.
     */
    'home_dir' => 'boonex/timeline/updates/update_11.0.4_11.0.5/',
    'home_uri' => 'timeline_update_1104_1105',

    'module_dir' => 'boonex/timeline/',
    'module_uri' => 'timeline',

    'db_prefix' => 'bx_timeline_',
    'class_prefix' => 'BxTimeline',

    /**
     * Installation/Uninstallation Section.
     */
    'install' => array(
        'execute_sql' => 1,
        'update_files' => 1,
        'update_languages' => 0,
        'clear_db_cache' => 1,
    ),

    /**
     * Category for language keys.
     */
    'language_category' => 'Timeline',

    /**
     * Files Section
     */
    'delete_files' => array(),
);

{'repo_name': 'unaio/una', 'stars': '147', 'repo_language': 'PHP', 'file_name': 'ru.xml', 'mime_type': 'text/xml', 'hash': -425216362437654493, 'source_dataset': 'data'}


#ifndef __MATH_H__
#define __MATH_H__

#define M_PI 3.141592653589793238462643

double sin(double x);
double cos(double x);

#endif

{'repo_name': 'JcZou/StarryPilot', 'stars': '215', 'repo_language': 'C', 'file_name': 'log_parse.prj', 'mime_type': 'text/plain', 'hash': -7947902050460699881, 'source_dataset': 'data'}


var convert = require('./convert'),
    func = convert('overArgs', require('../overArgs'));

func.placeholder = require('./placeholder');
module.exports = func;

{'repo_name': 'Aaaaaaaty/blog', 'stars': '1639', 'repo_language': 'JavaScript', 'file_name': 'server.js', 'mime_type': 'text/plain', 'hash': -1190763110963750718, 'source_dataset': 'data'}


/*
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
 *
 * The contents of this file are subject to the terms of either the GNU
 * General Public License Version 2 only ("GPL") or the Common Development
 * and Distribution License("CDDL") (collectively, the "License").  You
 * may not use this file except in compliance with the License.  You can
 * obtain a copy of the License at
 * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
 * or packager/legal/LICENSE.txt.  See the License for the specific
 * language governing permissions and limitations under the License.
 *
 * When distributing the software, include this License Header Notice in each
 * file and include the License file at packager/legal/LICENSE.txt.
 *
 * GPL Classpath Exception:
 * Oracle designates this particular file as subject to the "Classpath"
 * exception as provided by Oracle in the GPL Version 2 section of the License
 * file that accompanied this code.
 *
 * Modifications:
 * If applicable, add the following below the License Header, with the fields
 * enclosed by brackets [] replaced by your own identifying information:
 * "Portions Copyright [year] [name of copyright owner]"
 *
 * Contributor(s):
 * If you wish your version of this file to be governed by only the CDDL or
 * only the GPL Version 2, indicate your decision by adding "[Contributor]
 * elects to include this software in this distribution under the [CDDL or GPL
 * Version 2] license."  If you don't indicate a single choice of license, a
 * recipient has the option to distribute your version of this file under
 * either the CDDL, the GPL Version 2 or to extend the choice of license to
 * its licensees as provided above.  However, if you add GPL Version 2 code
 * and therefore, elected the GPL Version 2 license, then the option applies
 * only if the new code is made subject to such option by the copyright
 * holder.
 */

/*
 * MappingRelationshipElement.java
 *
 * Created on March 3, 2000, 1:11 PM
 */

package com.sun.jdo.api.persistence.model.mapping;

import java.util.ArrayList;

import org.netbeans.modules.dbschema.ColumnPairElement;

import com.sun.jdo.api.persistence.model.ModelException;

/**
 * This is a specialized field element which represents a relationship
 * between two classes.  The mapping portion should be set up as follows:
 * When mapping a non-join table relationship, call the {@link #addColumn}
 * method once with each pair of columns between the local table and the
 * foreign table.  When mapping a join table relationship, call the
 * {@link #addLocalColumn} once for each pair of columns between the
 * local table and the join table and {@link #addAssociatedColumn} once for
 * each pair of columns between the join table and the foreign table.
 * Note that the number of pairs (local and associated) may differ and that
 * the order of adding them (local first or associated first) is not
 * important.
 *
 * @author Mark Munro
 * @author Rochelle Raccah
 * @version %I%
 */
public interface MappingRelationshipElement extends MappingFieldElement
{
	//=================== column handling for join tables ====================

	/** Returns the list of associated column names to which this
	 * mapping field is mapped.  This is used for join tables.
	 * @return the names of the columns mapped by this mapping field
	 * @see MappingFieldElement#getColumns
	 */
	public ArrayList getAssociatedColumns ();

	/** Adds a column to the list of columns mapped by this mapping field.
	 * Call this method instead of addColumn when mapping join
	 * tables.  This method is used to map between the local column and the
	 * join table, while addAssociatedColumn is used to
	 * map between the join table and the foreign table.
	 * @param column foreign column element to be added to the mapping
	 * @exception ModelException if impossible
	 * @see MappingFieldElement#addColumn
	 * @see #addAssociatedColumn
	 */
	public void addLocalColumn (ColumnPairElement column) throws ModelException;

	/** Adds a column to the list of associated columns mapped by this mapping
	 * field.  Call this method instead of addColumn when mapping
	 * join tables.  This method is used to map between the join table column
	 * and the foreign table column, while addLocalColumn is used
	 * to map between the local table and the join table.
	 * @param column foreign column element to be added to the mapping
	 * @exception ModelException if impossible
	 * @see MappingFieldElement#addColumn
	 * @see #addLocalColumn
	 */
	public void addAssociatedColumn (ColumnPairElement column)
		throws ModelException;
}

{'repo_name': 'payara/Payara', 'stars': '745', 'repo_language': 'Java', 'file_name': 'pom.xml', 'mime_type': 'text/xml', 'hash': 5648392724899818449, 'source_dataset': 'data'}


<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
  <file datatype="xml" source-language="en" target-language="ru" original="../Resources.resx">
    <body>
      <trans-unit id="EnvironmentVariableIsNotAlistOfUrlPairs">
        <source>The value of environment variable {0} is not a well-formed list of URL pairs: '{1}'"</source>
        <target state="translated">Значение переменной среды {0} не является списком пар URL в корректном формате: "{1}"</target>
        <note />
      </trans-unit>
      <trans-unit id="ValueOfWithIdentityIsInvalid">
        <source>The value of {0} with identity '{1}' is invalid: '{2}'"</source>
        <target state="translated">Значение {0} с идентификатором "{1}" недопустимо: "{2}"</target>
        <note />
      </trans-unit>
      <trans-unit id="ValueOfWithIdentityIsNotValidCommitHash">
        <source>The value of {0} with identity '{1}' is not a valid commit hash: '{2}'"</source>
        <target state="translated">Значение {0} с идентификатором "{1}" не является допустимым хэш-кодом фиксации: "{2}"</target>
        <note />
      </trans-unit>
      <trans-unit id="ValuePassedToTaskParameterNotValidDomainName">
        <source>The value passed to task parameter {0} is not a valid domain name: '{1}'</source>
        <target state="translated">Значение, передаваемое параметру задачи {0}, не является допустимым доменным именем: "{1}"</target>
        <note />
      </trans-unit>
    </body>
  </file>
</xliff>

{'repo_name': 'dotnet/sourcelink', 'stars': '680', 'repo_language': 'C#', 'file_name': 'packages.config', 'mime_type': 'text/xml', 'hash': 1278835657197151785, 'source_dataset': 'data'}


package org.stjs.generator.javac;

/**
 * An implementation of the ErrorHandler interface can be registered with the ErrorReporter class to change the default
 * behavior on errors.
 *
 * @author acraciun
 * @version $Id: $Id
 */
public interface ErrorHandler {

	/**
	 * Log an error message and abort processing.
	 *
	 * @param msg
	 *            The error message to log.
	 */
	void errorAbort(String msg);

	/**
	 *
errorAbort.

	 *
	 * @param msg a {@link java.lang.String} object.
	 * @param cause a {@link java.lang.Throwable} object.
	 */
	void errorAbort(String msg, Throwable cause);
}

{'repo_name': 'st-js/st-js', 'stars': '149', 'repo_language': 'Java', 'file_name': 'Pojo3.java', 'mime_type': 'text/plain', 'hash': 6380709417438429160, 'source_dataset': 'data'}


-- test for #4066

import System.IO

import GHC.IO.FD as FD (stdout)
import GHC.IO.Handle.FD as FD (fdToHandle)
import GHC.IO.Handle ( mkDuplexHandle )

main = do
  h <- mkDuplexHandle FD.stdout "stdout" Nothing noNewlineTranslation
  hSetEncoding h utf8
  hPutStrLn h "ö"
  hClose h

{'repo_name': 'ghc/ghc', 'stars': '2376', 'repo_language': 'Haskell', 'file_name': 'Env.hs', 'mime_type': 'text/plain', 'hash': -6631757686160105606, 'source_dataset': 'data'}


=head1 NAME

perl584delta - what is new for perl v5.8.4

=head1 DESCRIPTION

This document describes differences between the 5.8.3 release and
the 5.8.4 release.

=head1 Incompatible Changes

Many minor bugs have been fixed. Scripts which happen to rely on previously
erroneous behaviour will consider these fixes as incompatible changes :-)
You are advised to perform sufficient acceptance testing on this release
to satisfy yourself that this does not affect you, before putting this
release into production.

The diagnostic output of Carp has been changed slightly, to add a space after
the comma between arguments. This makes it much easier for tools such as
web browsers to wrap it, but might confuse any automatic tools which perform
detailed parsing of Carp output.

The internal dump output has been improved, so that non-printable characters
such as newline and backspace are output in C<\x> notation, rather than
octal. This might just confuse non-robust tools which parse the output of
modules such as Devel::Peek.

=head1 Core Enhancements

=head2 Malloc wrapping

Perl can now be built to detect attempts to assign pathologically large chunks
of memory.  Previously such assignments would suffer from integer wrap-around
during size calculations causing a misallocation, which would crash perl, and
could theoretically be used for "stack smashing" attacks.  The wrapping
defaults to enabled on platforms where we know it works (most AIX
configurations, BSDi, Darwin, DEC OSF/1, FreeBSD, HP/UX, GNU Linux, OpenBSD,
Solaris, VMS and most Win32 compilers) and defaults to disabled on other
platforms.

=head2 Unicode Character Database 4.0.1

The copy of the Unicode Character Database included in Perl 5.8 has
been updated to 4.0.1 from 4.0.0.

=head2 suidperl less insecure

Paul Szabo has analysed and patched C<suidperl> to remove existing known
insecurities. Currently there are no known holes in C<suidperl>, but previous
experience shows that we cannot be confident that these were the last. You may
no longer invoke the set uid perl directly, so to preserve backwards
compatibility with scripts that invoke #!/usr/bin/suidperl the only set uid
binary is now C<sperl5.8.>I<n> (C<sperl5.8.4> for this release). C<suidperl>
is installed as a hard link to C<perl>; both C<suidperl> and C<perl> will
invoke C<sperl5.8.4> automatically the set uid binary, so this change should
be completely transparent.

For new projects the core perl team would strongly recommend that you use
dedicated, single purpose security tools such as C<sudo> in preference to
C<suidperl>.

=head2 format

In addition to bug fixes, C<format>'s features have been enhanced. See
L<perlform>

=head1 Modules and Pragmata

The (mis)use of C</tmp> in core modules and documentation has been tidied up.
Some modules available both within the perl core and independently from CPAN
("dual-life modules") have not yet had these changes applied; the changes
will be integrated into future stable perl releases as the modules are
updated on CPAN.

=head2 Updated modules

=over 4

=item Attribute::Handlers

=item B

=item Benchmark

=item CGI

=item Carp

=item Cwd

=item Exporter

=item File::Find

=item IO

=item IPC::Open3

=item Local::Maketext

=item Math::BigFloat

=item Math::BigInt

=item Math::BigRat

=item MIME::Base64

=item ODBM_File

=item POSIX

=item Shell

=item Socket

There is experimental support for Linux abstract Unix domain sockets.

=item Storable

=item Switch

Synced with its CPAN version 2.10

=item Sys::Syslog

C<syslog()> can now use numeric constants for facility names and priorities,
in addition to strings.

=item Term::ANSIColor

=item Time::HiRes

=item Unicode::UCD

=item Win32

Win32.pm/Win32.xs has moved from the libwin32 module to core Perl

=item base

=item open

=item threads

Detached threads are now also supported on Windows.

=item utf8

=back

=head1 Performance Enhancements

=over 4

=item *

Accelerated Unicode case mappings (C</i>, C<lc>, C<uc>, etc).

=item *

In place sort optimised (eg C<@a = sort @a>)

=item *

Unnecessary assignment optimised away in

  my $s = undef;
  my @a = ();
  my %h = ();

=item *

Optimised C<map> in scalar context

=back

=head1 Utility Changes

The Perl debugger (F<lib/perl5db.pl>) can now save all debugger commands for
sourcing later, and can display the parent inheritance tree of a given class.

=head1 Installation and Configuration Improvements

The build process on both VMS and Windows has had several minor improvements
made. On Windows Borland's C compiler can now compile perl with PerlIO and/or
USE_LARGE_FILES enabled.

C<perl.exe> on Windows now has a "Camel" logo icon. The use of a camel with
the topic of Perl is a trademark of O'Reilly and Associates Inc., and is used
with their permission (ie distribution of the source, compiling a Windows
executable from it, and using that executable locally). Use of the supplied
camel for anything other than a perl executable's icon is specifically not
covered, and anyone wishing to redistribute perl binaries I<with> the icon
should check directly with O'Reilly beforehand.

Perl should build cleanly on Stratus VOS once more.

=head1 Selected Bug Fixes

More utf8 bugs fixed, notably in how C<chomp>, C<chop>, C<send>, and
C<syswrite> and interact with utf8 data. Concatenation now works correctly
when C<use bytes;> is in scope.

Pragmata are now correctly propagated into (?{...}) constructions in regexps.
Code such as

   my $x = qr{ ... (??{ $x }) ... };

will now (correctly) fail under use strict. (As the inner C<$x> is and
has always referred to C<$::x>)

The "const in void context" warning has been suppressed for a constant in an
optimised-away boolean expression such as C<5 || print;>

C<perl -i> could C<fchmod(stdin)> by mistake. This is serious if stdin is
attached to a terminal, and perl is running as root. Now fixed.

=head1 New or Changed Diagnostics

C<Carp> and the internal diagnostic routines used by C<Devel::Peek> have been
made clearer, as described in L</Incompatible Changes>

=head1 Changed Internals

Some bugs have been fixed in the hash internals. Restricted hashes and
their place holders are now allocated and deleted at slightly different times,
but this should not be visible to user code.

=head1 Future Directions

Code freeze for the next maintenance release (5.8.5) will be on 30th June
2004, with release by mid July.

=head1 Platform Specific Problems

This release is known not to build on Windows 95.

=head1 Reporting Bugs

If you find what you think is a bug, you might check the articles
recently posted to the comp.lang.perl.misc newsgroup and the perl
bug database at http://bugs.perl.org.  There may also be
information at http://www.perl.org, the Perl Home Page.

If you believe you have an unreported bug, please run the B<perlbug>
program included with your release.  Be sure to trim your bug down
to a tiny but sufficient test case.  Your bug report, along with the
output of C<perl -V>, will be sent off to perlbug@perl.org to be
analysed by the Perl porting team.  You can browse and search
the Perl 5 bugs at http://bugs.perl.org/

=head1 SEE ALSO

The F<Changes> file for exhaustive details on what changed.

The F<INSTALL> file for how to build Perl.

The F<README> file for general stuff.

The F<Artistic> and F<Copying> files for copyright information.

=cut

{'repo_name': 'Perl/perl5', 'stars': '908', 'repo_language': 'Perl', 'file_name': 'warp', 'mime_type': 'text/x-shellscript', 'hash': -9061607065203436918, 'source_dataset': 'data'}


############################################
########### Rules about aux verbs
############################################

#	Active tenses:  have + past participle makes things perfect  --		 be + present particicple makes things continuous
#		1. present
#			a. simple - I can + infinitive
#			b. perfect - I have/has + past participle
#			c. continuous - I am + present participle
#			d. perfect continuous - I have been + present participle
#		2.  past
#			a. simple
#			b. perfect - I had + past participle
#			c. continuous - I was + present participle
#			d. perfect continuous - I had been + present participle
#		3. future
#			a: simple - I will + infinitive or  I am going_to + infinitive
#			b. perfect - I will have + past participle
#			c. continuous - I will be + present participle
#			d. perfect continuous - I will have been + present participle
#	Passive tenses:  be + past participle makes things passive
#		1. present
#			a. simple - I am  + past participle
#			b. perfect - I have/has + been + past participle
#			c. continuous - I am + being + past participle
#			d. perfect continuous - I have been + being + past participle
#		2.  past
#			a. simple - I was + past participle
#			b. perfect - I had + been + past participle
#			c. continuous - I was +  being + past participle
#			d. perfect continuous - I had been + being + past participle
#		3. future
#			a: simple - I will + be + past participle  or  I am going_to + be + past participle
#			b. perfect - I will have + been + past participle
#			c. continuous - I will be + past participle
#			d. perfect continuous - I will have been + being + past participle

# passive voice: http://www.english-zone.com/verbs/pssvchrt.html

# noun verb/aux noun will be verb - Vinken (Noun_proper_singular)  is/be (Aux_be_present_3ps +Verb_present_3ps)  chairman (Noun_singular)
 -1 CANONLYBE NOUN_BITS PRONOUN_SUBJECT  # but "how many arms *does a person have"
	INCLUDE * AUX_VERB
	STAY !POSTPOS VERB_INFINITIVE VERB_PAST_PARTICIPLE VERB_PRESENT_PARTICIPLE
DISCARD

# can before aux_be infinitive will be aux - can (+Noun_singular Aux_verb_present +Verb_present)  be (Aux_be_infinitive)
0	INCLUDE * AUX_VERB  # except "my *can is running home"
	IS AUX_BE
KEEP

# assume in aux + verb conflict, if followed by possible infinitive we are an aux - but "we got our two six-packs and they are gone"
# 0	INCLUDE * AUX_VERB
#	STAY CANONLYBE AUX_VERB VERB_BITS
#	POSSIBLEINFINITIVE
# KEEP

# will at start is always aux question -  but "be" "have" "do" aux may be commands  - but not "is snow cold"
0	INCLUDE * AUX_VERB
	STAY START
	STAY !HAS AUX_BE
KEEP

# possible AUX_VERB_FUTURE not question (not at start or after qword) followed by adverb and possible noun/verbinfintive will be verb "can (Aux_verb_present +Verb_infinitive +Verb_present)  actually (Adverb)  see (Noun_singular +Verb_infinitive +Verb_present)"
-1	!ISQWORD
	INCLUDE * AUX_VERB_FUTURE AUX_VERB_PRESENT
	STAY !START
	IS ADVERB
	POSSIBLEINFINITIVE
KEEP

# all tense helpers require infinitive or participles
0	INCLUDE * AUX_VERB
	STAY !POSTPOS VERB_PRESENT_PARTICIPLE VERB_PAST_PARTICIPLE VERB_INFINITIVE
DISCARD

# aux have requires past participle or be
0	INCLUDE * AUX_HAVE
	STAY !POSTPOS AUX_BE VERB_PAST_PARTICIPLE
DISCARD

# if conflict like this  can (Aux_verb_present +Verb_present)  do (+Verb_infinitive +Verb_present)  be aux
0	INCLUDE * AUX_VERB
	STAY CANONLYBE VERB_BITS AUX_VERB
	CANONLYBE VERB_BITS
KEEP

# aux must have verb later somewhere
0	INCLUDE * AUX_VERB
	STAY !POSTPOS VERB_BITS
DISCARD

################################## Rules about NOT being aux

# potential aux 2nd word after qword start "how *can you do this" but not "what is the best show."
-1  START
	INCLUDE * AUX_VERB
	SKIP !IS VERB_BITS
	!IS VERB_BITS
	ISQUESTION qword
KEEP

# cannot be aux without some verb following it "what will *is this"
0	INCLUDE * AUX_VERB
	SKIP !HAS VERB_BITS
	!HAS VERB_BITS
DISCARD

# cannot be aux before present tense verb - "what *will is this"
0	INCLUDE * AUX_VERB
	IS VERB_PRESENT VERB_PRESENT_3PS
DISCARD

# aux cannot precede TO infinitive : "he *has to have been there"  "he *has to eat dinner"
0	INCLUDE * AUX_VERB
	HAS TO_INFINITIVE
DISCARD

#  aux followed by a noun cannot be aux "It *was a tomb." unless invert at sentence start question or qword "who *was the ball hit by" -- "how rapidly was the ball hit"
0	INCLUDE * AUX_VERB
	SKIP !IS ADJECTIVE_BITS ADVERB DETERMINER
	IS NOUN_BITS PRONOUN_POSSESSIVE PRONOUN_BITS
	!ISQUESTION aux qword
DISCARD

# potential aux cannot be followed by to infinitive "he has to be sane"
0	INCLUDE * AUX_VERB
	IS TO_INFINITIVE
DISCARD

# potential aux cannot be preceeded by to infinitive "to be"  -- except "to have tried" or "to have been tried"
-1	HAS TO_INFINITIVE
	INCLUDE * AUX_VERB
	!HAS AUX_VERB VERB_PAST_PARTICIPLE
DISCARD

# IS THIS REDUNDANT TEST? for something to be an auxilliary verb, there must be some other possible verb or aux_verb located LATER in the sentence
0	INCLUDE  * AUX_VERB
	SKIP !HAS VERB_BITS  AUX_VERB  # should accept "will you *have been gone"
	!HAS VERB_BITS  AUX_VERB
DISCARD

# cannot preceed to_infinitive with aux... "I *had to sleep yesterday."  --- except can for "I am *used_to going"
0  INCLUDE * AUX_VERB
	STAY !ISCANONICAL used_to
	IS TO_INFINITIVE
DISCARD

# these not after a determiner or preposition
-1	IS DETERMINER PREPOSITION
	INCLUDE * AUX_VERB
DISCARD

# but could follow pure possive: Bob's will be good. (implied noun) # He is a boy.

################################## Rules about being aux

# negative adverb at start followed by potential aux will be aux
-1  IS ADVERB
	STAY ISMEMBER ~negative_adverb_starter
	INCLUDE * AUX_VERB
KEEP

######## WILL

# simple question form: "Will you go"
0	INCLUDE * AUX_VERB
	STAY START
	STAY ISORIGINAL will
	IS PRONOUN_BITS POSSESSIVE_BITS DETERMINER ADJECTIVE_BITS NOUN_BITS
KEEP

#will - future perfect continuous	WILL HAVE BEEN + present/past participle    # future perfect 	WILL HAVE + past participle
0	INCLUDE * AUX_VERB
	STAY ISCANONICAL will
	SKIP HAS ADVERB			# will not/often have
	ISCANONICAL have
KEEP

# future continuous 	WILL + BE + present/past  participle		- i will be gone before you know it
0	INCLUDE * AUX_VERB
	STAY ISCANONICAL will
	SKIP HAS ADVERB		# will not/often be
	ISORIGINAL be
	SKIP HAS ADVERB		# I will be rapidly swimming
	HAS VERB_PRESENT_PARTICIPLE VERB_PAST_PARTICIPLE
KEEP

# future simple   	WILL + infinitive
0	INCLUDE * AUX_VERB
	STAY ISCANONICAL will
	POSSIBLEINFINITIVE
KEEP

######## GOING_TO

# going_to  future simple -- "are you *going_to swim soon"
0	INCLUDE * AUX_VERB
	STAY ISCANONICAL going_to
	SKIP HAS ADVERB
	POSSIBLEINFINITIVE

	RESETLOCATION REVERSE	# preceeded by a "be" somewhere
	SKIP !ISCANONICAL be
	ISCANONICAL be
KEEP

######## HAVE	have + past participle makes things perfect    or    have + been

# pending have aux before known "been" - "what *have you been doing"
0	INCLUDE * AUX_HAVE
	SKIP !HAS AUX_VERB VERB_BITS # stop at 1st aux or verb you hit
	IS AUX_BE	 # been
	STAY HASORIGINAL VERB_PAST_PARTICIPLE
KEEP

# has/had not followed  by past participle or been  cannot be aux - allow: "*have you had any pets"
0	INCLUDE * AUX_HAVE
	SKIP !HAS VERB_PAST_PARTICIPLE AUX_BE VERB_PAST AUX_VERB_PAST
	!HAS VERB_PAST_PARTICIPLE AUX_BE VERB_PAST AUX_VERB_PAST
DISCARD

# has followed by object wont be aux, but if starting question sentence it could be... except under question inversion: "what *have you been doing"  - not "her book had lost a page"
0	INCLUDE * AUX_HAVE
	STAY !START			# though this could be spoofed "regularly *have you been gone" though unlikely
	IS DETERMINER PRONOUN_BITS ADJECTIVE_BITS
	!ISQUESTION aux qword
DISCARD

# "have walked"  "have been walking"
0	INCLUDE * AUX_HAVE
	SKIP HAS ADVERB		# optional
	HAS VERB_PAST_PARTICIPLE AUX_BE
KEEP

# has/had followed eventually by past participle -- "has the man gone" --   "he *has gone"   but it might bind wrong  # to spoof would need a plural/mass noun also a verb past participle
0	INCLUDE * AUX_HAVE
	SKIP !HAS VERB_PAST_PARTICIPLE AUX_BE
	IS VERB_PAST_PARTICIPLE AUX_BE
KEEP

######## DO  - question do-- "do you like"

# do cannot be aux if preceeded by aux  "what would you *do on a date"
REVERSE 0  INCLUDE * AUX_DO
		STAY
		SKIP !HAS AUX_VERB CONJUNCTION COMMA # dont go past boundaries "bees like honey as we do but *do not like us"
		HAS AUX_VERB
DISCARD

# do not at start will not be aux unless in front of verb infinitive : "they *do write"  "when *did the pain begin" but not "*do as I say"
0	INCLUDE * AUX_DO
	STAY !START
	SKIP !HAS VERB_INFINITIVE
	!HAS VERB_INFINITIVE
DISCARD

######## BE

# aux been requires present or past participle (passive) after it or aux (like being) "I have been going"  illegal: "I have been gone"   "I have been being painted"
0	INCLUDE * AUX_BE
	STAY HASORIGINAL VERB_PAST_PARTICIPLE # been
	SKIP IS  ADVERB
	!HAS VERB_PRESENT_PARTICIPLE VERB_PAST_PARTICIPLE AUX_BE AUX_VERB
DISCARD

# is/was followed by object wont be aux, but if starting question sentence it could be... AND if split by qword "who *was the ball hit by"  but misses "regularly *are you gone"
0	INCLUDE * AUX_BE
	STAY !START
	IS DETERMINER PRONOUN_BITS ADJECTIVE_BITS
	!ISQUESTION qword
DISCARD

# verb/aux conflict followed by verb/adjparticiple conflict which should be adjective participle - "I *am outmoded"
0	INCLUDE * AUX_BE
	SKIP IS ADVERB
	CANONLYBE VERB_PAST_PARTICIPLE VERB_PRESENT_PARTICIPLE ADJECTIVE_PARTICIPLE
	STAY HASPROPERTY COMMON_PARTICIPLE_VERB
DISCARD

# is/was followed by not participle of any kind (including aux) must be a verb  -- need to find "I am going" or "I am gone" but "I am going to" is aux
0	INCLUDE * AUX_BE
	STAY !HASORIGINAL VERB_PAST_PARTICIPLE # not been
	SKIP !HAS AUX_BE AUX_VERB_FUTURE VERB_PRESENT_PARTICIPLE VERB_PAST_PARTICIPLE
	!HAS AUX_BE AUX_VERB_FUTURE VERB_PRESENT_PARTICIPLE VERB_PAST_PARTICIPLE
DISCARD

# "be" followed by adverb and then adjective (or just adjective) is NOT aux  "he *is much too inexperienced."
0	INCLUDE  * AUX_BE
	SKIP IS ADVERB
	IS ADJECTIVE_BITS
DISCARD

# normal be followed by participle and not common participle "he was gone"  "he is painting
0	INCLUDE * AUX_BE
	STAY HASORIGINAL VERB_PRESENT VERB_PRESENT_3PS VERB_PAST  # am are is was were
	SKIP HAS ADVERB
	HAS  VERB_PAST_PARTICIPLE VERB_PRESENT_PARTICIPLE
	STAY !HASPROPERTY COMMON_PARTICIPLE_VERB
KEEP

# normal be followed by going_to is aux
0	INCLUDE * AUX_BE
	SKIP IS ADVERB
	IS AUX_VERB  # going_to is always aux
KEEP

#### normal  be followed by present participle unless adjective_participle  "I *am walking"  - continuous tense   "I *was walking"
0	INCLUDE * AUX_BE
	STAY HASORIGINAL VERB_PRESENT VERB_PRESENT_3PS VERB_PAST  # am are is was were
	SKIP HAS ADVERB
	HAS VERB_PRESENT_PARTICIPLE
	STAY !HASPROPERTY COMMON_PARTICIPLE_VERB
KEEP

### been followed by participle  "the car has *been washing itself"  "the car has *been being washed"   "I have been going"  "had the man *been watching"
0	INCLUDE * AUX_BE
	STAY ISORIGINAL been
	SKIP HAS ADVERB
	HAS  VERB_PRESENT_PARTICIPLE AUX_BE
KEEP

### been followed by participle  "the car has *been washed"  but not "I have *been outmoded before"  but not "he has been the only one to have flown"
0	INCLUDE * AUX_BE
	STAY ISORIGINAL been
	SKIP HAS ADVERB
	HAS VERB_PAST_PARTICIPLE
	STAY !HASPROPERTY COMMON_PARTICIPLE_VERB
KEEP

# verb/aux conflict followed by verb/adjparticiple conflict "I am walked" will force aux + participle when not common participle verb but not "the basement has to *be flooded" because of to
-1	!HAS TO_INFINITIVE
	INCLUDE * AUX_BE
	SKIP IS ADVERB
	CANONLYBE VERB_PAST_PARTICIPLE ADJECTIVE_PARTICIPLE
	STAY !HASPROPERTY COMMON_PARTICIPLE_VERB
KEEP

#### QUESTION INVERTED ORDER FORMAT

# question is/was followed eventually by present participle -- "is the man sleeping" -- will not bind wrong
0	INCLUDE * AUX_BE
	STAY START
	STAY HASORIGINAL VERB_PRESENT VERB_PRESENT_3PS VERB_PAST  # am are is was were
	SKIP !HAS VERB_BITS  # but clauses will fool it like "is the man who is my neighbor sleeping"
	HAS VERB_PRESENT_PARTICIPLE
KEEP

#### question be  followed by past participle and not common participle will be past tense  " was he gone"
0	INCLUDE * AUX_BE
	STAY START
	STAY HASORIGINAL VERB_PRESENT VERB_PRESENT_3PS VERB_PAST  # am are is was were
	SKIP !HAS VERB_BITS
	HAS  VERB_PAST_PARTICIPLE
	STAY !HASPROPERTY COMMON_PARTICIPLE_VERB
KEEP

# question be followed by going_to is aux "is he going to go"
0	INCLUDE * AUX_BE
	STAY START
	STAY HASORIGINAL VERB_PRESENT VERB_PRESENT_3PS VERB_PAST  # am are is was were
	SKIP !HAS AUX_VERB
	HAS AUX_VERB  # going_to is always aux
KEEP

#############
# GENERIC AUX
#############

# inverted order with insured verb after subject potential "what kind *are you interested in"
0	INCLUDE * AUX_VERB
	CANONLYBE NOUN_BITS PRONOUN_BITS
	CANONLYBE VERB_BITS
KEEP

# SPECIAL aux hack for will and can as sentence start -- but wont handle "Will" the name
0	INCLUDE * AUX_VERB
	STAY HAS NOUN_SINGULAR
	STAY START
KEEP

# simple question form: "*is the man sleeping" but not "*have you a knife" or "*Will came home" or "*be it whatever it is, I like you"  - but not "do *as I say"
0	INCLUDE * AUX_VERB
	STAY START
	STAY !ISORIGINAL will		# might be name Will
	IS PRONOUN_BITS NOUN_BITS DETERMINER_BITS ADJECTIVE_BITS
KEEP

# potential infinitifve verb following std aux (not be or have) will be infinitive and no other tense " I do often *go"  -- really a strong guess -- but not "she *got upset" - not "this *is mine"

# cannot have a noun equivalent or preposition after aux verb   "I *am a dog"  "I am of the people" -- BUT in question mode:  what did John eat. you can

#  aux followed by NOT will be aux  "I *can not believe"  EXCEPT "I am not blue" where we have possible adjective
0	INCLUDE * AUX_VERB
	ISORIGINAL not
	HAS VERB_BITS
	STAY !HAS ADJECTIVE_BITS
KEEP

# aux which is NOT be or have, will need to find  verb_infinitive after it  "I *can go" - but not "let me *get a plate" and not "we *are all afraid" or "with my *might"
 # cant have TO after it

# aux as first word WILL be aux for sure with pronoun following it
0	INCLUDE * AUX_VERB  # can you play, will you play (but Will as a name...)
	STAY START
	HAS PRONOUN_BITS
KEEP

# tag questions try to be modal # "I can eat, *can {not} you"
-1	IS COMMA
	INCLUDE * AUX_VERB
	SKIP ISORIGINAL not
	HAS PRONOUN_SUBJECT
	STAY END
KEEP

# aux following qword not be  - "why *do people lie?"   but not "who *are you"  also not "why do you"

# aux followed by noun phrase 1 followed by potential verb- generic

# aux following question word and followed by noun phrase 2 followed by potential verb - "when *did the elephant fart"  but not "I *have a friend named Harry"

# aux followed by noun phrase 3 followed by potential verb- when did the elephant fart

 # aux followed by noun phrase 4 followed by potential verb- when did the big elephant fart

# aux (not be) followed by potential verb (not be)  the aux becomes real. # Legal: he can light a match. Illegal:  He is light. The can is good.

# potential aux other than be with potential verb  or aux after it	# They  had proved it. # She (is) usually described as pretty. #	Dont recognize: I was (outmoded). want adjective  -- want  I have often been found guilty

#  aux followed by poatential verb followed by adjective or determiner # he can light a match

{'repo_name': 'ChatScript/ChatScript', 'stars': '179', 'repo_language': 'C', 'file_name': 'c.txt', 'mime_type': 'text/plain', 'hash': 7794513559915997589, 'source_dataset': 'data'}


CWP Software Update: 10/25/91  (14th edition)

Distribution Notes:
------------------
A new release of the CWP C free software is now available
via anonymous ftp (138.67.22.6)!

Installation should be much easier, due to yeoman efforts by John Stockwell.
All of cwp, par, seismic, xplot, psplot, Xcwp and su are installed after
you follow the instructions in the file README_TO_INSTALL.  There is still
the potential for problems caused by non-ANSI C variations of some vendors
(and, alas, by our goofs).

Thanks to many people who have suffered through installs of previous
releases and have kept their tempers sufficiently to send us detailed
notes.  In particular, Dean Witte of Chevron sent a list of adaptations
for Cray Unicos and Richard Verm of Geophysical Development Corporation
sent us notes for Sun SPARC.  Another recent port was made by Berend
Scheffers, TNO Institute of Applied Geoscience (Delft) to DEC.  Where
possible, I have made changes to avoid the pitfalls described by
these and earlier writers.

The file cwp.tar.Z now includes a third directory, seismic, in addition
to the cwp and par directories.  At this time, seismic has only the code
velconv.c (formerly housed in .../par/main), but as they say in the ads,
"watch this space".

The file plot.tar.Z now includes Xcwp in addition to xplot and psplot.

cwp.h has been cleaned up.  While this is a good step for the long
run, it unfortunately means that SU codes won't compile if you
re-install cwp.tar, and don't update su.tar as well (potentially
other directories are also at risk).

Here are the major points:

1. We eliminated or demoted (to par.h or su.h) some typedefs
   and #defines.  The one that will make the most trouble is

	typedef char* string

   I tried to find all uses of this, but to err is human.
   If I left any in, you can put the above typedef in the
   files that need it or --recommended-- replace "string"
   by "char *" as in:
	string sdoc
	to:
	char *sdoc

   Less likely, but also possible, trouble spots are files
   that have "bool", "bmstate", ...  Send me a flame if
   you find any compilation woes along these lines.

2. I also moved any #include file that wasn't ANSI C out of cwp.h (into
   par.h).

3. I eliminated the parenthesized system error message that errpkge/err
   gave.  We generally don't make direct system calls, so the system message
   is usually too far removed from the error to be helpful ("tty not a
   typewriter", etc.).

4. par.h had an include for fcntl.h that repeated the one in cwp.h.  On some
   older Unixes this could cause problems.

New Programs
------------
suresamp - Resample in time
	subsample, oversample, time gating done with 8 point
	sinc interpolation. (Jack)
Note 1: as a consequence, suus (subsampling) has been removed from SU.
Note 2: as a consequence, suwind no longer does time gating.
Note 3: is just the su version of Dave's .../par/main/resamp.c

sustolt - Stolt migration for stacked data or common offset traces (Dave)

susynlv - Kirchhoff synthetic data for a linear v(x,z) medium (Dave)

sunsimage - new su driver for nsimage (mainly for local NeXT users) (Jack)

suvibro - create vibroseis wavelet (Michel Dietrich)

Minor fixes/Updates
-------------------
	.../su/main/suaddnoise
	.../su/main/sudmofk
	.../su/main/sugain
	.../su/main/suilog
	.../su/main/sumute
	.../su/main/suop2
	.../su/main/sustack
	.../su/main/suvelan
	.../su/main/suwind
	.../su/shell/updatedoc
	.../su/examples/Decontest
	.../su/examples/Segyread

Note 1: The bug in sugain caused agc to zero out data when it was small
(eg. 10e-10).  There were hints of such a problem for some time, but I
never caught on.  Thanks to Phil Anno and Laura Hale for isolating the
problem and to Craig Artley for solving it.

Note 2: I added WMHint to ../xplot/lib/window.c to correct keyboard
focus problem at some external sites.
Affected programs: xwigb, ximage, suxwigb, suximage

Fortran Software
----------------
cshot -- is a free ray-based modeling package written by
	Paul Docherty.  It is based on the Keller-Fawcett-Perera
	method.  It comes with 14 sub-directories that successively
	illustrate the use of the program using X Windows (plus hints
	for adaptation to PostScript).  Available as cshot.tar.Z from
	CWP's anonymous ftp (138.67.22.6).  Hardcopy documentation is
	available from CWP (free to sponsors, otherwise for a fee of $10).

cxzco -- is a proprietary pre-stack inversion program for common offset
	data with arbitrary background velocity in a 2.5D medium.
	It comes with 4 demonstration subdirectories.  Availability
	is restricted to sponsors of CWP who can get additional
	copies by using our sponsor ftp (call 303-273-3557 for
	further information or to arrange getting floppy/tape
	distribution).

Special Free Contribution from Shelby Worley, former CWP student
-------------------------------------------------------------------------
The package is available by anonymous ftp as rgps.tar.Z and is
self-contained.  However, the interface is just like the rest of
the CWP C mains.  Here's the beginning of the readme.rgps file
included with the distribution:

RGPS: Reflection Geometry Parameter Solver

I. What is the program for?

    This program was written to implement a new approach to the most simple
non-trivial reflection problem - a dipping plane reflector with separated
source and receiver on a horizontal surface.  The user specifies values for
four of the following eleven parameters, which are divided into two
categories:

Circle Parameters
alpha:  the dipping angle of the reflector. By convention, it is positive
        if the z-coordinate increases as the x-coordinate increases along
        the reflector. Alpha will be in the range (-90,90).
phi:    the angle between the raypath and a normal to the reflector.
        Phi will be in the range [0,90).
h:      One half the separation between the source and receiver.
        H will always be positive.
dx:     The offset of the x-coordinate of the specular reflection point
        and the x-coordinate of the midpoint between source and receiver.
        Dx will be positive if the x-coordinate of the specular point
        is smaller than the x-coordinate of the source-receiver midpoint.
z:      The depth of the specular reflection point.
vt:     The length of the specular reflection path between source and
        receiver.

Shift Parameters
xs:     The location of the "source".  For convenience, this is assumed to
        have a smaller x-coordinate than the receiver.
xg:     The location of the "receiver".  This value will always be larger
        than xs, so that  the equation  2h=xg-xs  is always true.
y:      The source-receiver midpoint.
x:      The x-coordinate of the specular reflection point.
z0:     The depth (z-coordinate) of the reflector under the origin
        of the x-coordinates.  Thus, the equation of the reflector is
        z = z0 + x*tan(alpha). Z0 may be negative if the plane of the
        reflector extends above the surface at the origin.

    With these 11 parameters, 330 possible sets of four parameters could
be chosen. The program will attempt to calculate the value for the other
seven parameters.
...

{'repo_name': 'JohnWStockwellJr/SeisUnix', 'stars': '153', 'repo_language': 'C', 'file_name': 'tetramod', 'mime_type': 'text/plain', 'hash': 2759570991734119834, 'source_dataset': 'data'}


package com.netflix.conductor.core.execution;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.netflix.conductor.common.utils.JsonMapperProvider;
import com.netflix.conductor.core.utils.JsonUtils;
import org.junit.Before;
import org.junit.Test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicReference;

import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertEquals;

public class TestParametersUtils {
    private ParametersUtils parametersUtils;
    private JsonUtils jsonUtils;
    private ObjectMapper objectMapper;

    @Before
    public void setup() {
        parametersUtils = new ParametersUtils();
        jsonUtils = new JsonUtils();
        objectMapper = new JsonMapperProvider().get();
    }

    @Test
    public void testReplace() throws Exception {
        Map<String, Object> map = new HashMap<>();
		map.put("name", "conductor");
		map.put("version", 2);
		map.put("externalId", "{\"taskRefName\":\"t001\",\"workflowId\":\"w002\"}");

		Map<String, Object> input = new HashMap<>();
		input.put("k1", "${$.externalId}");
		input.put("k4", "${name}");
		input.put("k5", "${version}");

		Object jsonObj = objectMapper.readValue(objectMapper.writeValueAsString(map), Object.class);

		Map<String, Object> replaced = parametersUtils.replace(input, jsonObj);
		assertNotNull(replaced);
		System.out.println("testNoExpand(): " + replaced);

		assertEquals("{\"taskRefName\":\"t001\",\"workflowId\":\"w002\"}", replaced.get("k1"));
		assertEquals("conductor", replaced.get("k4"));
		assertEquals(2, replaced.get("k5"));
    }

    @Test
    public void testReplaceWithArrayExpand() {
        List<Object> list = new LinkedList<>();
        Map<String, Object> map = new HashMap<>();
		map.put("externalId", "[{\"taskRefName\":\"t001\",\"workflowId\":\"w002\"}]");
		map.put("name", "conductor");
		map.put("version", 2);
		list.add(map);
        jsonUtils.expand(list);

        Map<String, Object> input = new HashMap<>();
		input.put("k1", "${$..externalId}");
		input.put("k2", "${$[0].externalId[0].taskRefName}");
		input.put("k3", "${__json_externalId.taskRefName}");
		input.put("k4", "${$[0].name}");
		input.put("k5", "${$[0].version}");

		Map<String, Object> replaced = parametersUtils.replace(input, list);
		assertNotNull(replaced);
		assertEquals(replaced.get("k2"), "t001");
		assertNull(replaced.get("k3"));
		assertEquals(replaced.get("k4"), "conductor");
		assertEquals(replaced.get("k5"), 2);
    }

    @Test
    public void testReplaceWithMapExpand() {
        Map<String, Object> map = new HashMap<>();
		map.put("externalId", "{\"taskRefName\":\"t001\",\"workflowId\":\"w002\"}");
		map.put("name", "conductor");
		map.put("version", 2);
		jsonUtils.expand(map);

        Map<String, Object> input = new HashMap<>();
		input.put("k1", "${$.externalId}");
		input.put("k2", "${externalId.taskRefName}");
		input.put("k4", "${name}");
		input.put("k5", "${version}");

		Map<String, Object> replaced = parametersUtils.replace(input, map);
		assertNotNull(replaced);
		assertEquals("t001", replaced.get("k2"));
		assertNull(replaced.get("k3"));
		assertEquals("conductor", replaced.get("k4"));
		assertEquals(2, replaced.get("k5"));
    }

	@Test
	public void testReplaceConcurrent() throws ExecutionException, InterruptedException {
		ExecutorService executorService = Executors.newFixedThreadPool(2);

    	AtomicReference<String> generatedId = new AtomicReference<>("test-0");
		Map<String, Object> input = new HashMap<>();
		Map<String, Object> payload = new HashMap<>();
    	payload.put("event", "conductor:TEST_EVENT");
    	payload.put("someId", generatedId);
		input.put("payload", payload);
		input.put("name", "conductor");
		input.put("version", 2);

		Map<String, Object> inputParams = new HashMap<>();
		inputParams.put("k1", "${payload.someId}");
		inputParams.put("k2", "${name}");

		CompletableFuture.runAsync(() -> {
			for (int i = 0; i < 10000; i++) {
				generatedId.set("test-" + i);
				payload.put("someId", generatedId.get());
				Object jsonObj = null;
				try {
					jsonObj = objectMapper.readValue(objectMapper.writeValueAsString(input), Object.class);
				} catch (JsonProcessingException e) {
					e.printStackTrace();
					return;
				}
				Map<String, Object> replaced = parametersUtils.replace(inputParams, jsonObj);
				assertNotNull(replaced);
				assertEquals(generatedId.get(), replaced.get("k1"));
				assertEquals("conductor", replaced.get("k2"));
				assertNull(replaced.get("k3"));
			}
		}, executorService).get();

		executorService.shutdown();
	}

	// Tests ParametersUtils with Map and List input values, and verifies input map is not mutated by ParametersUtils.
	@Test
	public void testReplaceInputWithMapAndList() throws Exception {
		Map<String, Object> map = new HashMap<>();
		map.put("name", "conductor");
		map.put("version", 2);
		map.put("externalId", "{\"taskRefName\":\"t001\",\"workflowId\":\"w002\"}");

		Map<String, Object> input = new HashMap<>();
		input.put("k1", "${$.externalId}");
		input.put("k2", "${name}");
		input.put("k3", "${version}");

		Map<String, String> mapValue = new HashMap<>();
		mapValue.put("name", "${name}");
		mapValue.put("version", "${version}");
		input.put("map", mapValue);

		List<String> listValue = new ArrayList<>();
		listValue.add("${name}");
		listValue.add("${version}");
		input.put("list", listValue);

		Object jsonObj = objectMapper.readValue(objectMapper.writeValueAsString(map), Object.class);

		Map<String, Object> replaced = parametersUtils.replace(input, jsonObj);
		assertNotNull(replaced);

		// Verify that values are replaced correctly.
		assertEquals("{\"taskRefName\":\"t001\",\"workflowId\":\"w002\"}", replaced.get("k1"));
		assertEquals("conductor", replaced.get("k2"));
		assertEquals(2, replaced.get("k3"));

		Map replacedMap = (Map) replaced.get("map");
		assertEquals("conductor", replacedMap.get("name"));
		assertEquals(2, replacedMap.get("version"));

		List replacedList = (List) replaced.get("list");
		assertEquals(2, replacedList.size());
		assertEquals("conductor", replacedList.get(0));
		assertEquals(2, replacedList.get(1));

		// Verify that input map is not mutated
		assertEquals("${$.externalId}", input.get("k1"));
		assertEquals("${name}", input.get("k2"));
		assertEquals("${version}", input.get("k3"));

		Map inputMap = (Map) input.get("map");
		assertEquals("${name}", inputMap.get("name"));
		assertEquals("${version}", inputMap.get("version"));

		List inputList = (List) input.get("list");
		assertEquals(2, inputList.size());
		assertEquals("${name}", inputList.get(0));
		assertEquals("${version}", inputList.get(1));
	}
}

{'repo_name': 'Netflix/conductor', 'stars': '2698', 'repo_language': 'Java', 'file_name': 'RedisSentinelModule.java', 'mime_type': 'text/x-java', 'hash': -4480419595315985885, 'source_dataset': 'data'}


{ stdenv, fetchurl, openssl, perl }:

stdenv.mkDerivation rec {
  version = "0.4";
  pname = "chunksync";

  src = fetchurl {
    url = "https://chunksync.florz.de/chunksync_${version}.tar.gz";
    sha256 = "1gwqp1kjwhcmwhynilakhzpzgc0c6kk8c9vkpi30gwwrwpz3cf00";
  };

  buildInputs = [openssl perl];

  NIX_LDFLAGS = "-lgcc_s";

  makeFlags = [
    "DESTDIR=$(out)"
    "PREFIX="
  ];

  preInstall = ''
    mkdir -p $out/bin
    mkdir -p $out/share/man/man1
  '';

  meta = {
    description = "Space-efficient incremental backups of large files or block devices";
    homepage = "http://chunksync.florz.de/";
    license = stdenv.lib.licenses.gpl2;
    platforms = with stdenv.lib.platforms; linux;
  };
}

{'repo_name': 'NixOS/nixpkgs-channels', 'stars': '161', 'repo_language': 'Nix', 'file_name': 'default.nix', 'mime_type': 'text/plain', 'hash': -1875717492426134355, 'source_dataset': 'data'}


"""
 This module houses the Geometry Collection objects:
 GeometryCollection, MultiPoint, MultiLineString, and MultiPolygon
"""
from ctypes import c_int, c_uint, byref
from django.contrib.gis.geos.error import GEOSException, GEOSIndexError
from django.contrib.gis.geos.geometry import GEOSGeometry
from django.contrib.gis.geos.libgeos import get_pointer_arr, GEOM_PTR, GEOS_PREPARE
from django.contrib.gis.geos.linestring import LineString, LinearRing
from django.contrib.gis.geos.point import Point
from django.contrib.gis.geos.polygon import Polygon
from django.contrib.gis.geos import prototypes as capi

class GeometryCollection(GEOSGeometry):
    _typeid = 7

    def __init__(self, *args, **kwargs):
        "Initializes a Geometry Collection from a sequence of Geometry objects."

        # Checking the arguments
        if not args:
            raise TypeError, 'Must provide at least one Geometry to initialize %s.' % self.__class__.__name__

        if len(args) == 1:
            # If only one geometry provided or a list of geometries is provided
            #  in the first argument.
            if isinstance(args[0], (tuple, list)):
                init_geoms = args[0]
            else:
                init_geoms = args
        else:
            init_geoms = args

        # Ensuring that only the permitted geometries are allowed in this collection
        # this is moved to list mixin super class
        self._check_allowed(init_geoms)

        # Creating the geometry pointer array.
        collection = self._create_collection(len(init_geoms), iter(init_geoms))
        super(GeometryCollection, self).__init__(collection, **kwargs)

    def __iter__(self):
        "Iterates over each Geometry in the Collection."
        for i in xrange(len(self)):
            yield self[i]

    def __len__(self):
        "Returns the number of geometries in this Collection."
        return self.num_geom

    ### Methods for compatibility with ListMixin ###
    def _create_collection(self, length, items):
        # Creating the geometry pointer array.
        geoms = get_pointer_arr(length)
        for i, g in enumerate(items):
            # this is a little sloppy, but makes life easier
            # allow GEOSGeometry types (python wrappers) or pointer types
            geoms[i] = capi.geom_clone(getattr(g, 'ptr', g))

        return capi.create_collection(c_int(self._typeid), byref(geoms), c_uint(length))

    def _get_single_internal(self, index):
        return capi.get_geomn(self.ptr, index)

    def _get_single_external(self, index):
        "Returns the Geometry from this Collection at the given index (0-based)."
        # Checking the index and returning the corresponding GEOS geometry.
        return GEOSGeometry(capi.geom_clone(self._get_single_internal(index)), srid=self.srid)

    def _set_list(self, length, items):
        "Create a new collection, and destroy the contents of the previous pointer."
        prev_ptr = self.ptr
        srid = self.srid
        self.ptr = self._create_collection(length, items)
        if srid: self.srid = srid
        capi.destroy_geom(prev_ptr)

    _set_single = GEOSGeometry._set_single_rebuild
    _assign_extended_slice = GEOSGeometry._assign_extended_slice_rebuild

    @property
    def kml(self):
        "Returns the KML for this Geometry Collection."
        return '<MultiGeometry>%s</MultiGeometry>' % ''.join([g.kml for g in self])

    @property
    def tuple(self):
        "Returns a tuple of all the coordinates in this Geometry Collection"
        return tuple([g.tuple for g in self])
    coords = tuple

# MultiPoint, MultiLineString, and MultiPolygon class definitions.
class MultiPoint(GeometryCollection):
    _allowed = Point
    _typeid = 4

class MultiLineString(GeometryCollection):
    _allowed = (LineString, LinearRing)
    _typeid = 5

    @property
    def merged(self):
        """
        Returns a LineString representing the line merge of this
        MultiLineString.
        """
        return self._topology(capi.geos_linemerge(self.ptr))

class MultiPolygon(GeometryCollection):
    _allowed = Polygon
    _typeid = 6

    @property
    def cascaded_union(self):
        "Returns a cascaded union of this MultiPolygon."
        if GEOS_PREPARE:
            return GEOSGeometry(capi.geos_cascaded_union(self.ptr), self.srid)
        else:
            raise GEOSException('The cascaded union operation requires GEOS 3.1+.')

# Setting the allowed types here since GeometryCollection is defined before
# its subclasses.
GeometryCollection._allowed = (Point, LineString, LinearRing, Polygon, MultiPoint, MultiLineString, MultiPolygon)

{'repo_name': 'mysociety/theyworkforyou', 'stars': '154', 'repo_language': 'Python', 'file_name': 'ByUsage.php', 'mime_type': 'text/x-php', 'hash': 6288358504772814045, 'source_dataset': 'data'}


# Copyright(C) 2012 Kentoku SHIBA
# Copyright(C) 2012 Kouhei Sutou <kou@clear-code.com>
# Copyright(C) 2014 Kenji Maruyama <mmmaru777@gmail.com>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

--source ../../../../../../../include/mroonga/skip_freebsd.inc
--source ../../../../../../../include/mroonga/have_signed_64bit_time_t.inc
--source ../../../../../../../include/mroonga/have_mroonga.inc

--disable_warnings
DROP TABLE IF EXISTS ranges;
--enable_warnings

CREATE TABLE ranges (
  id int PRIMARY KEY,
  start datetime,
  end datetime,
  UNIQUE KEY range_key(start, end)
);

INSERT INTO ranges VALUES (1, "2012-10-25 16:18:29", "9999-12-31 23:59:59");
INSERT INTO ranges VALUES (2, "1000-01-02 00:00:00", "2012-10-05 16:18:29");
INSERT INTO ranges VALUES (3, "9999-12-31 23:59:59", "1000-01-02 00:00:00");
INSERT INTO ranges VALUES (4, "1000-01-02 00:00:00", "9999-12-31 23:59:59");

SELECT * FROM ranges FORCE INDEX(range_key)
         ORDER BY start, end;

DROP TABLE ranges;

--source ../../../../../../../include/mroonga/have_mroonga_deinit.inc

{'repo_name': 'mroonga/mroonga', 'stars': '141', 'repo_language': 'C++', 'file_name': 'Makefile.am', 'mime_type': 'text/plain', 'hash': -7001119001488928654, 'source_dataset': 'data'}


#include <core.p4>
#define V1MODEL_VERSION 20200408
#include <v1model.p4>

header data_t {
    bit<32> f1;
    bit<32> f2;
    bit<8>  b1;
    bit<8>  b2;
}

struct metadata {
}

struct headers {
    @name(".data")
    data_t data;
}

parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) {
    @name(".start") state start {
        packet.extract<data_t>(hdr.data);
        transition accept;
    }
}

control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) {
    @name(".setb1") action setb1(bit<8> val, bit<9> port) {
        hdr.data.b1 = val;
        standard_metadata.egress_spec = port;
    }
    @name(".noop") action noop() {
    }
    @name(".test1") table test1 {
        actions = {
            setb1();
            noop();
            @defaultonly NoAction();
        }
        key = {
            hdr.data.f1: exact @name("data.f1") ;
        }
        default_action = NoAction();
    }
    @name(".test2") table test2 {
        actions = {
            setb1();
            noop();
            @defaultonly NoAction();
        }
        key = {
            hdr.data.f2: exact @name("data.f2") ;
        }
        default_action = NoAction();
    }
    apply {
        if (hdr.data.b2 == 8w1 || hdr.data.b2 == 8w2 || hdr.data.b2 == 8w5 || hdr.data.b2 == 8w10 || hdr.data.b2 == 8w17 || hdr.data.b2 == 8w19) {
            test1.apply();
        } else {
            test2.apply();
        }
    }
}

control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) {
    apply {
    }
}

control DeparserImpl(packet_out packet, in headers hdr) {
    apply {
        packet.emit<data_t>(hdr.data);
    }
}

control verifyChecksum(inout headers hdr, inout metadata meta) {
    apply {
    }
}

control computeChecksum(inout headers hdr, inout metadata meta) {
    apply {
    }
}

V1Switch<headers, metadata>(ParserImpl(), verifyChecksum(), ingress(), egress(), computeChecksum(), DeparserImpl()) main;

{'repo_name': 'p4lang/p4c', 'stars': '260', 'repo_language': 'C++', 'file_name': 'P4CUtils.cmake', 'mime_type': 'text/plain', 'hash': 3197598268424513435, 'source_dataset': 'data'}


/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
/*
 *  Main authors:
 *     Christian Schulte <schulte@gecode.org>
 *     Guido Tack <tack@gecode.org>
 *
 *  Copyright:
 *     Christian Schulte, 2004
 *     Guido Tack, 2004
 *
 *  This file is part of Gecode, the generic constraint
 *  development environment:
 *     http://www.gecode.org
 *
 *  Permission is hereby granted, free of charge, to any person obtaining
 *  a copy of this software and associated documentation files (the
 *  "Software"), to deal in the Software without restriction, including
 *  without limitation the rights to use, copy, modify, merge, publish,
 *  distribute, sublicense, and/or sell copies of the Software, and to
 *  permit persons to whom the Software is furnished to do so, subject to
 *  the following conditions:
 *
 *  The above copyright notice and this permission notice shall be
 *  included in all copies or substantial portions of the Software.
 *
 *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 *  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 *  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 *  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 */

#ifndef __GECODE_INT_DOM_HH__
#define __GECODE_INT_DOM_HH__

#include <gecode/int.hh>
#include <gecode/int/rel.hh>

/**
 * \namespace Gecode::Int::Dom
 * \brief Domain propagators
 */

namespace Gecode { namespace Int { namespace Dom {

  /**
   * \brief Reified range dom-propagator
   *
   * Requires \code #include <gecode/int/dom.hh> \endcode
   * \ingroup FuncIntProp
   */
  template<class View, ReifyMode rm>
  class ReRange : public ReUnaryPropagator<View,PC_INT_DOM,BoolView> {
  protected:
    using ReUnaryPropagator<View,PC_INT_DOM,BoolView>::x0;
    using ReUnaryPropagator<View,PC_INT_DOM,BoolView>::b;
    /// Minimum of range
    int min;
    /// Maximum of range
    int max;
    /// Constructor for cloning \a p
    ReRange(Space& home, ReRange& p);
    /// Constructor for creation
    ReRange(Home home, View x, int min, int max, BoolView b);
  public:
    /// Copy propagator during cloning
    virtual Actor* copy(Space& home);
    /// Perform propagation
    virtual ExecStatus propagate(Space& home, const ModEventDelta& med);
    /// Post propagator for \f$ (l\leq x \leq m) \Leftrightarrow b\f$
    static ExecStatus post(Home home, View x, int min, int max, BoolView b);
  };

  /**
   * \brief Reified domain dom-propagator
   *
   * Requires \code #include <gecode/int/dom.hh> \endcode
   * \ingroup FuncIntProp
   */
  template<class View, ReifyMode rm>
  class ReIntSet : public ReUnaryPropagator<View,PC_INT_DOM,BoolView> {
  protected:
    using ReUnaryPropagator<View,PC_INT_DOM,BoolView>::x0;
    using ReUnaryPropagator<View,PC_INT_DOM,BoolView>::b;

    /// %Domain
    IntSet is;
    /// Constructor for cloning \a p
    ReIntSet(Space& home, ReIntSet& p);
    /// Constructor for creation
    ReIntSet(Home home, View x, const IntSet& s, BoolView b);
  public:
    /// Copy propagator during cloning
    virtual Actor* copy(Space& home);
    /// Perform propagation
    virtual ExecStatus propagate(Space& home, const ModEventDelta& med);
    /// Post propagator for \f$ (x \in d) \Leftrightarrow b\f$
    static ExecStatus post(Home home, View x, const IntSet& s, BoolView b);
    /// Delete propagator and return its size
    virtual size_t dispose(Space& home);
  };

}}}

#include <gecode/int/dom/range.hpp>
#include <gecode/int/dom/set.hpp>

#endif

// STATISTICS: int-prop

{'repo_name': 'Gecode/gecode', 'stars': '147', 'repo_language': 'C++', 'file_name': 'footer.html', 'mime_type': 'text/plain', 'hash': -4595308153562665015, 'source_dataset': 'data'}


Music_PokeFluteChannel:
	channel_count 3
	channel 1, Music_PokeFluteChannel_Ch1
	channel 2, Music_PokeFluteChannel_Ch2
	channel 3, Music_PokeFluteChannel_Ch3

Music_PokeFluteChannel_Ch1:
	tempo 240
	volume 7, 7
	stereo_panning TRUE, FALSE
	duty_cycle 3
	pitch_offset 2
	note_type 12, 11, 4
	rest 4
	octave 3
	note E_, 8
	note E_, 8
	note_type 12, 11, 3
	note F_, 2
	note E_, 2
	note D_, 2
	note C_, 2
	octave 4
	note C_, 2
	octave 3
	note B_, 2
	note A_, 2
	note B_, 16
	rest 2
	octave 2
	note G_, 4
	note A_, 8
.mainloop:
	octave 3
	note E_, 2
	note G_, 2
	note F_, 4
	octave 2
	note F_, 8
	octave 3
	note G_, 2
	note A_, 2
	note G_, 4
	octave 2
	note E_, 4
	octave 3
	note G_, 2
	note A_, 2
	note B_, 2
	octave 4
	note C_, 2
	octave 3
	note B_, 8
	note A_, 8
	note G_, 8
	octave 2
	note B_, 2
	octave 3
	note D_, 2
	octave 2
	note B_, 4
	note G_, 8
	octave 3
	note C_, 4
	note E_, 2
	note D_, 2
	octave 2
	note G_, 4
	note A_, 8
	sound_loop 0, .mainloop

Music_PokeFluteChannel_Ch2:
	stereo_panning FALSE, TRUE
	duty_cycle 3
	pitch_offset 1
	note_type 12, 12, 4
	rest 4
	octave 3
	note C_, 8
	octave 2
	note G_, 8
	note A_, 8
	octave 3
	note E_, 8
	note_type 12, 12, 3
	octave 2
	note E_, 2
	note G_, 2
	octave 3
	note C_, 2
	note E_, 2
	octave 2
	note G_, 2
	octave 3
	note C_, 2
	note E_, 2
	note D_, 2
	octave 2
	note E_, 2
	octave 3
	note C_, 2
	octave 2
	note F_, 2
	octave 3
	note C_, 2
	octave 2
	note E_, 2
	note G_, 2
.mainloop:
	octave 3
	note C_, 2
	note E_, 2
	octave 2
	note A_, 4
	note C_, 4
	octave 3
	note G_, 2
	note F_, 2
	note E_, 2
	note D_, 2
	octave 2
	note G_, 4
	note C_, 4
	note G_, 2
	note E_, 2
	octave 3
	note C_, 2
	octave 2
	note A_, 2
	note D_, 2
	note G_, 2
	note B_, 2
	octave 3
	note D_, 2
	octave 2
	note D_, 2
	note F#, 2
	note A_, 2
	octave 3
	note D_, 2
	octave 2
	note G_, 2
	octave 3
	note D_, 2
	note G_, 2
	note D_, 2
	octave 2
	note D_, 4
	note G_, 4
	note E_, 2
	octave 3
	note C_, 2
	note C_, 4
	octave 2
	note G_, 2
	octave 3
	note E_, 2
	octave 2
	note G_, 2
	note B_, 2
	note E_, 2
	octave 3
	note C_, 2
	octave 2
	note F_, 2
	octave 3
	note C_, 2
	octave 2
	note E_, 2
	note G_, 2
	sound_loop 0, .mainloop

Music_PokeFluteChannel_Ch3:
	vibrato 16, 1, 4
	note_type 12, 1, 0
	sound_call .sub1
	sound_call .sub1
.mainloop:
	rest 4
	octave 4
	note C_, 2
	octave 5
	note F_, 2
	note E_, 2
	note F_, 2
	octave 6
	note C_, 4
	rest 4
	octave 4
	note C_, 2
	octave 5
	note G_, 2
	note F#, 2
	note G_, 2
	octave 6
	note C_, 4
	octave 5
	note B_, 2
	note A_, 2
	note B_, 4
	note A_, 2
	note G_, 2
	note A_, 4
	note G_, 2
	note F#, 2
	note G_, 8
	rest 4
	sound_call .sub1
	sound_loop 0, .mainloop

.sub1:
	octave 5
	note E_, 2
	note F_, 2
	note G_, 4
	note A_, 2
	note G_, 2
	octave 6
	note C_, 4
	note C_, 2
	note D_, 2
	note C_, 2
	octave 5
	note G_, 2
	note A_, 2
	note F_, 2
	note G_, 4
	sound_ret

{'repo_name': 'pret/pokegold', 'stars': '153', 'repo_language': 'Assembly', 'file_name': 'house_collision.asm', 'mime_type': 'text/plain', 'hash': 5305311375017210402, 'source_dataset': 'data'}


<?php
/*
 * Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
namespace TencentCloud\Apigateway\V20180808\Models;
use TencentCloud\Common\AbstractModel;

/**
 * DescribeService请求参数结构体
 *
 * @method string getServiceId() 获取待查询的服务唯一 ID。
 * @method void setServiceId(string $ServiceId) 设置待查询的服务唯一 ID。
 */
class DescribeServiceRequest extends AbstractModel
{
    /**
     * @var string 待查询的服务唯一 ID。
     */
    public $ServiceId;

    /**
     * @param string $ServiceId 待查询的服务唯一 ID。
     */
    function __construct()
    {

    }

    /**
     * For internal only. DO NOT USE IT.
     */
    public function deserialize($param)
    {
        if ($param === null) {
            return;
        }
        if (array_key_exists("ServiceId",$param) and $param["ServiceId"] !== null) {
            $this->ServiceId = $param["ServiceId"];
        }
    }
}

{'repo_name': 'TencentCloud/tencentcloud-sdk-php', 'stars': '178', 'repo_language': 'PHP', 'file_name': 'init_oral_process.php', 'mime_type': 'text/x-php', 'hash': -2459370437452904507, 'source_dataset': 'data'}


apiVersion: apps/v1
kind: Deployment
metadata:
  name: pod-quota-demo
spec:
  selector:
    matchLabels:
      purpose: quota-demo
  replicas: 3
  template:
    metadata:
      labels:
        purpose: quota-demo
    spec:
      containers:
      - name: pod-quota-demo
        image: nginx

{'repo_name': 'kubernetes/website', 'stars': '2071', 'repo_language': 'HTML', 'file_name': 'default.md', 'mime_type': 'text/plain', 'hash': -3949591181758978366, 'source_dataset': 'data'}