text:
/**
 */
package edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository;

import edu.kit.ipd.sdq.kamp4aps.model.basic.BasicPackage;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 *
 * The Package for the model.
 * It contains accessors for the meta objects to represent
 *

 *
each class,

 *
each feature of each class,

 *
each operation of each class,

 *
each enum,

 *
and each data type

 *

 *
 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.InterfaceRepositoryFactory
 * @model kind="package"
 * @generated
 */
public interface InterfaceRepositoryPackage extends EPackage {
	/**
	 * The package name.
	 *
	 *
	 * @generated
	 */
	String eNAME = "InterfaceRepository";

	/**
	 * The package namespace URI.
	 *
	 *
	 * @generated
	 */
	String eNS_URI = "edu.kit.ipd.sdq.kaps.xppu.interfacerepository";

	/**
	 * The package namespace name.
	 *
	 *
	 * @generated
	 */
	String eNS_PREFIX = "InterfaceRepository";

	/**
	 * The singleton instance of the package.
	 *
	 *
	 * @generated
	 */
	InterfaceRepositoryPackage eINSTANCE = edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl.init();

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryImpl Interface Repository}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getInterfaceRepository()
	 * @generated
	 */
	int INTERFACE_REPOSITORY = 0;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int INTERFACE_REPOSITORY__ID = BasicPackage.ENTITY__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int INTERFACE_REPOSITORY__NAME = BasicPackage.ENTITY__NAME;

	/**
	 * The feature id for the 'All Interfaces In Plant' containment reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int INTERFACE_REPOSITORY__ALL_INTERFACES_IN_PLANT = BasicPackage.ENTITY_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the 'Interface Repository' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int INTERFACE_REPOSITORY_FEATURE_COUNT = BasicPackage.ENTITY_FEATURE_COUNT + 1;

	/**
	 * The number of operations of the 'Interface Repository' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int INTERFACE_REPOSITORY_OPERATION_COUNT = BasicPackage.ENTITY_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceImpl Interface}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getInterface()
	 * @generated
	 */
	int INTERFACE = 1;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int INTERFACE__ID = BasicPackage.ENTITY__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int INTERFACE__NAME = BasicPackage.ENTITY__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int INTERFACE__PARENT_ELEMENT = BasicPackage.ENTITY_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the 'Interface' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int INTERFACE_FEATURE_COUNT = BasicPackage.ENTITY_FEATURE_COUNT + 1;

	/**
	 * The number of operations of the 'Interface' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int INTERFACE_OPERATION_COUNT = BasicPackage.ENTITY_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingImpl Screwing}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewing()
	 * @generated
	 */
	int SCREWING = 2;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING__ID = INTERFACE__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING__NAME = INTERFACE__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING__PARENT_ELEMENT = INTERFACE__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Screwing' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_FEATURE_COUNT = INTERFACE_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Screwing' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_OPERATION_COUNT = INTERFACE_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingSplitterImpl Screwing Splitter}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingSplitterImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewingSplitter()
	 * @generated
	 */
	int SCREWING_SPLITTER = 3;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_SPLITTER__ID = SCREWING__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_SPLITTER__NAME = SCREWING__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_SPLITTER__PARENT_ELEMENT = SCREWING__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Screwing Splitter' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_SPLITTER_FEATURE_COUNT = SCREWING_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Screwing Splitter' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_SPLITTER_OPERATION_COUNT = SCREWING_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingMotorImpl Screwing Motor}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingMotorImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewingMotor()
	 * @generated
	 */
	int SCREWING_MOTOR = 4;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_MOTOR__ID = SCREWING__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_MOTOR__NAME = SCREWING__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_MOTOR__PARENT_ELEMENT = SCREWING__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Screwing Motor' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_MOTOR_FEATURE_COUNT = SCREWING_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Screwing Motor' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_MOTOR_OPERATION_COUNT = SCREWING_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingRackImpl Screwing Rack}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingRackImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewingRack()
	 * @generated
	 */
	int SCREWING_RACK = 5;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_RACK__ID = SCREWING__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_RACK__NAME = SCREWING__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_RACK__PARENT_ELEMENT = SCREWING__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Screwing Rack' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_RACK_FEATURE_COUNT = SCREWING_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Screwing Rack' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_RACK_OPERATION_COUNT = SCREWING_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingCylinderImpl Screwing Cylinder}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingCylinderImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewingCylinder()
	 * @generated
	 */
	int SCREWING_CYLINDER = 6;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_CYLINDER__ID = SCREWING__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_CYLINDER__NAME = SCREWING__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_CYLINDER__PARENT_ELEMENT = SCREWING__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Screwing Cylinder' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_CYLINDER_FEATURE_COUNT = SCREWING_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Screwing Cylinder' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_CYLINDER_OPERATION_COUNT = SCREWING_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingFixtureImpl Screwing Fixture}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingFixtureImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewingFixture()
	 * @generated
	 */
	int SCREWING_FIXTURE = 7;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_FIXTURE__ID = SCREWING__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_FIXTURE__NAME = SCREWING__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_FIXTURE__PARENT_ELEMENT = SCREWING__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Screwing Fixture' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_FIXTURE_FEATURE_COUNT = SCREWING_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Screwing Fixture' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_FIXTURE_OPERATION_COUNT = SCREWING_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingPotentiometerImpl Screwing Potentiometer}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingPotentiometerImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewingPotentiometer()
	 * @generated
	 */
	int SCREWING_POTENTIOMETER = 8;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_POTENTIOMETER__ID = SCREWING__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_POTENTIOMETER__NAME = SCREWING__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_POTENTIOMETER__PARENT_ELEMENT = SCREWING__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Screwing Potentiometer' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_POTENTIOMETER_FEATURE_COUNT = SCREWING_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Screwing Potentiometer' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SCREWING_POTENTIOMETER_OPERATION_COUNT = SCREWING_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SuspensionImpl Suspension}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SuspensionImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getSuspension()
	 * @generated
	 */
	int SUSPENSION = 9;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION__ID = INTERFACE__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION__NAME = INTERFACE__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION__PARENT_ELEMENT = INTERFACE__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Suspension' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION_FEATURE_COUNT = INTERFACE_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Suspension' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION_OPERATION_COUNT = INTERFACE_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SuspensionRackImpl Suspension Rack}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SuspensionRackImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getSuspensionRack()
	 * @generated
	 */
	int SUSPENSION_RACK = 10;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION_RACK__ID = SUSPENSION__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION_RACK__NAME = SUSPENSION__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION_RACK__PARENT_ELEMENT = SUSPENSION__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Suspension Rack' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION_RACK_FEATURE_COUNT = SUSPENSION_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Suspension Rack' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION_RACK_OPERATION_COUNT = SUSPENSION_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SuspensionArmImpl Suspension Arm}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SuspensionArmImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getSuspensionArm()
	 * @generated
	 */
	int SUSPENSION_ARM = 11;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION_ARM__ID = SUSPENSION__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION_ARM__NAME = SUSPENSION__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION_ARM__PARENT_ELEMENT = SUSPENSION__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Suspension Arm' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION_ARM_FEATURE_COUNT = SUSPENSION_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Suspension Arm' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SUSPENSION_ARM_OPERATION_COUNT = SUSPENSION_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.GearingImpl Gearing}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.GearingImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getGearing()
	 * @generated
	 */
	int GEARING = 12;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int GEARING__ID = INTERFACE__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int GEARING__NAME = INTERFACE__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int GEARING__PARENT_ELEMENT = INTERFACE__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Gearing' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int GEARING_FEATURE_COUNT = INTERFACE_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Gearing' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int GEARING_OPERATION_COUNT = INTERFACE_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ClampingImpl Clamping}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ClampingImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getClamping()
	 * @generated
	 */
	int CLAMPING = 13;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int CLAMPING__ID = INTERFACE__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int CLAMPING__NAME = INTERFACE__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int CLAMPING__PARENT_ELEMENT = INTERFACE__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Clamping' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int CLAMPING_FEATURE_COUNT = INTERFACE_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Clamping' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int CLAMPING_OPERATION_COUNT = INTERFACE_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.PneumaticSupplyImpl Pneumatic Supply}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.PneumaticSupplyImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getPneumaticSupply()
	 * @generated
	 */
	int PNEUMATIC_SUPPLY = 14;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int PNEUMATIC_SUPPLY__ID = INTERFACE__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int PNEUMATIC_SUPPLY__NAME = INTERFACE__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int PNEUMATIC_SUPPLY__PARENT_ELEMENT = INTERFACE__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Pneumatic Supply' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int PNEUMATIC_SUPPLY_FEATURE_COUNT = INTERFACE_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Pneumatic Supply' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int PNEUMATIC_SUPPLY_OPERATION_COUNT = INTERFACE_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SignalInterfaceImpl Signal Interface}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SignalInterfaceImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getSignalInterface()
	 * @generated
	 */
	int SIGNAL_INTERFACE = 15;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SIGNAL_INTERFACE__ID = INTERFACE__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SIGNAL_INTERFACE__NAME = INTERFACE__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SIGNAL_INTERFACE__PARENT_ELEMENT = INTERFACE__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Signal Interface' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SIGNAL_INTERFACE_FEATURE_COUNT = INTERFACE_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Signal Interface' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int SIGNAL_INTERFACE_OPERATION_COUNT = INTERFACE_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.WaterSupplyImpl Water Supply}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.WaterSupplyImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getWaterSupply()
	 * @generated
	 */
	int WATER_SUPPLY = 16;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int WATER_SUPPLY__ID = INTERFACE__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int WATER_SUPPLY__NAME = INTERFACE__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int WATER_SUPPLY__PARENT_ELEMENT = INTERFACE__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Water Supply' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int WATER_SUPPLY_FEATURE_COUNT = INTERFACE_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Water Supply' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int WATER_SUPPLY_OPERATION_COUNT = INTERFACE_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.PhysicalConnectionImpl Physical Connection}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.PhysicalConnectionImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getPhysicalConnection()
	 * @generated
	 */
	int PHYSICAL_CONNECTION = 17;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int PHYSICAL_CONNECTION__ID = INTERFACE__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int PHYSICAL_CONNECTION__NAME = INTERFACE__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int PHYSICAL_CONNECTION__PARENT_ELEMENT = INTERFACE__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Physical Connection' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int PHYSICAL_CONNECTION_FEATURE_COUNT = INTERFACE_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Physical Connection' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int PHYSICAL_CONNECTION_OPERATION_COUNT = INTERFACE_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.TransportConnectionImpl Transport Connection}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.TransportConnectionImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getTransportConnection()
	 * @generated
	 */
	int TRANSPORT_CONNECTION = 18;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TRANSPORT_CONNECTION__ID = INTERFACE__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TRANSPORT_CONNECTION__NAME = INTERFACE__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TRANSPORT_CONNECTION__PARENT_ELEMENT = INTERFACE__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Transport Connection' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TRANSPORT_CONNECTION_FEATURE_COUNT = INTERFACE_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Transport Connection' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TRANSPORT_CONNECTION_OPERATION_COUNT = INTERFACE_OPERATION_COUNT + 0;

	/**
	 * The meta object id for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.FixtureImpl Fixture}' class.
	 *
	 *
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.FixtureImpl
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getFixture()
	 * @generated
	 */
	int FIXTURE = 19;

	/**
	 * The feature id for the 'Id' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FIXTURE__ID = INTERFACE__ID;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FIXTURE__NAME = INTERFACE__NAME;

	/**
	 * The feature id for the 'Parent Element' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FIXTURE__PARENT_ELEMENT = INTERFACE__PARENT_ELEMENT;

	/**
	 * The number of structural features of the 'Fixture' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FIXTURE_FEATURE_COUNT = INTERFACE_FEATURE_COUNT + 0;

	/**
	 * The number of operations of the 'Fixture' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FIXTURE_OPERATION_COUNT = INTERFACE_OPERATION_COUNT + 0;

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.InterfaceRepository Interface Repository}'.
	 *
	 *
	 * @return the meta object for class 'Interface Repository'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.InterfaceRepository
	 * @generated
	 */
	EClass getInterfaceRepository();

	/**
	 * Returns the meta object for the containment reference list '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.InterfaceRepository#getAllInterfacesInPlant All Interfaces In Plant}'.
	 *
	 *
	 * @return the meta object for the containment reference list 'All Interfaces In Plant'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.InterfaceRepository#getAllInterfacesInPlant()
	 * @see #getInterfaceRepository()
	 * @generated
	 */
	EReference getInterfaceRepository_AllInterfacesInPlant();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Interface Interface}'.
	 *
	 *
	 * @return the meta object for class 'Interface'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Interface
	 * @generated
	 */
	EClass getInterface();

	/**
	 * Returns the meta object for the reference list '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Interface#getParentElement Parent Element}'.
	 *
	 *
	 * @return the meta object for the reference list 'Parent Element'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Interface#getParentElement()
	 * @see #getInterface()
	 * @generated
	 */
	EReference getInterface_ParentElement();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Screwing Screwing}'.
	 *
	 *
	 * @return the meta object for class 'Screwing'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Screwing
	 * @generated
	 */
	EClass getScrewing();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.ScrewingSplitter Screwing Splitter}'.
	 *
	 *
	 * @return the meta object for class 'Screwing Splitter'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.ScrewingSplitter
	 * @generated
	 */
	EClass getScrewingSplitter();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.ScrewingMotor Screwing Motor}'.
	 *
	 *
	 * @return the meta object for class 'Screwing Motor'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.ScrewingMotor
	 * @generated
	 */
	EClass getScrewingMotor();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.ScrewingRack Screwing Rack}'.
	 *
	 *
	 * @return the meta object for class 'Screwing Rack'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.ScrewingRack
	 * @generated
	 */
	EClass getScrewingRack();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.ScrewingCylinder Screwing Cylinder}'.
	 *
	 *
	 * @return the meta object for class 'Screwing Cylinder'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.ScrewingCylinder
	 * @generated
	 */
	EClass getScrewingCylinder();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.ScrewingFixture Screwing Fixture}'.
	 *
	 *
	 * @return the meta object for class 'Screwing Fixture'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.ScrewingFixture
	 * @generated
	 */
	EClass getScrewingFixture();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.ScrewingPotentiometer Screwing Potentiometer}'.
	 *
	 *
	 * @return the meta object for class 'Screwing Potentiometer'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.ScrewingPotentiometer
	 * @generated
	 */
	EClass getScrewingPotentiometer();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Suspension Suspension}'.
	 *
	 *
	 * @return the meta object for class 'Suspension'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Suspension
	 * @generated
	 */
	EClass getSuspension();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.SuspensionRack Suspension Rack}'.
	 *
	 *
	 * @return the meta object for class 'Suspension Rack'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.SuspensionRack
	 * @generated
	 */
	EClass getSuspensionRack();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.SuspensionArm Suspension Arm}'.
	 *
	 *
	 * @return the meta object for class 'Suspension Arm'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.SuspensionArm
	 * @generated
	 */
	EClass getSuspensionArm();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Gearing Gearing}'.
	 *
	 *
	 * @return the meta object for class 'Gearing'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Gearing
	 * @generated
	 */
	EClass getGearing();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Clamping Clamping}'.
	 *
	 *
	 * @return the meta object for class 'Clamping'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Clamping
	 * @generated
	 */
	EClass getClamping();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.PneumaticSupply Pneumatic Supply}'.
	 *
	 *
	 * @return the meta object for class 'Pneumatic Supply'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.PneumaticSupply
	 * @generated
	 */
	EClass getPneumaticSupply();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.SignalInterface Signal Interface}'.
	 *
	 *
	 * @return the meta object for class 'Signal Interface'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.SignalInterface
	 * @generated
	 */
	EClass getSignalInterface();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.WaterSupply Water Supply}'.
	 *
	 *
	 * @return the meta object for class 'Water Supply'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.WaterSupply
	 * @generated
	 */
	EClass getWaterSupply();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.PhysicalConnection Physical Connection}'.
	 *
	 *
	 * @return the meta object for class 'Physical Connection'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.PhysicalConnection
	 * @generated
	 */
	EClass getPhysicalConnection();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.TransportConnection Transport Connection}'.
	 *
	 *
	 * @return the meta object for class 'Transport Connection'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.TransportConnection
	 * @generated
	 */
	EClass getTransportConnection();

	/**
	 * Returns the meta object for class '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Fixture Fixture}'.
	 *
	 *
	 * @return the meta object for class 'Fixture'.
	 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.Fixture
	 * @generated
	 */
	EClass getFixture();

	/**
	 * Returns the factory that creates the instances of the model.
	 *
	 *
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	InterfaceRepositoryFactory getInterfaceRepositoryFactory();

	/**
	 *
	 * Defines literals for the meta objects that represent
	 *

	 *
each class,

	 *
each feature of each class,

	 *
each operation of each class,

	 *
each enum,

	 *
and each data type

	 *

	 *
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryImpl Interface Repository}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getInterfaceRepository()
		 * @generated
		 */
		EClass INTERFACE_REPOSITORY = eINSTANCE.getInterfaceRepository();

		/**
		 * The meta object literal for the 'All Interfaces In Plant' containment reference list feature.
		 *
		 *
		 * @generated
		 */
		EReference INTERFACE_REPOSITORY__ALL_INTERFACES_IN_PLANT = eINSTANCE.getInterfaceRepository_AllInterfacesInPlant();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceImpl Interface}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getInterface()
		 * @generated
		 */
		EClass INTERFACE = eINSTANCE.getInterface();

		/**
		 * The meta object literal for the 'Parent Element' reference list feature.
		 *
		 *
		 * @generated
		 */
		EReference INTERFACE__PARENT_ELEMENT = eINSTANCE.getInterface_ParentElement();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingImpl Screwing}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewing()
		 * @generated
		 */
		EClass SCREWING = eINSTANCE.getScrewing();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingSplitterImpl Screwing Splitter}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingSplitterImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewingSplitter()
		 * @generated
		 */
		EClass SCREWING_SPLITTER = eINSTANCE.getScrewingSplitter();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingMotorImpl Screwing Motor}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingMotorImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewingMotor()
		 * @generated
		 */
		EClass SCREWING_MOTOR = eINSTANCE.getScrewingMotor();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingRackImpl Screwing Rack}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingRackImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewingRack()
		 * @generated
		 */
		EClass SCREWING_RACK = eINSTANCE.getScrewingRack();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingCylinderImpl Screwing Cylinder}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingCylinderImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewingCylinder()
		 * @generated
		 */
		EClass SCREWING_CYLINDER = eINSTANCE.getScrewingCylinder();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingFixtureImpl Screwing Fixture}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingFixtureImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewingFixture()
		 * @generated
		 */
		EClass SCREWING_FIXTURE = eINSTANCE.getScrewingFixture();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingPotentiometerImpl Screwing Potentiometer}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ScrewingPotentiometerImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getScrewingPotentiometer()
		 * @generated
		 */
		EClass SCREWING_POTENTIOMETER = eINSTANCE.getScrewingPotentiometer();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SuspensionImpl Suspension}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SuspensionImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getSuspension()
		 * @generated
		 */
		EClass SUSPENSION = eINSTANCE.getSuspension();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SuspensionRackImpl Suspension Rack}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SuspensionRackImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getSuspensionRack()
		 * @generated
		 */
		EClass SUSPENSION_RACK = eINSTANCE.getSuspensionRack();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SuspensionArmImpl Suspension Arm}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SuspensionArmImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getSuspensionArm()
		 * @generated
		 */
		EClass SUSPENSION_ARM = eINSTANCE.getSuspensionArm();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.GearingImpl Gearing}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.GearingImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getGearing()
		 * @generated
		 */
		EClass GEARING = eINSTANCE.getGearing();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ClampingImpl Clamping}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.ClampingImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getClamping()
		 * @generated
		 */
		EClass CLAMPING = eINSTANCE.getClamping();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.PneumaticSupplyImpl Pneumatic Supply}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.PneumaticSupplyImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getPneumaticSupply()
		 * @generated
		 */
		EClass PNEUMATIC_SUPPLY = eINSTANCE.getPneumaticSupply();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SignalInterfaceImpl Signal Interface}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.SignalInterfaceImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getSignalInterface()
		 * @generated
		 */
		EClass SIGNAL_INTERFACE = eINSTANCE.getSignalInterface();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.WaterSupplyImpl Water Supply}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.WaterSupplyImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getWaterSupply()
		 * @generated
		 */
		EClass WATER_SUPPLY = eINSTANCE.getWaterSupply();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.PhysicalConnectionImpl Physical Connection}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.PhysicalConnectionImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getPhysicalConnection()
		 * @generated
		 */
		EClass PHYSICAL_CONNECTION = eINSTANCE.getPhysicalConnection();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.TransportConnectionImpl Transport Connection}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.TransportConnectionImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getTransportConnection()
		 * @generated
		 */
		EClass TRANSPORT_CONNECTION = eINSTANCE.getTransportConnection();

		/**
		 * The meta object literal for the '{@link edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.FixtureImpl Fixture}' class.
		 *
		 *
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.FixtureImpl
		 * @see edu.kit.ipd.sdq.kamp4aps.model.aPS.InterfaceRepository.impl.InterfaceRepositoryPackageImpl#getFixture()
		 * @generated
		 */
		EClass FIXTURE = eINSTANCE.getFixture();

	}

} //InterfaceRepositoryPackage


text:
from __future__ import print_function
import tensorflow as tf
import numpy as np
import unittest
import Henbun as hb
import os

class SquareModel(hb.model.Model):
    def setUp(self):
        self.p = hb.param.Variable([2,3])

    @hb.model.AutoOptimize()
    def likelihood(self):
        return -tf.reduce_sum(tf.square(self.p))

class test_model(unittest.TestCase):
    def setUp(self):
        tf.set_random_seed(0)
        self.m = SquareModel()

    def test_auto_optimize(self):
        optimizer = self.m.likelihood()
        optimizer.compile(tf.train.AdamOptimizer(learning_rate=0.01))
        # just run
        val = optimizer.run()
        self.assertTrue(np.allclose(val, -np.sum(np.square(self.m.p.value))))
        # optimize
        optimizer.optimize(maxiter=1500)
        self.assertTrue(np.allclose(self.m.p.value, np.zeros((2,3)), atol=1.0e-4))

class SquareModel2(hb.model.Model):
    def setUp(self):
        self.p = hb.param.Variable([2,3], collections = ['global1', 'global2'])
        self.q = hb.param.Variable([2,3], collections = ['global2'])
        self.v = hb.variationals.Gaussian([2,3], collections = ['global2'])

    @hb.model.AutoOptimize()
    def likelihood(self):
        return -tf.reduce_sum(tf.square(self.p)) \
               -tf.reduce_sum(tf.square(self.q))

class test_model2(unittest.TestCase):
    def setUp(self):
        tf.set_random_seed(0)
        self.m = SquareModel2()
        self.filename = './saved_file.dat'
        self.files = [self.filename+'.data-00000-of-00001',
        self.filename+'.index', self.filename+'.meta', 'checkpoint']
        if os.path.exists(self.filename): os.remove(self.filename)
        [os.remove(f) for f in self.files if os.path.exists(f)]

    def test_initialize_finalize(self):
        optimizer = self.m.likelihood()
        self.assertTrue(self.m.p._assigned)
        optimizer.compile(tf.train.AdamOptimizer(learning_rate=0.01), collection='global1')
        self.assertFalse(self.m.p._assigned)
        optimizer.optimize()
        self.assertFalse(self.m.p._assigned)

    def test_auto_optimize(self):
        optimizer = self.m.likelihood()
        # optimize p only
        optimizer.compile(tf.train.AdamOptimizer(learning_rate=0.01), collection='global1')
        optimizer.optimize(maxiter=1500)
        self.assertTrue(np.allclose(self.m.p.value, np.zeros((2,3)), atol=1.0e-4))
        self.assertFalse(np.allclose(self.m.q.value, np.zeros((2,3)), atol=1.0e-4))
        # optimize p and q
        optimizer.compile(tf.train.AdamOptimizer(learning_rate=0.01), collection='global2')
        # check self.p value does not change after the compilation
        self.assertTrue(np.allclose(self.m.p.value, np.zeros((2,3)), atol=1.0e-3))
        optimizer.optimize(maxiter=1000)
        self.assertTrue(np.allclose(self.m.p.value, np.zeros((2,3)), atol=1.0e-3))
        self.assertTrue(np.allclose(self.m.q.value, np.zeros((2,3)), atol=1.0e-3))

    def test_save(self):
        self.m.q = np.ones((2,3))
        self.m.save(self.filename)
        # make sure the file is generated
        self.assertTrue(os.path.exists(self.files[0]))
        # make sure the model.restore()
        self.m2 = SquareModel2()
        self.m2.restore(self.filename)
        self.assertTrue(np.allclose(self.m2.q.value, np.ones((2,3))))
        self.assertFalse(np.allclose(self.m2.p.value, np.ones((2,3))))
        # make sure initialize() does not change the value
        self.m2.initialize()
        self.assertTrue(np.allclose(self.m2.q.value, np.ones((2,3))))
        self.setUp()

    def test_parameterized(self):
        """ make sure save method for parameterized works fine """
        self.m.v.q_mu = np.ones((2*3))
        self.m.v.save(self.filename)
        # make sure the file is generated
        self.assertTrue(os.path.exists(self.files[0]))
        # make sure the model.restore() works
        self.m2 = SquareModel2()
        self.m2.v.restore(self.filename)
        self.assertTrue(np.allclose(self.m2.v.q_mu.value, np.ones((2*3))))
        self.assertFalse(np.allclose(self.m2.p.value, np.ones((2,3))))
        # make sure initialize() does not change the value
        self.m2.initialize()
        self.assertTrue(np.allclose(self.m2.v.q_mu.value, np.ones((2*3))))
        self.setUp()

class MinibatchModel(hb.model.Model):
    def setUp(self):
        self.d = hb.param.MinibatchData(np.random.randn(100,2,3))
        self.p = hb.param.Variable([2,3])

    @hb.model.AutoOptimize()
    def likelihood(self):
        return -tf.reduce_sum(tf.square(self.p)) - self.KL()

class test_model3(unittest.TestCase):
    def test_minibatch(self):
        tf.set_random_seed(0)
        self.m = MinibatchModel()
        self.assertTrue(self.m._index.data_size is None)
        # compile
        self.m.likelihood().compile()
        self.assertTrue(self.m._index.data_size == 100)
        # change the data size
        self.m.d = hb.param.MinibatchData(np.random.randn(200,2,3))
        self.assertTrue(self.m._index.data_size == 100)
        # compile
        self.m.likelihood().compile()
        self.assertTrue(self.m._index.data_size == 200)

        # check the data size
        test_feed = self.m.test_feed_dict(20)
        with self.m.tf_mode():
            d = self.m.run(self.m.d, feed_dict = test_feed)
        self.assertTrue(d.shape == (20,2,3))

class ModelWithKeyword(hb.model.Model):
    def setUp(self, key1, key2):
        self.key1=key1
        self.key2=key2

class test_model4(unittest.TestCase):
    def test(self):
        model = ModelWithKeyword(key1='hoge', key2='foo')
        self.assertTrue(model.key1 == 'hoge')
        self.assertTrue(model.key2 == 'foo')

if __name__ == '__main__':
    unittest.main()

redpajama_set_name: RedPajamaGithub


text:
#include <stdio.h>
#include "il_system.h"
#include "il_utils.h"
#include "il_sysio.h"
#ifndef IL_WIN32_PLATFORM
	#ifdef HAVE_SYS_TYPES_H
		#include <sys/types.h>
	#endif
	#ifdef HAVE_SYS_STAT_H
		#include <sys/stat.h>
	#endif
	#ifdef HAVE_UNISTD_H
		#include <unistd.h>
	#endif
	#ifdef HAVE_UTIME_H
		#include <utime.h>
	#endif
#endif

#ifdef	__cplusplus
extern	"C" {
#endif

/*
 * Table of command-line options.
 */
static ILCmdLineOption const options[] = {
	{"-o", 'o', 1, 0, 0},
	{"--output", 'o', 1,
		"--output FILE     or -o FILE",
		"Specify the output filename, if not the same as the input."},
	{"-p", 'p', 0, 0, 0},
	{"--preserve-dates", 'p', 0,
		"--preserve-dates  or -p",
		"Preserve access and modification times."},
	{"-v", 'v', 0, 0, 0},
	{"--verbose", 'v', 0,
		"--verbose         or -v",
		"List all files that are modified."},
	{"-V", 'V', 0, 0, 0},
	{"--version", 'V', 0,
		"--version         or -V",
		"Print the version of the program."},
	{"--help", 'h', 0,
		"--help",
		"Print this help message."},

	/* GNU strip compatibility options that we don't use */
	{"-F", '*', 1, 0, 0},
	{"--target", '*', 1, 0, 0},
	{"-I", '*', 1, 0, 0},
	{"--input-target", '*', 1, 0, 0},
	{"-O", '*', 1, 0, 0},
	{"--output-target", '*', 1, 0, 0},
	{"-R", '*', 1, 0, 0},
	{"--remove-section", '*', 1, 0, 0},
	{"-N", '*', 1, 0, 0},
	{"--strip-symbol", '*', 1, 0, 0},
	{"-K", '*', 1, 0, 0},
	{"--keep-symbol", '*', 1, 0, 0},
	{"-s", '*', 0, 0, 0},
	{"--strip-all", '*', 0, 0, 0},
	{"-g", '*', 0, 0, 0},
	{"-S", '*', 0, 0, 0},
	{"--strip-debug", '*', 0, 0, 0},
	{"--strip-unneeded", '*', 0, 0, 0},
	{"-x", '*', 0, 0, 0},
	{"--discard-all", '*', 0, 0, 0},
	{"-X", '*', 0, 0, 0},
	{"--discard-locals", '*', 0, 0, 0},
	{0, 0, 0, 0, 0}
};

static void usage(const char *progname);
static void version(void);
static int stripFile(const char *progname, const char *input,
					 const char *output, int preserveDates, int verbose);

int main(int argc, char *argv[])
{
	char *progname = argv[0];
	const char *output = 0;
	int preserveDates = 0;
	int verbose = 0;
	int errors;
	int state, opt;
	char *param;

	/* Parse the command-line arguments */
	state = 0;
	while((opt = ILCmdLineNextOption(&argc, &argv, &state,
									 options, &param)) != 0)
	{
		switch(opt)
		{
			case 'o':
			{
				output = param;
			}
			break;

			case 'p':
			{
				preserveDates = 1;
			}
			break;

			case 'v':
			{
				verbose = 1;
			}
			break;

			case 'V':
			{
				version();
				return 0;
			}
			/* Not reached */

			case '*': break;	/* Ignore compatibility options */

			default:
			{
				usage(progname);
				return 1;
			}
			/* Not reached */
		}
	}

	/* We need at least one input file argument */
	if(argc <= 1)
	{
		usage(progname);
		return 1;
	}

	/* Can only have one argument if an output file is specified */
	if(output && argc != 2)
	{
		usage(progname);
		return 1;
	}

	/* Strip the specified files */
	errors = 0;
	while(argc > 1)
	{
		if(output && !strcmp(output, argv[1]))
		{
			output = 0;
		}
		errors |= stripFile(progname, argv[1], output, preserveDates, verbose);
		++argv;
		--argc;
	}

	/* Done */
	return errors;
}

static void usage(const char *progname)
{
	fprintf(stdout, "ILSTRIP " VERSION " - IL Binary Strip Utility\n");
	fprintf(stdout, "Copyright (c) 2003 Southern Storm Software, Pty Ltd.\n");
	fprintf(stdout, "\n");
	fprintf(stdout, "Usage: %s [options] input ...\n", progname);
	fprintf(stdout, "\n");
	ILCmdLineHelp(options);
}

static void version(void)
{

	fprintf(stdout, "ILSTRIP " VERSION " - IL Binary Strip Utility\n");
	fprintf(stdout, "Copyright (c) 2003 Southern Storm Software, Pty Ltd.\n");
	printf("\n");
	printf("ILSTRIP comes with ABSOLUTELY NO WARRANTY.  This is free software,\n");
	printf("and you are welcome to redistribute it under the terms of the\n");
	printf("GNU General Public License.  See the file COPYING for further details.\n");
	printf("\n");
	printf("Use the `--help' option to get help on the command-line options.\n");
}

/*
 * Report that a file has the wrong format.
 */
static void wrongFormat(const char *progname, const char *input, FILE *file)
{
	fclose(file);
	fputs(progname, stderr);
	fputs(": ", stderr);
	fputs(input, stderr);
	fputs(": File format not recognized\n", stderr);
}

/*
 * Open a file, trying both binary and text versions.
 */
static FILE *openFile(const char *progname, const char *filename,
					  const char *openBinary, const char *openText)
{
	FILE *file;
	if((file = fopen(filename, openBinary)) == 0)
	{
		/* Try again, in case the "b" flag is not understood by libc */
		if((file = fopen(filename, openText)) == 0)
		{
			fputs(progname, stderr);
			fputs(": ", stderr);
			perror(filename);
			return 0;
		}
	}
	return file;
}

/*
 * Strip an IL binary.
 */
static int stripFile(const char *progname, const char *input,
					 const char *output, int preserveDates, int verbose)
{
	FILE *infile;
	FILE *outfile;
	char buffer[4096];
	ILUInt32 len;
	ILUInt32 offset;
	ILUInt32 optHeader;
	ILUInt32 numSectionsOffset;
	ILUInt32 numSections;
	ILUInt32 headerSize;
	ILUInt32 debugRVA;
	ILUInt32 debugStart;
	const char *tempFile;
	char *nameBuf;

	/* Attempt to open the specified file */
	if((infile = openFile(progname, input, "rb", "r")) == 0)
	{
		return 1;
	}

	/* Read the first 4k of the file so that we can parse the headers */
	len = (ILUInt32)fread(buffer, 1, sizeof(buffer), infile);

	/* Do we have an MS-DOS stub and PE signature?  Note: other "strip"
	   programs support object files and ".a" archives, but we don't yet */
	if(len < 64)
	{
		wrongFormat(progname, input, infile);
		return 1;
	}
	if(buffer[0] != 'M' || buffer[1] != 'Z')
	{
		wrongFormat(progname, input, infile);
		return 1;
	}
	offset = IL_READ_UINT32(buffer + 60);
	if((offset + 4) >= len)
	{
		wrongFormat(progname, input, infile);
		return 1;
	}
	if(buffer[offset] != 'P' || buffer[offset + 1] != 'E' ||
	   buffer[offset + 2] != '\0' || buffer[offset + 3] != '\0')
	{
		wrongFormat(progname, input, infile);
		return 1;
	}
	offset += 4;

	/* Process the PE/COFF header and skip to the start of the section table */
	if((offset + 20) > len)
	{
		wrongFormat(progname, input, infile);
		return 1;
	}
	numSectionsOffset = offset + 2;
	numSections = IL_READ_UINT16(buffer + offset + 2);
	headerSize = IL_READ_UINT16(buffer + offset + 16);
	if(headerSize < 216 || headerSize > 1024)
	{
		wrongFormat(progname, input, infile);
		return 1;
	}
	optHeader = offset + 20;
	offset += 20 + headerSize;
	if(offset >= len)
	{
		wrongFormat(progname, input, infile);
		return 1;
	}

	/* Determine if the last section is ".ildebug".  If it isn't,
	   then the binary has already been stripped of debug symbols */
	if((offset + 40 * numSections) > len)
	{
		wrongFormat(progname, input, infile);
		return 1;
	}
	if(numSections == 0 ||
	   ILMemCmp(buffer + offset + (numSections - 1) * 40, ".ildebug", 8) != 0)
	{
		/* We exit successfully if the file is already stripped */
		if(output)
		{
			/* Copy the entire contents to the output */
			if((outfile = openFile(progname, output, "wb", "w")) == 0)
			{
				fclose(infile);
				return 1;
			}
			while(len > 0)
			{
				fwrite(buffer, 1, (int)len, outfile);
				if(len < sizeof(buffer))
				{
					len = 0;
				}
				else
				{
					len = (ILUInt32)fread(buffer, 1, sizeof(buffer), infile);
				}
			}
			fclose(outfile);
		}
		fclose(infile);
		return 0;
	}

	/* Patch the header to remove the ".ildebug" section, and determine
	   how many bytes will remain in the file once the section is gone */
	debugRVA = IL_READ_UINT32(buffer + offset + (numSections - 1) * 40 + 12);
	debugStart = IL_READ_UINT32(buffer + offset + (numSections - 1) * 40 + 20);
	ILMemZero(buffer + offset + (numSections - 1) * 40, 40);
	IL_WRITE_UINT32(buffer + optHeader + 56, debugRVA);	/* New image size */
	IL_WRITE_UINT16(buffer + numSectionsOffset, numSections - 1);
	if(debugStart < len)
	{
		len = debugStart;
	}

	/* Create the temporary output filename */
	if(output)
	{
		tempFile = output;
		nameBuf = 0;
	}
	else
	{
		if((nameBuf = (char *)ILMalloc(strlen(input) + 5)) == 0)
		{
			fputs("virtual memory exhausted\n", stderr);
			fclose(infile);
			return 1;
		}
		strcpy(nameBuf, input);
		strcat(nameBuf, ".tmp");
		tempFile = nameBuf;
	}

	/* Print what we are doing if the verbose flag is set */
	if(verbose)
	{
		printf("copy from %s(pecoff-cli) to %s(pecoff-cli)\n",
			   input, tempFile);
	}

	/* Open the temporary file */
	if((outfile = openFile(progname, tempFile, "wb", "w")) == 0)
	{
		fclose(infile);
		if(nameBuf)
		{
			ILFree(nameBuf);
		}
		return 1;
	}

	/* Copy the contents across, with the ".ildebug" section removed */
	offset = 0;
	while(offset < debugStart && len > 0)
	{
		fwrite(buffer, 1, (int)len, outfile);
		offset += len;
		if(offset < debugStart && len >= sizeof(buffer))
		{
			len = (debugStart - offset);
			if(len > sizeof(buffer))
			{
				len = sizeof(buffer);
			}
			len = fread(buffer, 1, (int)len, infile);
		}
		else
		{
			len = 0;
		}
	}

	/* Close the streams */
	fclose(infile);
	fclose(outfile);

#if !defined(IL_WIN32_PLATFORM) && defined(HAVE_STAT) && defined(HAVE_UTIME)
	/* Copy the date information across if necessary */
	if(preserveDates)
	{
		struct stat st;
		struct utimbuf ut;
		if(stat(input, &st) >= 0)
		{
			ut.actime = st.st_atime;
			ut.modtime = st.st_mtime;
			utime(tempFile, &ut);
		}
	}
#endif

	/* Rename the temporary file, to replace the original input */
	if(!output)
	{
		ILRenameDir(tempFile, input);
	}
	if(nameBuf)
	{
		ILFree(nameBuf);
	}

	/* Finished */
	return 0;
}

#ifdef	__cplusplus
};
#endif


text:
from CacheManager import CacheManager
from StackEnvironment import StackEnvironment
from SyslinuxHelper import SyslinuxHelper
import inspect
import logging

class BaseOS(object):

    """

    @param osinfo_dict:
    @param install_type:
    @param install_media_location:
    @param install_config:
    @param install_script:
    """

    def __init__(self, osinfo_dict, install_type, install_media_location, install_config, install_script = None):
        self.log = logging.getLogger('%s.%s' % (__name__, self.__class__.__name__))
        self.env = StackEnvironment()
        self.cache = CacheManager()
        self.syslinux = SyslinuxHelper()
        self.osinfo_dict = osinfo_dict
        self.install_type = install_type
        self.install_media_location = install_media_location
        self.install_config = install_config
        self.install_script = install_script
        self.iso_volume_delete = False
        # Subclasses can pull in the above and then do OS specific tasks to fill in missing
        # information and determine if the resulting install is possible

    def os_ver_arch(self):
        """

        @return:
        """
        return self.osinfo_dict['shortid'] + "-" + self.install_config['arch']

    def prepare_install_instance(self):
        """

        @return:
        """
        raise NotImplementedError("Function (%s) not implemented" % (inspect.stack()[0][3]))

    def start_install_instance(self):
        """

        @return:
        """
        raise NotImplementedError("Function (%s) not implemented" % (inspect.stack()[0][3]))

    def update_status(self):
        """

        @return:
        """
        raise NotImplementedError("Function (%s) not implemented" % (inspect.stack()[0][3]))

    def wants_iso_content(self):
        """

        @return:
        """
        raise NotImplementedError("Function (%s) not implemented" % (inspect.stack()[0][3]))

    def iso_content_dict(self):
        """

        @return:
        """
        raise NotImplementedError("Function (%s) not implemented" % (inspect.stack()[0][3]))

    def url_content_dict(self):
        """

        @return:
        """
        raise NotImplementedError("Function (%s) not implemented" % (inspect.stack()[0][3]))

    def abort(self):
        """

        @return:
        """
        raise NotImplementedError("Function (%s) not implemented" % (inspect.stack()[0][3]))

    def cleanup(self):
        """

        @return:
        """
        raise NotImplementedError("Function (%s) not implemented" % (inspect.stack()[0][3]))


text:
'use strict';

let Compiler = require('./lib/compiler.module');
let base64 = require('./lib/base64.module');

module.exports.base64FromString = base64.base64FromString;
module.exports.base64FromFile = base64.base64FromFile;

module.exports = Compiler;


text:
'use strict';

exports.__esModule = true;
exports.isEventFromHandle = isEventFromHandle;
exports.isValueOutOfRange = isValueOutOfRange;
exports.isNotTouchEvent = isNotTouchEvent;
exports.getClosestPoint = getClosestPoint;
exports.getPrecision = getPrecision;
exports.getMousePosition = getMousePosition;
exports.getTouchPosition = getTouchPosition;
exports.getHandleCenterPosition = getHandleCenterPosition;
exports.ensureValueInRange = ensureValueInRange;
exports.ensureValuePrecision = ensureValuePrecision;
exports.pauseEvent = pauseEvent;
exports.getKeyboardValueMutator = getKeyboardValueMutator;

var _KeyCode = require('./KeyCode');

var _KeyCode2 = _interopRequireDefault(_KeyCode);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isEventFromHandle(e, handles) {
  return Object.keys(handles).some(function (key) {
    return e.target === handles[key].base;
  });
}

function isValueOutOfRange(value, _ref) {
  var min = _ref.min,
      max = _ref.max;

  return value < min || value > max;
}

function isNotTouchEvent(e) {
  return e.touches.length > 1 || e.type.toLowerCase() === 'touchend' && e.touches.length > 0;
}

function getClosestPoint(val, _ref2) {
  var marks = _ref2.marks,
      step = _ref2.step,
      min = _ref2.min;

  var points = Object.keys(marks).map(parseFloat);
  if (step !== null) {
    var closestStep = Math.round((val - min) / step) * step + min;
    points.push(closestStep);
  }
  var diffs = points.map(function (point) {
    return Math.abs(val - point);
  });
  return points[diffs.indexOf(Math.min.apply(Math, diffs))];
}

function getPrecision(step) {
  var stepString = step.toString();
  var precision = 0;
  if (stepString.indexOf('.') >= 0) {
    precision = stepString.length - stepString.indexOf('.') - 1;
  }
  return precision;
}

function getMousePosition(vertical, e) {
  return vertical ? e.clientY : e.pageX;
}

function getTouchPosition(vertical, e) {
  return vertical ? e.touches[0].clientY : e.touches[0].pageX;
}

function getHandleCenterPosition(vertical, handle) {
  var coords = handle.getBoundingClientRect();
  return vertical ? coords.top + coords.height * 0.5 : coords.left + coords.width * 0.5;
}

function ensureValueInRange(val, _ref3) {
  var max = _ref3.max,
      min = _ref3.min;

  if (val <= min) {
    return min;
  }
  if (val >= max) {
    return max;
  }
  return val;
}

function ensureValuePrecision(val, props) {
  var step = props.step;

  var closestPoint = getClosestPoint(val, props);
  return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));
}

function pauseEvent(e) {
  e.stopPropagation();
  e.preventDefault();
}

function getKeyboardValueMutator(e) {
  switch (e.keyCode) {
    case _KeyCode2.default.UP:
    case _KeyCode2.default.RIGHT:
      return function (value, props) {
        return value + props.step;
      };

    case _KeyCode2.default.DOWN:
    case _KeyCode2.default.LEFT:
      return function (value, props) {
        return value - props.step;
      };

    case _KeyCode2.default.END:
      return function (value, props) {
        return props.max;
      };
    case _KeyCode2.default.HOME:
      return function (value, props) {
        return props.min;
      };
    case _KeyCode2.default.PAGE_UP:
      return function (value, props) {
        return value + props.step * 2;
      };
    case _KeyCode2.default.PAGE_DOWN:
      return function (value, props) {
        return value - props.step * 2;
      };

    default:
      return undefined;
  }
}


text:
"""
isodate.py

Functions for manipulating a subset of ISO8601 date, as specified by
  <http://www.w3.org/TR/NOTE-datetime>

Exposes:
  - parse(s)
    s being a conforming (regular or unicode) string. Raises ValueError for
    invalid strings. Returns a float (representing seconds from the epoch;
    see the time module).

  - parse_datetime(s)   # if datetime module is available
    s being a conforming (regular or unicode) string. Raises ValueError for
    invalid strings. Returns a datetime instance.

  - asString(i)
    i being an integer or float. Returns a conforming string.

TODO:
  - Precision? it would be nice to have an interface that tells us how
    precise a datestring is, so that we don't make assumptions about it;
    e.g., 2001 != 2001-01-01T00:00:00Z.

Thanks to Andrew Dalke for datetime support.
"""

__license__ = """
Copyright (c) 2002-2005 Mark Nottingham <mnot@pobox.com>

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.

Note: datetime support added by Andrew Dalke <dalke@dalkescientific.com>.
All copyrightable changes by Andrew Dalke are released into the public domain.
No copyright protection is asserted.
"""

import sys, time, re, operator
from types import IntType, FloatType
from calendar import timegm

try:
    import datetime
except ImportError:
    _has_datetime = 0
else:
    _has_datetime = 1

__version__ = "0.7"

date_parser = re.compile(r"""^
    (?P<year>\d{4,4})
    (?:
        -
        (?P<month>\d{1,2})
        (?:
            -
            (?P<day>\d{1,2})
            (?:
                T
                (?P<hour>\d{1,2})
                :
                (?P<minute>\d{1,2})
                (?:
                    :
                    (?P<second>\d{1,2})
                    (?:
                        \.
                        (?P<dec_second>\d+)?
                    )?
                )?
                (?:
                    Z
                    |
                    (?:
                        (?P<tz_sign>[+-])
                        (?P<tz_hour>\d{1,2})
                        :
                        (?P<tz_min>\d{2,2})
                    )
                )
            )?
        )?
    )?
$""", re.VERBOSE)

def parse(s):
    """ parse a string and return seconds since the epoch. """
    assert isinstance(s, basestring)
    r = date_parser.search(s)
    try:
        a = r.groupdict('0')
    except:
        raise ValueError, 'invalid date string format'
    d = timegm((   int(a['year']),
                   int(a['month']) or 1,
                   int(a['day']) or 1,
                   int(a['hour']),
                   int(a['minute']),
                   int(a['second']),
                   0,
                   0,
                   0
               ))
    return d - int("%s%s" % (
            a.get('tz_sign', '+'),
            ( int(a.get('tz_hour', 0)) * 60 * 60 ) + \
            ( int(a.get('tz_min', 0)) * 60 ))
    )

if _has_datetime:
    def parse_datetime(s):
        """ parse a string and return a datetime object. """
        assert isinstance(s, basestring)
        r = date_parser.search(s)
        try:
            a = r.groupdict('0')
        except:
            raise ValueError, 'invalid date string format'

        dt = datetime.datetime(int(a['year']),
                               int(a['month']) or 1,
                               int(a['day']) or 1,
                               # If not given these will default to 00:00:00.0
                               int(a['hour']),
                               int(a['minute']),
                               int(a['second']),
                               # Convert into microseconds
                               int(a['dec_second'])*100000,
                               )
        tz_hours_offset = int(a['tz_hour'])
        tz_mins_offset = int(a['tz_min'])
        if a.get('tz_sign', '+') == "-":
            return dt + datetime.timedelta(hours = tz_hours_offset,
                                           minutes = tz_mins_offset)
        else:
            return dt - datetime.timedelta(hours = tz_hours_offset,
                                           minutes = tz_mins_offset)

def asString(i):
    """ given seconds since the epoch, return a dateTime string. """
    assert type(i) in [IntType, FloatType]
    year, month, day, hour, minute, second, wday, jday, dst = time.gmtime(i)
    o = str(year)
    if (month, day, hour, minute, second) == (1, 1, 0, 0, 0): return o
    o = o + '-%2.2d' % month
    if (day, hour, minute, second) == (1, 0, 0, 0): return o
    o = o + '-%2.2d' % day
    if (hour, minute, second) == (0, 0, 0): return o
    o = o + 'T%2.2d:%2.2d' % (hour, minute)
    if second != 0:
        o = o + ':%2.2d' % second
    o = o + 'Z'
    return o

def _cross_test():
    for iso in ("1997-07-16T19:20+01:00",
                "2001-12-15T22:43:46Z",
                "2004-09-26T21:10:15Z",
                "2004",
                "2005-04",
                "2005-04-30",
                "2004-09-26T21:10:15.1Z",
                "2004-09-26T21:10:15.1+05:00",
                "2004-09-26T21:10:15.1-05:00",
                ):
        timestamp = parse(iso)
        dt1 = datetime.datetime.utcfromtimestamp(timestamp)
        dt2 = parse_datetime(iso)
        if (dt1 != dt2 and
            dt1 != dt2.replace(microsecond=0)):
            raise AssertionError("Different: %r != %r" %
                                 (dt1, dt2))

if __name__ == "__main__":
    print parse("1997-07-16T19:20+01:00")
    print parse("2001-12-15T22:43:46Z")
    print parse("2004-09-26T21:10:15Z")
    if _has_datetime:
        _cross_test()
        print parse_datetime("1997-07-16T19:20+01:00")
        print parse_datetime("2001-12-15T22:43:46Z")
        print parse_datetime("2004-09-26T21:10:15Z")


text:
<!DOCTYPE html>

<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta charset="UTF-8">
<title>API - appendPlaylist 3</title>
<link href="_styles.css" rel="stylesheet" type="text/css">

<input type="button" onclick="doit3();" value="Add 2 tracks" />

API - appendPlaylist


text:
#import <Foundation/Foundation.h>
#import "PBMVastTrackingEvents.h"
#import "PBMVastResourceContainerProtocol.h"

@interface PBMVastCreativeCompanionAdsCompanion : NSObject <PBMVastResourceContainerProtocol>

@property (nonatomic, assign) NSInteger width;
@property (nonatomic, assign) NSInteger height;
@property (nonatomic, strong, nonnull) PBMVastTrackingEvents *trackingEvents;

@property (nonatomic, assign) NSInteger assetWidth;
@property (nonatomic, assign) NSInteger assetHeight;
@property (nonatomic, copy, nullable) NSString *companionIdentifier;
@property (nonatomic, copy, nullable) NSString *clickThroughURI;
@property (nonatomic, copy, nullable) NSString *adParameters;
@property (nonatomic, strong, nonnull) NSMutableArray<NSString *> *clickTrackingURIs;

// PBMVastResourceContainer
@property (nonatomic, assign) PBMVastResourceType resourceType;
@property (nonatomic, copy, nullable) NSString *resource;
@property (nonatomic, copy, nullable) NSString *staticType;

@end


text:
#include <zephyr.h>
#include <logging/log.h>
LOG_MODULE_REGISTER(main);

void main(void)
{
	LOG_INF("entered main.");
}