text:
code[class*="language-"],
pre[class*="language-"] {
  color: #0b0c0c;
  text-shadow: 0 1px #fff;
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  font-size: 14px;
  direction: ltr;
  text-align: left;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
  word-spacing: normal;
  word-break: normal;
  white-space: pre-wrap;
  white-space: -moz-pre-wrap;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  word-wrap: break-word; }

pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
  text-shadow: none;
  background: #b3d4fc; }

pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
  text-shadow: none;
  background: #b3d4fc; }

@media print {
  code[class*="language-"],
  pre[class*="language-"] {
    text-shadow: none; } }

pre[class*="language-"] {
  border: 1px solid #bfc1c3;
  padding: 1em;
  margin: 0 0 30px 0;
  overflow: auto; }

:not(pre) > code[class*="language-"],
pre[class*="language-"] {
  background: #fcfcfc; }

:not(pre) > code[class*="language-"] {
  padding: .1em;
  border-radius: .3em; }

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata,
.token.punctuation {
  color: #6a7276; }

.namespace {
  opacity: .7; }

.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted,
.token.selector,
.token.keyword {
  color: #900b18; }

.token.attr-name,
.token.char,
.token.builtin,
.token.inserted,
.token.function,
.token.property {
  color: #1E8400; }

.token.regex,
.token.important,
.token.atrule,
.language-scss .token.keyword,
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
  color: #de272b; }

.token.attr-value,
.token.string,
.token.variable {
  color: #005ea5; }

.language-scss .token.number,
.language-css .token.number {
  color: #0b0c0c; }

.token.important,
.token.bold {
  font-weight: bold; }

.token.italic {
  font-style: italic; }

.token.entity {
  cursor: help; }


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Windows.Forms;

namespace LetsCreateSomeInstances
{
    class Clown
    {
        public string Name;
        public int Height;

        public void TalkAboutYourself()
        {
            MessageBox.Show("My name is "
               + Name + " and I'm "
               + Height + " inches tall.");
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
import Arkham from "../../core/arkham";
import times from "lodash/times";
import assign from "lodash/assign";
import filter from "lodash/filter";
import each from "lodash/each";
import uniq from "lodash/uniq";
import MapApi from "./map_api";

const generatePlacements = () => {
  let placement = {
    divName: "sponsored",
    networkId: 9807,
    siteId: 316543,
    adTypes: [ 43 ],
    eventIds: [31, 32],
    properties: {
      "place": window.lp.place.name.toLowerCase()
    }
  };

  const placements = [];

  times(20, (i) => {
    placements.push(assign({}, placement, {
      divName: `sponsored${i + 1}`
    }));
  });

  return placements;
};

class MapActions {

  viewChange(data) {
    Arkham.trigger("view.changed", data);
  }

  gotoPlace({ placeTitle, place, breadcrumb, topic="" }) {
    let query = topic ? `?topic=${topic.toLowerCase()}` : "",
        url = `/${place}/map.json${query}`;

    Arkham.trigger("place.fetching", { placeTitle, breadcrumb, topic });

    MapApi.fetch(url).done((results) => {
      Arkham.trigger("place.fetched", results);
    });

    return {
      category: "Destinations Next",
      label:    placeTitle
    };
  }

  poiOpen(data) {
    Arkham.trigger("poi.opened", data);
  }

  poiClose() {
    Arkham.trigger("poi.closed");
  }

  pinHover(data) {
    Arkham.trigger("map.poihover", data);
  }

  itemHighlight(data) {
    Arkham.trigger("item.hovered", data);
  }

  mapOpen() {
    Arkham.trigger("map.opened");
  }

  mapClose() {
    Arkham.trigger("map.closed");
  }

  setState(state) {
    Arkham.trigger("state.setinitial", state);
  }

  initMap() {
    Arkham.trigger("map.init");
    return { label: `/${window.lp.place.slug}/map`, category: "Page View" };
  }

  customPanel(data) {
    Arkham.trigger("custompanel.opened", data);
  }

  fetchSponsors() {
    let x = JSON.stringify({
      placements: generatePlacements()
    });

    $.ajax({
      url: "http://engine.adzerk.net/api/v2",
      method: "POST",
      contentType: "application/json",
      data: x,
      success: function(response) {
        let set = { title: "Sponsored", items: [] },
            decisions = uniq(filter(response.decisions, d => d), "creativeId");

        each(decisions, decision => {
          let poi = JSON.parse(decision.contents[0].body);
              set.items.push(poi);
        });

        if (set.items.length) {
          Arkham.trigger("sponsor.fetched", set);
        }
      },
      error: function() {
        console.log("fail");
      }
    });
  }
}

export default new MapActions();


text:
package de.ids_mannheim.korap.query.wrap;

import org.apache.lucene.search.spans.SpanQuery;
import org.apache.lucene.search.spans.SpanTermQuery;

import de.ids_mannheim.korap.query.SpanAttributeQuery;
import de.ids_mannheim.korap.util.QueryException;

/**
 * @author margaretha
 */
public class SpanAttributeQueryWrapper extends SpanQueryWrapper {

    private SpanQueryWrapper subquery;

    public SpanAttributeQueryWrapper (SpanQueryWrapper sqw) {
        if (sqw != null) {
            isNull = false;
        }
        else
            return;

        if (sqw.isEmpty()) {
            isEmpty = true;
            return;
        }

        this.subquery = sqw;
        if (sqw.isNegative) {
            this.isNegative = true;
        };

        this.maybeUnsorted = sqw.maybeUnsorted();
    };

    @Override
    public SpanQuery toFragmentQuery () throws QueryException {
        if (isNull || isEmpty)
            return null;

        SpanQuery sq = subquery.retrieveNode(this.retrieveNode)
                .toFragmentQuery();
        if (sq == null) {
            isNull = true;
            return null;
        }

        if (sq instanceof SpanTermQuery) {
            return new SpanAttributeQuery((SpanTermQuery) sq, isNegative, true);
        }
        else {
            throw new QueryException(
                    "SpanAttributeQuery only supports SpanTermQuery.");
        }
    }
}


text:
#define CATCH_CONFIG_DISABLE_EXCEPTIONS
#include <catch2/catch_all.hpp>

#include <higanbana/core/system/time.hpp>
#include <higanbana/core/profiling/profiling.hpp>

//#include <css/task.hpp>

#include <vector>
#include <thread>
#include <future>
#include <optional>
#include <cstdio>
#include <iostream>
#include <deque>
#include <atomic>

#include <windows.h>
/*
css::Task<void> empty_function() {
  co_return;
}

TEST_CASE("c++ threading")
{
  css::createThreadPool();
  empty_function().wait();
}*/


text:
/* React */
import { render, unmountComponentAtNode } from 'react-dom'
import Rtu      from 'react-addons-test-utils'
import React    from 'react'
/* Components to test */
import Element    from '../components/Element.js';
import Link       from '../components/Link.js';
import events     from '../mixins/scroll-events.js';
/* Test */
import expect   from 'expect'
import assert   from 'assert';

describe('Page', () => {

  let node = document.createElement('div');

  document.body.appendChild(node)

  let scrollDuration = 10;

  let component =

<Link to="test1" spy={true} smooth={true} duration={scrollDuration}>Test 1</Link>

<Link to="test2" spy={true} smooth={true} duration={scrollDuration}>Test 2</Link>

<Link to="test3" spy={true} smooth={true} duration={scrollDuration}>Test 3</Link>

<Link to="test4" spy={true} smooth={true} duration={scrollDuration}>Test 4</Link>

<Link to="test5" spy={true} smooth={true} duration={scrollDuration}>Test 5</Link>

<Link to="anchor" spy={true} smooth={true} duration={scrollDuration}>Test 6</Link>

        <Element name="test1" className="element">test 1</Element>
        <Element name="test2" className="element">test 2</Element>
        <Element name="test3" className="element">test 3</Element>
        <Element name="test4" className="element">test 4</Element>
        <Element name="test5" className="element">test 5</Element>

test 6

  beforeEach(() => {
    events.scrollEvent.remove('begin');
    events.scrollEvent.remove('end');
  });

  afterEach(function () {
    unmountComponentAtNode(node)
    window.scrollTo(0, 0);
  });

  it('renders six elements of link/element', (done) => {

    render(component, node, () => {

        var allLinks = node.querySelectorAll('a');
        var allTargets = node.querySelectorAll('.element');

        expect(allLinks.length).toEqual(6);
        expect(allTargets.length).toEqual(6);

        done();

    });

  })

  it('it is at top in start', (done) => {
    expect(window.scrollY).toEqual(0);
    done();
  });

  it('is active when clicked', (done) => {

    render(component, node, () => {

      var link = node.querySelectorAll('a')[2];

      var target = node.querySelectorAll('.element')[2];

      var expectedScrollTo = target.getBoundingClientRect().top;

      Rtu.Simulate.click(link);

      var scrollStart = window.scrollY;

      /* Let it scroll, duration is based on param sent to Link */

      setTimeout(() => {

        var scrollStop = scrollStart + expectedScrollTo

        expect(window.scrollY).toEqual(scrollStop);

        expect(link.className).toEqual('active');

        done();

      }, scrollDuration + 500);

    });

  })

  it('is active when clicked to last (5) element', (done) => {

    render(component, node, () => {

      var link = node.querySelectorAll('a')[5];

      var target = node.querySelectorAll('.element')[5];

      var expectedScrollTo = target.getBoundingClientRect().top;

      Rtu.Simulate.click(link);

      /* Let it scroll, duration is based on param sent to Link */
      var scrollStart = window.scrollY;

      setTimeout(() => {

        var scrollStop = scrollStart + expectedScrollTo

        expect(window.scrollY).toEqual(scrollStop);

        expect(link.className).toEqual('active');

        done();

      }, scrollDuration + 500);

      });

    })

  });


text:
package org.dhatim.safesql.builder;

import org.dhatim.safesql.SafeSql;
import org.dhatim.safesql.SafeSqlBuilder;

public class NamedOperand implements Operand {

    private final Alias alias;
    private final Operand operand;

    public NamedOperand(Operand operand, Alias alias) {
        this.operand = operand;
        this.alias = alias;
    }

    public Alias getAlias() {
        return alias;
    }

    public Operand getOperand() {
        return operand;
    }

    @Override
    public SafeSql toSafeSql() {
        return new SafeSqlBuilder()
                .append(operand)
                .append(" AS ")
                .append(alias)
                .toSafeSql();
    }

    @Override
    public void appendTo(SafeSqlBuilder builder) {
        builder.append(operand)
                .append(" AS ")
                .append(alias);
    }

}


text:
package aeronicamc.mods.mxtune.sound;

public interface IAudioStatusCallback
{
    void statusCallBack(ClientAudio.Status status, int playId);
}


text:
{% extends "base.html" %}

{% block title %}{{ error }} // {% endblock %}

{% block body %}

        {{ includes.title_bar("Can't Let You Do That, Star Fox", subtitle=error, modifier='admin') }}

What happened?

You're not allowed to be here right now. Can't have just anyone getting all up in my admin section, you know?

Now what?

If you think you should be allowed to be here, you should authenticate and then try again. If you're not allowed to be here but are trying anyway, I would ask you to stop that.

If you don't know what this is, you probably are just here on accident. You can browse and filter my reviews or browse my articles if you're looking for something to do.

{% endblock %}


text:
var webpack = require('webpack');
var merge = require('webpack-merge');

var TARGET = process.env.npm_lifecycle_event;

var base = {

};

if (TARGET == 'build') {
  // Build the module bundle to the dist/ folder
  module.exports = {
    entry: {
      contentSlider: "./src/ContentSlider.js"
    },
    // Export ContentSlider as Library
    output: {
      path: "dist",
      filename: "ContentSlider.min.js",
      // export itself to a global var
      libraryTarget: "umd",
      // name of the global var: "ContentSlider"
      library: "ContentSlider"
    },
    plugins: [
      new webpack.DefinePlugin({
        'process.env.NODE_ENV': '"production"'
      })
    ],
    module: {
      loaders: [
        {
          test: /\.js$/,
          exclude: /(node_modules|bower_components)/,
          loader: 'babel' // 'babel-loader' is also a valid name to reference
        }
      ]
    }
  };
} else if (TARGET == 'start') {
  // Start the development mode (webpack-dev-server) and serve `dev/index.html`
  module.exports = {
    entry: {
      contentSlider: "./src/ContentSlider.js"
    },
    output: {
      path: "dev",
      filename: "ContentSlider.dev.js",
      libraryTarget: "var",
      library: "ContentSliderModule"
    },
    devtool: "#inline-source-map",
    devServer: {
      contentBase: 'dev/'
    },
    module: {
      loaders: [
        {
          test: /\.js$/,
          exclude: /(node_modules|bower_components)/,
          loader: 'babel', // 'babel-loader' is also a valid name to reference
          query: {
            "babelrc": false,
            "presets": ["es2015"],
            "plugins": [
              "syntax-flow",
              "tcomb",
              "transform-flow-strip-types"
            ]

          },
          env: {
            "development": {
              "sourceMaps": "inline"
            }
          }
        }
      ]
    }
  };
} else {
  module.exports = base;
}


text:
#pragma once
#include <aws/swf/SWF_EXPORTS.h>
#include <aws/swf/SWFRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>

namespace Aws
{
namespace SWF
{
namespace Model
{

  /**
   */
  class AWS_SWF_API DescribeDomainRequest : public SWFRequest
  {
  public:
    DescribeDomainRequest();
    Aws::String SerializePayload() const override;

    Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;

    /**
     *
The name of the domain to describe.

     */
    inline const Aws::String& GetName() const{ return m_name; }

    /**
     *
The name of the domain to describe.

     */
    inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }

    /**
     *
The name of the domain to describe.

     */
    inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }

    /**
     *
The name of the domain to describe.

     */
    inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }

    /**
     *
The name of the domain to describe.

     */
    inline DescribeDomainRequest& WithName(const Aws::String& value) { SetName(value); return *this;}

    /**
     *
The name of the domain to describe.

     */
    inline DescribeDomainRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}

    /**
     *
The name of the domain to describe.

     */
    inline DescribeDomainRequest& WithName(const char* value) { SetName(value); return *this;}

  private:
    Aws::String m_name;
    bool m_nameHasBeenSet;
  };

} // namespace Model
} // namespace SWF
} // namespace Aws


text:
@interface AppDelegate ()

@end

@implementation AppDelegate

@synthesize player;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    //UBGame* game = [[UBGame alloc] initTestGame];
    UBMenuViewController *menuVC = [[UBMenuViewController alloc] init];
    UINavigationController *nvcontrol =[[UINavigationController alloc] initWithRootViewController: menuVC];
    self.window.rootViewController = nvcontrol;
    nvcontrol.navigationBarHidden = YES;
    NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"backgroundMusic" ofType:@"mp3"];
    NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
    player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil];
    player.numberOfLoops = -1; //infinite

    [player play];
    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

- (void)applicationWillTerminate:(UIApplication *)application {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

@end


text:
package net.violet.platform.xmpp.packet;

import net.violet.platform.datamodel.InterruptionLogImpl;
import net.violet.platform.datamodel.VObject;
import net.violet.platform.datamodel.factories.Factories;
import net.violet.platform.message.MessageDraft;
import net.violet.platform.object.EarMng;
import net.violet.platform.ping.EventMng;
import net.violet.platform.util.Constantes;
import net.violet.platform.xmpp.ComponentPingPongPacketListenerTest;
import net.violet.platform.xmpp.JabberComponent;
import net.violet.platform.xmpp.PingPongPacketTest;

import org.apache.log4j.Logger;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.Packet;
import org.jivesoftware.smack.packet.PacketExtension;
import org.jivesoftware.smack.packet.IQ.Type;

public class JabberComponentObjectsPacketListener extends AbstractPacketListener {

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

	/**
	 * référence sur le composant
	 */
	private final JabberComponent mComponent;

	private static final int NB_THREADS = Constantes.NB_COMPOSANT_OBJECT_THREADS;

	public JabberComponentObjectsPacketListener(JabberComponent inComponent) {
		super(JabberComponentObjectsPacketListener.NB_THREADS);
		this.mComponent = inComponent;
	}

	@Override
	protected void doProcessPacket(Packet inPacket) {
		JabberComponentObjectsPacketListener.LOGGER.debug("Into doProcessPacket : " + inPacket.toXML());
		if (inPacket instanceof IQSources) {
			processIQSourcesPacket((IQSources) inPacket);
			JabberComponentObjectsPacketListener.LOGGER.debug("PROCESS " + inPacket.toXML());
		} else if (inPacket instanceof PingPongPacketTest) {
			JabberComponentObjectsPacketListener.LOGGER.debug("Process PingPongPacket");
			ComponentPingPongPacketListenerTest.processPingPongExtension(this.mComponent, (PingPongPacketTest) inPacket);
		} else if (inPacket instanceof Message) {
			processMessagePacket((Message) inPacket);
			JabberComponentObjectsPacketListener.LOGGER.debug("PROCESS " + inPacket.toXML());
		}
	}

	private void processMessagePacket(Message inPacket) {
		// On cherche les extensions.
		for (final PacketExtension theExtension : inPacket.getExtensions()) {
			if (theExtension instanceof EarsPacket) {
				processEarsExtension(inPacket, (EarsPacket) theExtension);
			} else if (theExtension instanceof ButtonPacket) {
				processButtonExtension(inPacket, (ButtonPacket) theExtension);
			} // ...
		}
	}

	private void processIQSourcesPacket(IQSources inPacket) {
		if (inPacket.getType() == Type.GET) {
			final IQSources theReply = new IQSources();
			final VObject theObject = Factories.VOBJECT.findByJID(inPacket.getFrom());
			if (theObject != null) {
				theObject.setLastActivityTime();

				// xmpp object is connected
				theObject.setMode(VObject.MODE_XMPP);
				JabberComponentObjectsPacketListener.LOGGER.info("XMPP OBJECT BOOT " + theObject.getObject_login() + " (" + theObject.getObject_serial() + ")");

				final MessageDraft theMessage = new MessageDraft(theObject);
				theMessage.loadSourcesFromDatabase();
				// Mettre le status
				theMessage.setStatusFromObjectRecord();
				theMessage.setNbMessages(Factories.MESSAGE_COUNTER.getRabbitStateByRecipient(Factories.MESSENGER.getByObject(theObject)));
				theMessage.setEars(theObject.getObject_left(), theObject.getObject_right());
				theMessage.setSourceUpdate(true);
				theReply.setPingPacket(new PingPacket(theMessage));
			} else {
				JabberComponentObjectsPacketListener.LOGGER.info("IQ SOURCES: OBJET INCONNU, FROM = " + inPacket.getFrom());
				final MessageDraft theMessage = new MessageDraft(null);
				theMessage.setStatus(net.violet.platform.message.Message.MODE.ACTIF.getId());
				theReply.setPingPacket(new PingPacket(theMessage));
			}
			theReply.setType(Type.RESULT);
			theReply.setTo(inPacket.getFrom());
			theReply.setFrom(inPacket.getTo());
			theReply.setPacketID(inPacket.getPacketID());

			this.mComponent.sendPacket(theReply);

		}
	}

	private void processEarsExtension(Message inMessage, EarsPacket inExtension) {
		final String theFrom = inMessage.getFrom();
		if (theFrom != null) {
			final Integer leftEarPosObj = inExtension.getLeftEar();
			final Integer rightEarPosObj = inExtension.getRightEar();
			if ((leftEarPosObj != null) || (rightEarPosObj != null)) {
				// Les oreilles ont bougé en mode actif.
				// -> communion d'oreille.
				final VObject theObject = Factories.VOBJECT.findByJID(theFrom);
				if (theObject != null) {
					theObject.setLastActivityTime();
					int earl;
					int earr;
					if (leftEarPosObj != null) {
						earl = leftEarPosObj;
						if (earl >= 17) {
							earl = 0;
						}
					} else {
						earl = theObject.getObject_left();
					}
					if (rightEarPosObj != null) {
						earr = rightEarPosObj;
						if (earr >= 17) {
							earr = 0;
						}
					} else {
						earr = theObject.getObject_right();
					}
					// Permet de repasser le lapin jabber en mode xmpp actif
					if (theObject.getObject_mode() == VObject.MODE_XMPP_INACTIVE) {
						theObject.setMode(VObject.MODE_XMPP);
					}

					InterruptionLogImpl.insert(theObject, InterruptionLogImpl.WHAT_OPTION.EARS, null);
					EarMng.earNotify(theObject, earl, earr);
				}
			}
		}
	}

	private void processButtonExtension(Message inMessage, ButtonPacket inExtension) {
		final String theFrom = inMessage.getFrom();
		if (theFrom != null) {
			// pour le futur , il sera peut etre possible de dire à son lapin de
			// se lever par la reco, ou
			// en simulant la reco. En attendant on regarde si le lapin est
			// actif pour prendre en compte
			// l'appel sur le bouton
			final Integer clicAction = inExtension.getClicAction();
			final Integer messageId = inExtension.getEventId();

			final VObject theObject = Factories.VOBJECT.findByJID(theFrom);
			if (theObject != null) {
				synchronized (theObject.getXMPPLock()) {
					theObject.setLastActivityTime();
					if (clicAction != null) { // il faut un simple ou double clic
						Enum<InterruptionLogImpl.WHAT_OPTION> inValue = null;
						if (clicAction == net.violet.platform.message.Message.CLIC_SIMPLE) {
							if (inExtension.isEventPresent()) {
								// Pendant la lecture.
								// Ici, rien à faire, le message a déjà été
								// marqué comme lu.
								inValue = InterruptionLogImpl.WHAT_OPTION.BUTTON_SIMPLE_CLIC_ONREAD;
							} else { // lecture des message en attente
								EventMng.reRead(theObject);
								inValue = InterruptionLogImpl.WHAT_OPTION.BUTTON_SIMPLE_CLIC;
							}
						} else if (clicAction == net.violet.platform.message.Message.CLIC_DOUBLE) {
							if (inExtension.isEventPresent()) {
								if (messageId != null) { // le message est archivé
									EventMng.ackOneByMessage(theObject, messageId);
									inValue = InterruptionLogImpl.WHAT_OPTION.BUTTON_DOUBLE_CLIC_ONREAD;
								} // on ne peut pas archiver ce message, il n'a pas d'ID.
							} else { // archivage de tous les messages en attente
								EventMng.ackAll(theObject);
								inValue = InterruptionLogImpl.WHAT_OPTION.BUTTON_DOUBLE_CLIC;
							}
						}

						if (inValue != null) {
							// Loggue des interruptions sur les lapin jabber
							InterruptionLogImpl.insert(theObject, inValue, null);
						}

						// Permet de repasser le lapin jabber en mode xmpp actif
						if (theObject.getObject_mode() == VObject.MODE_XMPP_INACTIVE) {
							theObject.setMode(VObject.MODE_XMPP);
						}
					}
				}
			}
		}
	}

}


text:
using System;
using ZyGames.Framework.Game.Cache;
using ZyGames.Framework.Common;
using ZyGames.Tianjiexing.Model;
using ZyGames.Framework.Game.Runtime;
using ZyGames.Tianjiexing.Model.Config;
using ZyGames.Tianjiexing.Model.Enum;

namespace ZyGames.Tianjiexing.BLL.GM
{
    public class AbilityCommand : TjBaseCommand
    {
        protected override void ProcessCmd(string[] args)
        {
            int abilityId = args.Length > 0 ? args[0].Trim().ToInt() : 0;
            if (abilityId > 0)
            {
                AddUserAbility(abilityId, UserID.ToInt(), 0, 0);
            }
        }

        /// <summary>
        /// 添加玩家魂技
        /// </summary>
        /// <param name="abilityId"></param>
        /// <param name="userId"></param>
        private void AddUserAbility(int abilityId, int userId, int generalID, int position)
        {
             GameDataCacheSet<UserAbility> _cacheSetAbility = new GameDataCacheSet<UserAbility>();
            var userAbility = _cacheSetAbility.FindKey(userId.ToString());
            var ability = userAbility != null && userAbility.AbilityList != null
                              ? userAbility.AbilityList.Find(s => s.AbilityID == abilityId)
                              : null;
            var abilityLv = new ConfigCacheSet<AbilityLvInfo>().FindKey(abilityId, 1);
            int experienceNum = abilityLv != null ? abilityLv.Experience : 0;
            if (userAbility == null)
            {
                userAbility = new UserAbility(userId);
                ability = new Ability();
                userAbility.CreateDate = DateTime.Now;
                ability.UserItemID = Guid.NewGuid().ToString();
                ability.AbilityID = abilityId;
                ability.AbilityLv = 1;
                ability.GeneralID = generalID;
                ability.ExperienceNum = experienceNum;
                ability.Position = position;
                userAbility.AbilityList.Add(ability);
                _cacheSetAbility.Add(userAbility);
            }
            else
            {
                ability = new Ability();
                ability.UserItemID = Guid.NewGuid().ToString();
                userAbility.CreateDate = DateTime.Now;
                ability.AbilityID = abilityId;
                ability.AbilityLv = 1;
                ability.GeneralID = generalID;
                ability.Position = position;
                ability.ExperienceNum = experienceNum;
                userAbility.AbilityList.Add(ability);
            }
        }
    }
}


text:
require 'gds_api/panopticon'

class EditionSlugMigrator

  attr_reader :logger

  def initialize(logger = nil)
    @logger = logger || Logger.new(STDOUT)
  end

  def run
    logger.info "Migrating slugs for #{slugs.size} editions"
    slugs.each do |slug, new_slug|
      editions = Edition.where(slug: slug)

      if editions.any?
        count = editions.count
        editions.each do |edition|
          edition.update_attribute(:slug, new_slug)

          # if there is a published edition, register the published edition
          # if there isn't a published edition, register the latest edition
          if edition.published_edition.present?
            edition.register_with_panopticon if edition == edition.published_edition
          elsif edition.latest_edition?
            edition.register_with_panopticon
          end

          edition.actions.create!(
            :request_type => Action::NOTE,
            :comment => "Edition moved from '#{slug}' to '#{new_slug}"
          )
        end

        logger.info "     #{slug} -> #{new_slug} (#{count} editions)"
      else
        logger.error "Edition not found with slug #{slug}"
      end
    end
    logger.info "Sequence complete."
  end

  private
    def slugs
      @slugs ||= load_slugs
    end

    def load_slugs
      json = File.open(Rails.root.join('data','slugs_to_migrate.json')).read
      JSON.parse(json) || [ ]
    end

end


text:
package commands

import (
	"context"
	"flag"

	"github.com/google/subcommands"
	"github.com/harikiriboy/go-ncvs-cli/ncvs"
	"github.com/harikiriboy/go-ncvs-cli/writer"
)

// DescribeScanTemplates is command of DescribeScanTemplates
type DescribeScanTemplates struct {
	Client ncvs.Client
	Writer writer.Writer

	scanTemplateName string
}

// Name return command name
func (*DescribeScanTemplates) Name() string {
	return "describe-scan-templates"
}

// Synopsis return synopsis
func (*DescribeScanTemplates) Synopsis() string {
	return "Describe ScanTemplates"
}

// Usage return usage
func (*DescribeScanTemplates) Usage() string {
	return `describe-scan-templates:
	describe-scan-templates
	  [-scan-template-name]
`
}

// SetFlags set flag
func (p *DescribeScanTemplates) SetFlags(f *flag.FlagSet) {
	f.StringVar(&p.scanTemplateName, "scan-template-name", "", "scan template name(default: empty)")
}

// Execute execute
func (p *DescribeScanTemplates) Execute(_ context.Context, f *flag.FlagSet, _ ...interface{}) subcommands.ExitStatus {
	res, err := p.Client.DescribeScanTemplates(ncvs.DescribeScanTemplatesParams{ScanTemplateName: p.scanTemplateName})
	if err != nil {
		p.Writer.Print("API request Error " + err.Error())
		return subcommands.ExitFailure
	}

	p.Writer.Print(res)
	return subcommands.ExitSuccess
}


text:
MOUNT_POINT="/export"

# check whether mount point exists and create if needed
if [ -d "$MOUNT_POINT" ]
then
  echo " Mount point ($MOUNT_POINT) exists."
else
  echo " Mount point ($MOUNT_POINT) does not exists. Creating it now."
  sudo mkdir -p "$MOUNT_POINT"
fi

# Test whether $MOUNT_POINT mounted already"
if [ ".`df -h |grep $MOUNT_POINT`" != "." ]
then
  echo " -> already mounted, exit here!"
  echo ""
  exit 0
fi

# Trying to mount external drive -- start loop
for drive in `sudo fdisk -l| grep ^/dev/sd|cut -c8|sort -u`
do
  test=`sudo fdisk -l /dev/sd${drive} |tr -s ' '|grep dev/sd${drive}1 2> /dev/null`
  echo " -> tested drive: $drive -- result: $test"
  if [ ".$test" == "./dev/sd${drive}1 63 3907029167 3907029105 1.8T 83 Linux" ]
  then
    echo "Try to mount /dev/sd${drive}"
    sudo mount /dev/sd${drive}1 $MOUNT_POINT
    echo ""
    ls -lhrt /export/
    echo ""
    exit 0
  fi
done

exit 0


text:
/*
 * LoadNmrTest.java
 * JUnit based test
 *
 * Created on June 25, 2004, 10:57 AM
 */

import java.text.*;
import javax.swing.*;
import javax.swing.border.Border;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import javax.swing.event.*;
import java.net.*;
import junit.framework.*;
import org.netbeans.jemmy.*;
import org.netbeans.jemmy.operators.*;

/**
 *
 * @author mrani
 */
public class LoadNmrTest extends TestCase {

    protected static String m_strDir = "";
    protected static String m_strPassword =  "";
    protected static String osVersion = "";
    protected static Thread loadnmrThread;
    public static final int MIN = 60000;

    public LoadNmrTest(java.lang.String testName) {
        super(testName);
    }

    public static void main(java.lang.String[] args) {
         try {
            if (args != null && args.length-1 > 0)
            {
                m_strDir = args[0];
                m_strPassword = args[args.length-1];
                osVersion = args[5];
            }
            new ClassReference("LoadNmr").startApplication(args);

            //increase timeouts values to see what's going on
            //otherwise everything's happened very fast
            JemmyProperties.getCurrentTimeouts().loadDebugTimeouts();
	} catch(Exception e) {
	    e.printStackTrace();
	}
        junit.textui.TestRunner.run(suite());
    }

    public static junit.framework.Test suite() {
        TestSuite suite = new TestSuite(LoadNmrTest.class);
        return suite;
    }

    public void testLoadVJ()
    {
        loadnmrThread = new Thread(new Runnable()
        {
            public void run()
            {
                String installLabel = System.getProperty("installLabel");
                String frameLabel = "Load OpenVnmrJ Software";
                if (installLabel != null)
                   frameLabel = frameLabel+ " for "+installLabel;

                JFrameOperator main = new JFrameOperator(frameLabel);
                if (m_strPassword != null && !m_strPassword.equals("") &&
                    m_strPassword.startsWith("password"))
                {
                    String strPath = m_strDir+".passwords";
                    String strPassword = m_strPassword.substring(9);
                    StringTokenizer strTok = new StringTokenizer(strPassword, ",\n");
                    System.out.println("cmd " + m_strPassword);
                    HashMap hmPassword = getPasswords(strPath);

                    int i = 0;
                    while (strTok.hasMoreTokens())
                    {
                        String strValue = strTok.nextToken();
                        JCheckBoxOperator chk = new JCheckBoxOperator(main, strValue);
                        chk.clickMouse();

                        JTextFieldOperator txf = new JTextFieldOperator(main, i);
                        String password = (String)hmPassword.get(strValue);
                        txf.setText(password);
                        System.out.println("cmd " + password);
                        i = i+1;
                    }
                }

                String strtype = System.getProperty("installtype");
                if (strtype != null && !strtype.equals("") )
                {
                   int ntype = 0;
                   ntype = Integer.parseInt(strtype);
                   JTabbedPaneOperator tabPane = new JTabbedPaneOperator(main);
                   tabPane.selectPage(ntype);
                }

                // Install Software
                JButtonOperator btn = new JButtonOperator(main, "Install");
                btn.clickMouse();

                // Wait for installation to complete
                try
                {
                    loadnmrThread.sleep(MIN);
                }
                catch (Exception e)
                {
                    e.printStackTrace(System.out);
                }

                JFrameOperator frame = new JFrameOperator("Installing");
                btn = new JButtonOperator(frame, "Done");
                btn.clickMouse();
            }
        });
        loadnmrThread.start();
    }

    protected HashMap getPasswords(String strPath)
    {
        HashMap hmPassword = new HashMap();
        String strline;
        try
        {
            BufferedReader reader = new BufferedReader(new FileReader(strPath));
            if (reader == null)
                return hmPassword;

            while ((strline = reader.readLine()) != null)
            {
                StringTokenizer strTok = new StringTokenizer(strline);
                if (strTok.countTokens() == 2)
                {
                    String strkey = strTok.nextToken();
                    String strvalue = strTok.nextToken();
                    hmPassword.put(strkey, strvalue);
                }
            }
            reader.close();
        }
        catch (Exception e)
        {
            e.printStackTrace(System.out);
        }

        return hmPassword;
    }

    /** Test of addWindowListener method, of class LoadNmr. */
    /*public void testAddWindowListener() {
        System.out.println("testAddWindowListener");

        // Add your test code below by replacing the default call to fail.
        fail("The test case is empty.");
    }*/

    /** Test of chkAvailSpace method, of class LoadNmr. */
    /*public void testChkAvailSpace() {
        System.out.println("testChkAvailSpace");

        // Add your test code below by replacing the default call to fail.
        fail("The test case is empty.");
    }*/

    /** Test of getVnmrVersion method, of class LoadNmr. */
    /*public void testGetVnmrVersion() {
        System.out.println("testGetVnmrVersion");

        // Add your test code below by replacing the default call to fail.
        fail("The test case is empty.");
    }*/

    /** Test of getNIC method, of class LoadNmr. */
    /*public void testGetNIC() {
        System.out.println("testGetNIC");

        // Add your test code below by replacing the default call to fail.
        fail("The test case is empty.");
    }*/

    /** Test of getItem method, of class LoadNmr. */
    /*public void testGetItem() {
        System.out.println("testGetItem");

        // Add your test code below by replacing the default call to fail.
        fail("The test case is empty.");
    }*/

    /** Test of setSumLabel method, of class LoadNmr. */
    /*public void testSetSumLabel() {
        System.out.println("testSetSumLabel");

        // Add your test code below by replacing the default call to fail.
        fail("The test case is empty.");
    }*/

    /** Test of getTOC method, of class LoadNmr. */
    /*public void testGetTOC() {
        System.out.println("testGetTOC");

        // Add your test code below by replacing the default call to fail.
        fail("The test case is empty.");
    }*/

    // Add test methods here, they have to start with 'test' name.
    // for example:
    // public void testHello() {}

}


text:
/* iCheck plugin Minimal skin, blue
----------------------------------- */
.icheckbox_minimal-blue,
.iradio_minimal-blue {
    display: block;
    margin: 0;
    padding: 0;
    width: 18px;
    height: 18px;
    background: url("../img/blue.png") no-repeat;
    border: none;
    cursor: pointer;
}

.icheckbox_minimal-blue {
    background-position: 0 0;
}
    .icheckbox_minimal-blue.hover {
        background-position: -20px 0;
    }
    .icheckbox_minimal-blue.checked {
        background-position: -40px 0;
    }
    .icheckbox_minimal-blue.disabled {
        background-position: -60px 0;
        cursor: default;
    }
    .icheckbox_minimal-blue.checked.disabled {
        background-position: -80px 0;
    }

.iradio_minimal-blue {
    background-position: -100px 0;
}
    .iradio_minimal-blue.hover {
        background-position: -120px 0;
    }
    .iradio_minimal-blue.checked {
        background-position: -140px 0;
    }
    .iradio_minimal-blue.disabled {
        background-position: -160px 0;
        cursor: default;
    }
    .iradio_minimal-blue.checked.disabled {
        background-position: -180px 0;
    }

/* Retina support */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
       only screen and (-moz-min-device-pixel-ratio: 1.5),
       only screen and (-o-min-device-pixel-ratio: 3/2),
       only screen and (min-device-pixel-ratio: 1.5) {
    .icheckbox_minimal-blue,
    .iradio_minimal-blue {
        background-image: url(../img/blue@2x.png);
        -webkit-background-size: 200px 20px;
        background-size: 200px 20px;
    }
}


text:
$ErrorActionPreference = "Stop"

# WANT_JSON
# POWERSHELL_COMMON

New-PSDrive -PSProvider registry -Root HKEY_CLASSES_ROOT -Name HKCR -ErrorAction SilentlyContinue
New-PSDrive -PSProvider registry -Root HKEY_USERS -Name HKU -ErrorAction SilentlyContinue
New-PSDrive -PSProvider registry -Root HKEY_CURRENT_CONFIG -Name HCCC -ErrorAction SilentlyContinue

$params = Parse-Args $args;
$result = New-Object PSObject;
Set-Attr $result "changed" $false;
Set-Attr $result "data_changed" $false;
Set-Attr $result "data_type_changed" $false;

$registryKey = Get-Attr -obj $params -name "key" -failifempty $true
$registryValue = Get-Attr -obj $params -name "value" -default $null
$state = Get-Attr -obj $params -name "state" -validateSet "present","absent" -default "present"
$registryData = Get-Attr -obj $params -name "data" -default $null
$registryDataType = Get-Attr -obj $params -name "datatype" -validateSet "binary","dword","expandstring","multistring","string","qword" -default "string"

If ($state -eq "present" -and $registryData -eq $null -and $registryValue -ne $null)
{
    Fail-Json $result "missing required argument: data"
}

# check the registry key is in powershell ps-drive format: HKLM, HKCU, HKU, HKCR, HCCC
If (-not ($registryKey -match "^H[KC][CLU][MURC]{0,1}:\\"))
{
    Fail-Json $result "key: $registryKey is not a valid powershell path, see module documentation for examples."
}

Function Test-RegistryValueData {
    Param (
        [parameter(Mandatory=$true)]
        [ValidateNotNullOrEmpty()]$Path,
        [parameter(Mandatory=$true)]
        [ValidateNotNullOrEmpty()]$Value
    )
    Try {
        Get-ItemProperty -Path $Path -Name $Value
        Return $true
    }
    Catch {
        Return $false
    }
}

# Returns true if registry data matches.
# Handles binary, integer(dword) and string registry data
Function Compare-RegistryData {
    Param (
        [parameter(Mandatory=$true)]
        [AllowEmptyString()]$ReferenceData,
        [parameter(Mandatory=$true)]
        [AllowEmptyString()]$DifferenceData
        )

        if ($ReferenceData -is [String] -or $ReferenceData -is [int]) {
            if ($ReferenceData -eq $DifferenceData) {
                return $true
            } else {
                return $false
            }
        } elseif ($ReferenceData -is [Object[]]) {
            if (@(Compare-Object $ReferenceData $DifferenceData -SyncWindow 0).Length -eq 0) {
                return $true
            } else {
                return $false
            }
        }
}

# Simplified version of Convert-HexStringToByteArray from
# https://cyber-defense.sans.org/blog/2010/02/11/powershell-byte-array-hex-convert
# Expects a hex in the format you get when you run reg.exe export,
# and converts to a byte array so powershell can modify binary registry entries
function Convert-RegExportHexStringToByteArray
{
    Param (
     [parameter(Mandatory=$true)] [String] $String
    )

# remove 'hex:' from the front of the string if present
$String = $String.ToLower() -replace '^hex\:', ''

#remove whitespace and any other non-hex crud.
$String = $String.ToLower() -replace '[^a-f0-9\\,x\-\:]',''

# turn commas into colons
$String = $String -replace ',',':'

#Maybe there's nothing left over to convert...
if ($String.Length -eq 0) { ,@() ; return }

#Split string with or without colon delimiters.
if ($String.Length -eq 1)
{ ,@([System.Convert]::ToByte($String,16)) }
elseif (($String.Length % 2 -eq 0) -and ($String.IndexOf(":") -eq -1))
{ ,@($String -split '([a-f0-9]{2})' | foreach-object { if ($_) {[System.Convert]::ToByte($_,16)}}) }
elseif ($String.IndexOf(":") -ne -1)
{ ,@($String -split ':+' | foreach-object {[System.Convert]::ToByte($_,16)}) }
else
{ ,@() }

}

if($registryDataType -eq "binary" -and $registryData -ne $null -and $registryData -is [String]) {
      $registryData = Convert-RegExportHexStringToByteArray($registryData)
}

if($state -eq "present") {
    if ((Test-Path $registryKey) -and $registryValue -ne $null)
    {
        if (Test-RegistryValueData -Path $registryKey -Value $registryValue)
        {
            # handle binary data
            $currentRegistryData =(Get-ItemProperty -Path $registryKey | Select-Object -ExpandProperty $registryValue)

            if ($registryValue.ToLower() -eq "(default)") {
                # Special case handling for the key's default property. Because .GetValueKind() doesn't work for the (default) key property
                $oldRegistryDataType = "String"
            }
            else {
                $oldRegistryDataType = (Get-Item $registryKey).GetValueKind($registryValue)
            }

            # Changes Data and DataType
            if ($registryDataType -ne $oldRegistryDataType)
            {
                Try
                {
                    Remove-ItemProperty -Path $registryKey -Name $registryValue
                    New-ItemProperty -Path $registryKey -Name $registryValue -Value $registryData -PropertyType $registryDataType
                    $result.changed = $true
                    $result.data_changed = $true
                    $result.data_type_changed = $true
                }
                Catch
                {
                    Fail-Json $result $_.Exception.Message
                }
            }
            # Changes Only Data
            elseif (-Not (Compare-RegistryData -ReferenceData $currentRegistryData -DifferenceData $registryData))
            {
                Try {
                    Set-ItemProperty -Path $registryKey -Name $registryValue -Value $registryData
                    $result.changed = $true
                    $result.data_changed = $true
                }
                Catch
                {
                    Fail-Json $result $_.Exception.Message
                }
            }
        }
        else
        {
            Try
            {
                New-ItemProperty -Path $registryKey -Name $registryValue -Value $registryData -PropertyType $registryDataType
                $result.changed = $true
            }
            Catch
            {
                Fail-Json $result $_.Exception.Message
            }
        }
    }
    elseif(-not (Test-Path $registryKey))
    {
        Try
        {
            $newRegistryKey = New-Item $registryKey -Force
            $result.changed = $true

            if($registryValue -ne $null) {
                $newRegistryKey | New-ItemProperty -Name $registryValue -Value $registryData -Force -PropertyType $registryDataType
                $result.changed = $true
            }
        }
        Catch
        {
            Fail-Json $result $_.Exception.Message
        }
    }
}
else
{
    if (Test-Path $registryKey)
    {
        if ($registryValue -eq $null) {
            Try
            {
                Remove-Item -Path $registryKey -Recurse
                $result.changed = $true
            }
            Catch
            {
                Fail-Json $result $_.Exception.Message
            }
        }
        elseif (Test-RegistryValueData -Path $registryKey -Value $registryValue) {
            Try
            {
                Remove-ItemProperty -Path $registryKey -Name $registryValue
                $result.changed = $true
            }
            Catch
            {
                Fail-Json $result $_.Exception.Message
            }
        }
    }
}

Exit-Json $result


text:
using Kachuwa.Core.DI;
using Kachuwa.Web.Razor;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using System;
using System.Threading;
using Kachuwa.Caching;
using Kachuwa.Configuration;
using Kachuwa.Localization;
using Kachuwa.Log;
using Kachuwa.Log.Insight;
using Kachuwa.Messaging;
using Kachuwa.Plugin;
using Kachuwa.Security;
using Kachuwa.Storage;
using Kachuwa.Web;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.Razor;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Microsoft.Extensions.Primitives;
using ILogger = Kachuwa.Log.ILogger;

namespace Kachuwa.Core.Extensions
{
    public static class KachuwaCoreExtensions
    {
        public static IServiceCollection RegisterKachuwaCoreServices(this IServiceCollection services,
            IServiceProvider serviceProvider)
        {
            var configuration = serviceProvider.GetService<IConfiguration>();
            var changeEvent = serviceProvider.GetService<ConfigChangeEvent>();
            var applicationLifetime = serviceProvider.GetService<IHostApplicationLifetime>();
            var autoReset = new AutoResetEvent(false);
            changeEvent.Attach(new KachuwaConfigChangeListner(applicationLifetime));
            ChangeToken.OnChange(() =>
                    configuration.GetReloadToken(),
                () =>
                {
                    autoReset.Set();
                    changeEvent.Notify();
                }
            );
            //config to json service
            services.TryAddSingleton<IConfigToJson, ConfigToJson>();
            // Add functionality to inject IOptions<T>
            services.AddOptions();// Add our Config object so it can be injected
            services.Configure<KachuwaAppConfig>(configuration.GetSection("KachuwaAppConfig"));
            services.AddScoped(cfg => cfg.GetService<IOptionsSnapshot<KachuwaAppConfig>>().Value);
            services.AddScoped(cfg => cfg.GetService<IOptionsSnapshot<KachuwaConnectionStrings>>().Value);
            //to access kachuwa app config
            //IOptions<KachuwaAppConfig> settings or Configuration.GetValue<string>("KachuwaAppConfig:AppName");

            //TODO:: conflict on services

            // services.AddHttpContextAccessor();

            //registering service for later use
            services.AddSingleton(services);
            services.TryAddSingleton<ILoggerSetting, DefaultLoggerSetting>();
            services.TryAddSingleton<ILogProvider, DefaultLogProvider>();
            services.TryAddSingleton<ILogger, FileBaseLogger>();
            services.TryAddSingleton<IKachuwaPubSub>(new KachuwaPubSub());
            //removed
            //services.TryAddSingleton<ILoggerService, FileBaseLogger>();
            services.AddTransient<LogErrorAttribute>();
            var logger = serviceProvider.GetService<ILogger>();
            IWebHostEnvironment hostingEnvironment = serviceProvider.GetService<IWebHostEnvironment>();
            var plugs = new PluginBootStrapper(hostingEnvironment, logger, services);

            services.TryAddSingleton<IPluginService, PluginService>();
            services.AddScoped<IViewRenderService, ViewRenderService>();
            //services.TryAddSingleton<IViewComponentSelector, Default2ViewComponentSelector>();
            // services.TryAddTransient<IViewComponentHelper, Default2ViewComponentHelper>();

            services.UseDefaultMemoryCache();
            services.UseWindowsDefenderScanner();
            services.AddTransient<KachuwaCacheAttribute>();
            services.RegisterKachuwaStorageService(new DefaultFileOptions()
            {

            });
            //TODO:: allow in start up

             new Bootstrapper(services, serviceProvider);
            // services.AddSingleton(configuration);

            // services.TryAddSingleton<ICache, DefaultCache>();
            services.AddLocalization();
            services.EnableKachuwaLocalization(config =>
            {
                config.UseDbResources = true;
                config.UseJsonResources = true;
            });
            //Add Cors support to the service
            //services.AddCors();
            var policy = new Microsoft.AspNetCore.Cors.Infrastructure.CorsPolicy();

            policy.Headers.Add("*");
            policy.Methods.Add("*");
            policy.Origins.Add("*");
            policy.PreflightMaxAge = TimeSpan.MaxValue;
            // policy.SupportsCredentials = true;

            services.AddCors(x => x.AddPolicy("corsGlobalPolicy", policy));
            services.TryAddSingleton<ICspNonceService, CspNonceService>();

            //services.Configure<ApplicationInsightsSettings>(options => configuration.GetSection("ApplicationInsights").Bind(options));
            services.AddHttpContextAccessor();
            services.RegisterKachuwaWeb();
            services.AddWebSocketManager();
            services.Configure<RazorViewEngineOptions>(options =>
            {
                options.ViewLocationExpanders.Insert(0, new ViewOverrideLocationExpander());

            });
            return services;
            // Add application services.
            //services.AddTransient<IEmailSender, EmailSender>();
            //services.AddTransient<ISmsSender, SmsSender>();

        }

        public static IApplicationBuilder UseKachuwaCore(this IApplicationBuilder app, IWebHostEnvironment hostingEnvironment, IServiceProvider serviceProvider)
        {

            new KachuwaAppBuilder(app, serviceProvider, hostingEnvironment);
            app.UseKSockets(serviceProvider);
            app.UseKachuwaLocalization();
            app.UseCors("corsGlobalPolicy");
            app.UseSession();
            app.UseResponseCompression();
            return app;

        }
        public static void UseKachuwaInsight(this ILoggerFactory loggerFactory, IOptions<ApplicationInsightsSettings> applicationInsightsSettings, IServiceProvider serviceProvider)
        {

            loggerFactory.AddApplicationInsights(applicationInsightsSettings.Value, serviceProvider);

        }

    }
}


text:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:weightSum="1">

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:paddingLeft="10dp"
            android:paddingTop="5dp"
            android:gravity="center"
            android:background="@color/search_flight_background"
            android:paddingRight="10dp">

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="match_parent"
                android:padding="15dp"
                android:gravity="center"
                android:layout_marginBottom="5dp">

                <LinearLayout
                    android:orientation="horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:weightSum="1"
                    android:layout_marginTop="5dp">

                    <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="0.5"
                        android:gravity="center"
                        android:id="@+id/btnReturn">

                        <com.app.tbd.utils.FontStyle.PlayTextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:text="@string/book_flight_return"
                            android:textStyle="bold"
                            android:padding="6dp"
                            android:id="@+id/txtReturn" />
                    </LinearLayout>

                    <LinearLayout
                        android:clickable="true"
                        android:orientation="vertical"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="0.5"
                        android:gravity="center"
                        android:id="@+id/btnOneWay">

                        <com.app.tbd.utils.FontStyle.PlayTextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:text="@string/book_flight_one_way"
                            android:textStyle="bold"
                            android:padding="6dp"
                            android:id="@+id/txtOneWay" />
                    </LinearLayout>
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/btnDepartureFlight"
                    android:orientation="horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="15dp"
                    android:paddingTop="5dp"
                    android:paddingBottom="10dp"
                    android:background="@drawable/bottom_line_with_transparent">

                    <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="0dp"
                        android:layout_weight="0.75"
                        android:layout_height="match_parent"
                        android:gravity="center|left">

                        <com.app.tbd.utils.FontStyle.PlayTextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:text="@string/book_flight_departure_airport"
                            android:id="@+id/txtDepartureFlight"
                            android:textSize="18dp"
                            android:textColor="@color/white"
                            android:textStyle="bold"/>
                    </LinearLayout>
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/btnArrivalFlight"
                    android:orientation="horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="15dp"
                    android:paddingTop="5dp"
                    android:paddingBottom="15dp"
                    android:background="@drawable/bottom_line_with_transparent">

                    <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="0dp"
                        android:layout_weight="0.75"
                        android:layout_height="wrap_content"
                        android:gravity="center|left">

                        <com.app.tbd.utils.FontStyle.PlayTextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:text="@string/book_flight_arrival_airport"
                            android:id="@+id/txtArrivalFlight"
                            android:textSize="18dp"
                            android:textColor="@color/white"
                            android:textStyle="bold" />
                    </LinearLayout>
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/departureDateBlock"
                    android:orientation="horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="15dp"
                    android:paddingTop="5dp"
                    android:paddingBottom="10dp"
                    android:background="@drawable/bottom_line_with_transparent">

                    <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="0dp"
                        android:layout_weight="0.75"
                        android:layout_height="wrap_content"
                        android:gravity="center|left">

                        <com.app.tbd.utils.FontStyle.PlayTextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:text="@string/book_flight_departure_date"
                            android:textSize="18dp"
                            android:textColor="@color/white"
                            android:id="@+id/bookFlightDepartureDate"
                            android:textStyle="bold" />
                    </LinearLayout>
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/returnDateBlock"
                    android:orientation="horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="15dp"
                    android:paddingTop="5dp"
                    android:paddingBottom="15dp"
                    android:background="@drawable/bottom_line_with_transparent">

                    <LinearLayout
                        android:orientation="vertical"
                        android:layout_width="0dp"
                        android:layout_weight="0.75"
                        android:layout_height="wrap_content"
                        android:gravity="center|left">

                        <com.app.tbd.utils.FontStyle.PlayTextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:text="@string/book_flight_arrival_date"
                            android:textSize="18dp"
                            android:textColor="@color/white"
                            android:textStyle="bold"
                            android:id="@+id/bookFlightReturnDate"/>
                    </LinearLayout>
                </LinearLayout>

                <LinearLayout
                    android:layout_marginTop="15dp"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    android:weightSum="1">

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="0.1"
                        android:orientation="vertical">

                    </LinearLayout>

                    <Button
                        android:id="@+id/btnSearchFlight"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="0.8"
                        android:text="@string/btn_continue"
                        android:background="@drawable/curve_btn_default_theme"
                        android:textSize="16dp"
                        android:textColor="@color/white"/>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="0.1"
                        android:orientation="vertical">

                    </LinearLayout>

                </LinearLayout>

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:src="@drawable/arrival_icon"
                    android:clickable="true"
                    android:id="@+id/testImage" />

            </LinearLayout>

        </LinearLayout>
    </LinearLayout>

</LinearLayout>


text:
#include "rubysocket.h"

#ifdef HAVE_GETIFADDRS

/*
 * ifa_flags is usually unsigned int.
 * However it is uint64_t on SunOS 5.11 (OpenIndiana).
 */
#ifdef HAVE_LONG_LONG
typedef unsigned LONG_LONG ifa_flags_t;
#define PRIxIFAFLAGS PRI_LL_PREFIX"x"
#define IFAFLAGS2NUM(flags) ULL2NUM(flags)
#else
typedef unsigned int ifa_flags_t;
#define PRIxIFAFLAGS "x"
#define IFAFLAGS2NUM(flags) UINT2NUM(flags)
#endif

VALUE rb_cSockIfaddr;

typedef struct rb_ifaddr_tag rb_ifaddr_t;
typedef struct rb_ifaddr_root_tag rb_ifaddr_root_t;

struct rb_ifaddr_tag {
    int ord;
    struct ifaddrs *ifaddr;
    rb_ifaddr_root_t *root;
};

struct rb_ifaddr_root_tag {
    int refcount;
    int numifaddrs;
    rb_ifaddr_t ary[1];
};

static rb_ifaddr_root_t *
get_root(const rb_ifaddr_t *ifaddr)
{
    return (rb_ifaddr_root_t *)((char *)&ifaddr[-ifaddr->ord] -
                                offsetof(rb_ifaddr_root_t, ary));
}

static void
ifaddr_mark(void *ptr)
{
}

static void
ifaddr_free(void *ptr)
{
    rb_ifaddr_t *ifaddr = ptr;
    rb_ifaddr_root_t *root = get_root(ifaddr);
    root->refcount--;
    if (root->refcount == 0) {
        freeifaddrs(root->ary[0].ifaddr);
        xfree(root);
    }
}

static size_t
ifaddr_memsize(const void *ptr)
{
    const rb_ifaddr_t *ifaddr;
    const rb_ifaddr_root_t *root;
    if (ptr == NULL)
        return 0;
    ifaddr = ptr;
    root = get_root(ifaddr);
    return sizeof(rb_ifaddr_root_t) + (root->numifaddrs - 1) * sizeof(rb_ifaddr_t);
}

static const rb_data_type_t ifaddr_type = {
    "socket/ifaddr",
    {ifaddr_mark, ifaddr_free, ifaddr_memsize,},
};

static inline rb_ifaddr_t *
check_ifaddr(VALUE self)
{
      return rb_check_typeddata(self, &ifaddr_type);
}

static rb_ifaddr_t *
get_ifaddr(VALUE self)
{
    rb_ifaddr_t *rifaddr = check_ifaddr(self);

    if (!rifaddr) {
        rb_raise(rb_eTypeError, "uninitialized ifaddr");
    }
    return rifaddr;
}

static VALUE
rsock_getifaddrs(void)
{
    int ret;
    int numifaddrs, i;
    struct ifaddrs *ifaddrs, *ifa;
    rb_ifaddr_root_t *root;
    VALUE result;

    ret = getifaddrs(&ifaddrs);
    if (ret == -1)
        rb_sys_fail("getifaddrs");

    if (!ifaddrs) {
	return rb_ary_new();
    }

    numifaddrs = 0;
    for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next)
        numifaddrs++;

    root = xmalloc(sizeof(rb_ifaddr_root_t) + (numifaddrs-1) * sizeof(rb_ifaddr_t));
    root->refcount = root->numifaddrs = numifaddrs;

    ifa = ifaddrs;
    for (i = 0; i < numifaddrs; i++) {
        root->ary[i].ord = i;
        root->ary[i].ifaddr = ifa;
        root->ary[i].root = root;
        ifa = ifa->ifa_next;
    }

    result = rb_ary_new2(numifaddrs);
    for (i = 0; i < numifaddrs; i++) {
        rb_ary_push(result, TypedData_Wrap_Struct(rb_cSockIfaddr, &ifaddr_type, &root->ary[i]));
    }

    return result;
}

/*
 * call-seq:
 *   ifaddr.name => string
 *
 * Returns the interface name of _ifaddr_.
 */

static VALUE
ifaddr_name(VALUE self)
{
    rb_ifaddr_t *rifaddr = get_ifaddr(self);
    struct ifaddrs *ifa = rifaddr->ifaddr;
    return rb_str_new_cstr(ifa->ifa_name);
}

#ifdef HAVE_IF_NAMETOINDEX
/*
 * call-seq:
 *   ifaddr.ifindex => integer
 *
 * Returns the interface index of _ifaddr_.
 */

static VALUE
ifaddr_ifindex(VALUE self)
{
    rb_ifaddr_t *rifaddr = get_ifaddr(self);
    struct ifaddrs *ifa = rifaddr->ifaddr;
    unsigned int ifindex = if_nametoindex(ifa->ifa_name);
    if (ifindex == 0) {
        rb_raise(rb_eArgError, "invalid interface name: %s", ifa->ifa_name);
    }
    return UINT2NUM(ifindex);
}
#else
#define ifaddr_ifindex rb_f_notimplement
#endif

/*
 * call-seq:
 *   ifaddr.flags => integer
 *
 * Returns the flags of _ifaddr_.
 */

static VALUE
ifaddr_flags(VALUE self)
{
    rb_ifaddr_t *rifaddr = get_ifaddr(self);
    struct ifaddrs *ifa = rifaddr->ifaddr;
    return IFAFLAGS2NUM(ifa->ifa_flags);
}

/*
 * call-seq:
 *   ifaddr.addr => addrinfo
 *
 * Returns the address of _ifaddr_.
 * nil is returned if address is not available in _ifaddr_.
 */

static VALUE
ifaddr_addr(VALUE self)
{
    rb_ifaddr_t *rifaddr = get_ifaddr(self);
    struct ifaddrs *ifa = rifaddr->ifaddr;
    if (ifa->ifa_addr)
        return rsock_sockaddr_obj(ifa->ifa_addr, rsock_sockaddr_len(ifa->ifa_addr));
    return Qnil;
}

/*
 * call-seq:
 *   ifaddr.netmask => addrinfo
 *
 * Returns the netmask address of _ifaddr_.
 * nil is returned if netmask is not available in _ifaddr_.
 */

static VALUE
ifaddr_netmask(VALUE self)
{
    rb_ifaddr_t *rifaddr = get_ifaddr(self);
    struct ifaddrs *ifa = rifaddr->ifaddr;
    if (ifa->ifa_netmask)
        return rsock_sockaddr_obj(ifa->ifa_netmask, rsock_sockaddr_len(ifa->ifa_netmask));
    return Qnil;
}

/*
 * call-seq:
 *   ifaddr.broadaddr => addrinfo
 *
 * Returns the broadcast address of _ifaddr_.
 * nil is returned if the flags doesn't have IFF_BROADCAST.
 */

static VALUE
ifaddr_broadaddr(VALUE self)
{
    rb_ifaddr_t *rifaddr = get_ifaddr(self);
    struct ifaddrs *ifa = rifaddr->ifaddr;
    if ((ifa->ifa_flags & IFF_BROADCAST) && ifa->ifa_broadaddr)
        return rsock_sockaddr_obj(ifa->ifa_broadaddr, rsock_sockaddr_len(ifa->ifa_broadaddr));
    return Qnil;
}

/*
 * call-seq:
 *   ifaddr.dstaddr => addrinfo
 *
 * Returns the destination address of _ifaddr_.
 * nil is returned if the flags doesn't have IFF_POINTOPOINT.
 */

static VALUE
ifaddr_dstaddr(VALUE self)
{
    rb_ifaddr_t *rifaddr = get_ifaddr(self);
    struct ifaddrs *ifa = rifaddr->ifaddr;
    if ((ifa->ifa_flags & IFF_POINTOPOINT) && ifa->ifa_dstaddr)
        return rsock_sockaddr_obj(ifa->ifa_dstaddr, rsock_sockaddr_len(ifa->ifa_dstaddr));
    return Qnil;
}

static void
ifaddr_inspect_flags(ifa_flags_t flags, VALUE result)
{
    const char *sep = " ";
#define INSPECT_BIT(bit, name) \
    if (flags & (bit)) { rb_str_catf(result, "%s" name, sep); flags &= ~(ifa_flags_t)(bit); sep = ","; }
#ifdef IFF_UP
    INSPECT_BIT(IFF_UP, "UP")
#endif
#ifdef IFF_BROADCAST
    INSPECT_BIT(IFF_BROADCAST, "BROADCAST")
#endif
#ifdef IFF_DEBUG
    INSPECT_BIT(IFF_DEBUG, "DEBUG")
#endif
#ifdef IFF_LOOPBACK
    INSPECT_BIT(IFF_LOOPBACK, "LOOPBACK")
#endif
#ifdef IFF_POINTOPOINT
    INSPECT_BIT(IFF_POINTOPOINT, "POINTOPOINT")
#endif
#ifdef IFF_RUNNING
    INSPECT_BIT(IFF_RUNNING, "RUNNING")
#endif
#ifdef IFF_NOARP
    INSPECT_BIT(IFF_NOARP, "NOARP")
#endif
#ifdef IFF_PROMISC
    INSPECT_BIT(IFF_PROMISC, "PROMISC")
#endif
#ifdef IFF_NOTRAILERS
    INSPECT_BIT(IFF_NOTRAILERS, "NOTRAILERS")
#endif
#ifdef IFF_ALLMULTI
    INSPECT_BIT(IFF_ALLMULTI, "ALLMULTI")
#endif
#ifdef IFF_SIMPLEX
    INSPECT_BIT(IFF_SIMPLEX, "SIMPLEX")
#endif
#ifdef IFF_MASTER
    INSPECT_BIT(IFF_MASTER, "MASTER")
#endif
#ifdef IFF_SLAVE
    INSPECT_BIT(IFF_SLAVE, "SLAVE")
#endif
#ifdef IFF_MULTICAST
    INSPECT_BIT(IFF_MULTICAST, "MULTICAST")
#endif
#ifdef IFF_PORTSEL
    INSPECT_BIT(IFF_PORTSEL, "PORTSEL")
#endif
#ifdef IFF_AUTOMEDIA
    INSPECT_BIT(IFF_AUTOMEDIA, "AUTOMEDIA")
#endif
#ifdef IFF_DYNAMIC
    INSPECT_BIT(IFF_DYNAMIC, "DYNAMIC")
#endif
#ifdef IFF_LOWER_UP
    INSPECT_BIT(IFF_LOWER_UP, "LOWER_UP")
#endif
#ifdef IFF_DORMANT
    INSPECT_BIT(IFF_DORMANT, "DORMANT")
#endif
#ifdef IFF_ECHO
    INSPECT_BIT(IFF_ECHO, "ECHO")
#endif
#undef INSPECT_BIT
    if (flags) {
        rb_str_catf(result, "%s%#"PRIxIFAFLAGS, sep, flags);
    }
}

/*
 * call-seq:
 *   ifaddr.inspect => string
 *
 * Returns a string to show contents of _ifaddr_.
 */

static VALUE
ifaddr_inspect(VALUE self)
{
    rb_ifaddr_t *rifaddr = get_ifaddr(self);
    struct ifaddrs *ifa;
    VALUE result;

    ifa = rifaddr->ifaddr;

    result = rb_str_new_cstr("#<");

    rb_str_append(result, rb_class_name(CLASS_OF(self)));
    rb_str_cat2(result, " ");
    rb_str_cat2(result, ifa->ifa_name);

    if (ifa->ifa_flags)
        ifaddr_inspect_flags(ifa->ifa_flags, result);

    if (ifa->ifa_addr) {
      rb_str_cat2(result, " ");
      rsock_inspect_sockaddr(ifa->ifa_addr,
          rsock_sockaddr_len(ifa->ifa_addr),
          result);
    }
    if (ifa->ifa_netmask) {
      rb_str_cat2(result, " netmask=");
      rsock_inspect_sockaddr(ifa->ifa_netmask,
          rsock_sockaddr_len(ifa->ifa_netmask),
          result);
    }

    if ((ifa->ifa_flags & IFF_BROADCAST) && ifa->ifa_broadaddr) {
      rb_str_cat2(result, " broadcast=");
      rsock_inspect_sockaddr(ifa->ifa_broadaddr,
          rsock_sockaddr_len(ifa->ifa_broadaddr),
          result);
    }

    if ((ifa->ifa_flags & IFF_POINTOPOINT) && ifa->ifa_dstaddr) {
      rb_str_cat2(result, " dstaddr=");
      rsock_inspect_sockaddr(ifa->ifa_dstaddr,
          rsock_sockaddr_len(ifa->ifa_dstaddr),
          result);
    }

    rb_str_cat2(result, ">");
    return result;
}
#endif

#ifdef HAVE_GETIFADDRS
/*
 * call-seq:
 *   Socket.getifaddrs => [ifaddr1, ...]
 *
 * Returns an array of interface addresses.
 * An element of the array is an instance of Socket::Ifaddr.
 *
 * This method can be used to find multicast-enabled interfaces:
 *
 *   pp Socket.getifaddrs.reject {|ifaddr|
 *     !ifaddr.addr.ip? || (ifaddr.flags & Socket::IFF_MULTICAST == 0)
 *   }.map {|ifaddr| [ifaddr.name, ifaddr.ifindex, ifaddr.addr] }
 *   #=> [["eth0", 2, #<Addrinfo: 221.186.184.67>],
 *   #    ["eth0", 2, #<Addrinfo: fe80::216:3eff:fe95:88bb%eth0>]]
 *
 * Example result on GNU/Linux:
 *   pp Socket.getifaddrs
 *   #=> [#<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 PACKET[protocol=0 lo hatype=772 HOST hwaddr=00:00:00:00:00:00]>,
 *   #    #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 PACKET[protocol=0 eth0 hatype=1 HOST hwaddr=00:16:3e:95:88:bb] broadcast=PACKET[protocol=0 eth0 hatype=1 HOST hwaddr=ff:ff:ff:ff:ff:ff]>,
 *   #    #<Socket::Ifaddr sit0 NOARP PACKET[protocol=0 sit0 hatype=776 HOST hwaddr=00:00:00:00]>,
 *   #    #<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 127.0.0.1 netmask=255.0.0.0>,
 *   #    #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 221.186.184.67 netmask=255.255.255.240 broadcast=221.186.184.79>,
 *   #    #<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 ::1 netmask=ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>,
 *   #    #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 fe80::216:3eff:fe95:88bb%eth0 netmask=ffff:ffff:ffff:ffff::>]
 *
 * Example result on FreeBSD:
 *   pp Socket.getifaddrs
 *   #=> [#<Socket::Ifaddr usbus0 UP,0x10000 LINK[usbus0]>,
 *   #    #<Socket::Ifaddr re0 UP,BROADCAST,RUNNING,MULTICAST,0x800 LINK[re0 3a:d0:40:9a:fe:e8]>,
 *   #    #<Socket::Ifaddr re0 UP,BROADCAST,RUNNING,MULTICAST,0x800 10.250.10.18 netmask=255.255.255.? (7 bytes for 16 bytes sockaddr_in) broadcast=10.250.10.255>,
 *   #    #<Socket::Ifaddr re0 UP,BROADCAST,RUNNING,MULTICAST,0x800 fe80:2::38d0:40ff:fe9a:fee8 netmask=ffff:ffff:ffff:ffff::>,
 *   #    #<Socket::Ifaddr re0 UP,BROADCAST,RUNNING,MULTICAST,0x800 2001:2e8:408:10::12 netmask=UNSPEC>,
 *   #    #<Socket::Ifaddr plip0 POINTOPOINT,MULTICAST,0x800 LINK[plip0]>,
 *   #    #<Socket::Ifaddr lo0 UP,LOOPBACK,RUNNING,MULTICAST LINK[lo0]>,
 *   #    #<Socket::Ifaddr lo0 UP,LOOPBACK,RUNNING,MULTICAST ::1 netmask=ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>,
 *   #    #<Socket::Ifaddr lo0 UP,LOOPBACK,RUNNING,MULTICAST fe80:4::1 netmask=ffff:ffff:ffff:ffff::>,
 *   #    #<Socket::Ifaddr lo0 UP,LOOPBACK,RUNNING,MULTICAST 127.0.0.1 netmask=255.?.?.? (5 bytes for 16 bytes sockaddr_in)>]
 *
 */

static VALUE
socket_s_getifaddrs(VALUE self)
{
    return rsock_getifaddrs();
}
#else
#define socket_s_getifaddrs rb_f_notimplement
#endif

void
rsock_init_sockifaddr(void)
{
#ifdef HAVE_GETIFADDRS
    /*
     * Document-class: Socket::Ifaddr
     *
     * Socket::Ifaddr represents a result of getifaddrs() function.
     */
    rb_cSockIfaddr = rb_define_class_under(rb_cSocket, "Ifaddr", rb_cData);
    rb_define_method(rb_cSockIfaddr, "inspect", ifaddr_inspect, 0);
    rb_define_method(rb_cSockIfaddr, "name", ifaddr_name, 0);
    rb_define_method(rb_cSockIfaddr, "ifindex", ifaddr_ifindex, 0);
    rb_define_method(rb_cSockIfaddr, "flags", ifaddr_flags, 0);
    rb_define_method(rb_cSockIfaddr, "addr", ifaddr_addr, 0);
    rb_define_method(rb_cSockIfaddr, "netmask", ifaddr_netmask, 0);
    rb_define_method(rb_cSockIfaddr, "broadaddr", ifaddr_broadaddr, 0);
    rb_define_method(rb_cSockIfaddr, "dstaddr", ifaddr_dstaddr, 0);
#endif

    rb_define_singleton_method(rb_cSocket, "getifaddrs", socket_s_getifaddrs, 0);
}


text:
name: ACL
publisher: Kong Inc.
version: 1.0.0

desc: Control which consumers can access Services
description: |
  Restrict access to a Service or a Route by whitelisting or blacklisting consumers using arbitrary ACL group names. This plugin requires an [authentication plugin](/about/faq/#how-can-i-add-authentication-to-a-microservice-api) to have been already enabled on the Service or Route.

    Note: The functionality of this plugin as bundled
    with versions of Kong prior to 0.14.1 and Kong Enterprise prior to 0.34
    differs from what is documented herein. Refer to the
    CHANGELOG
    for details.

type: plugin
categories:
  - traffic-control

kong_version_compatibility:
    community_edition:
      compatible:
        - 2.0.x
        - 1.5.x
        - 1.4.x
        - 1.3.x
        - 1.2.x
        - 1.1.x
        - 1.0.x
        - 0.14.x
        - 0.13.x
        - 0.12.x
        - 0.11.x
        - 0.10.x
        - 0.9.x
        - 0.8.x
        - 0.7.x
        - 0.6.x
        - 0.5.x
#      incompatible:
#        - 0.4.x
#        - 0.3.x
#        - 0.2.x
    enterprise_edition:
      compatible:
        - 1.5.x
        - 1.3-x
        - 0.36-x
        - 0.35-x
        - 0.34-x
        - 0.33-x
        - 0.32-x
        - 0.31-x
#      incompatible:

params:
  name: acl
  service_id: true
  route_id: true
  consumer_id: false
  protocols: ["http", "https"]
  dbless_compatible: partially
  dbless_explanation: |
    Consumers and ACLs can be created with declarative configuration.

    Admin API endpoints which do POST, PUT, PATCH or DELETE on ACLs will not work on DB-less mode.
  config:
    - name: whitelist
      required: semi
      default:
      value_in_examples: [ "group1", "group2" ]
      description: |
        Arbitrary group names that are allowed to consume the Service or Route. One of `config.whitelist` or `config.blacklist` must be specified.
    - name: blacklist
      required: semi
      default:
      description: |
        Arbitrary group names that are not allowed to consume the Service or Route. One of `config.whitelist` or `config.blacklist` must be specified.
    - name: hide_groups_header
      required: false
      default: false
      value_in_examples: true
      description: |
        Flag which if enabled (`true`), prevents the `X-Consumer-Groups` header to be sent in the request to the upstream service.
  extra: |
    Note that the `whitelist` and `blacklist` models are mutually exclusive in their usage, as they provide complimentary approaches. That is, you cannot configure an ACL with both `whitelist` and `blacklist` configurations. An ACL with a `whitelist` provides a positive security model, in which the configured groups are allowed access to the resources, and all others are inherently rejected. By contrast, a `blacklist` configuration provides a negative security model, in which certain groups are explicitly denied access to the resource (and all others are inherently allowed).
---

### Usage

In order to use this plugin, you need to properly have configured your Service or Route with an [authentication plugin][faq-authentication] so that the plugin can identify who is the client [Consumer][consumer-object] making the request.

#### Associating Consumers

{% tabs %}
{% tab With a database %}
Once you have added an authentication plugin to a Service or a Route and you have created your [Consumers][consumer-object], you can now associate a group to a [Consumer][consumer-object] using the following request:

```bash
$ curl -X POST http://kong:8001/consumers/{consumer}/acls \
    --data "group=group1"
```

`consumer`: The `id` or `username` property of the [Consumer][consumer-object] entity to associate the credentials to.

form parameter        | default| description
---                   | ---    | ---
`group`               |        | The arbitrary group name to associate to the consumer.

{% tab Without a database %}
You can create ACL objects via the `acls:` entry in the declarative configuration file:

``` yaml
acls:
- consumer: { consumer }
  group: group1
```

* `consumer`: The `id` or `username` property of the [Consumer][consumer-object] entity to associate the credentials to.
* `group`: The arbitrary group name to associate to the consumer.
{% endtabs %}

You can have more than one group associated to a consumer.

#### Upstream Headers

When a consumer has been validated, the plugin will append a `X-Consumer-Groups` header to the request before proxying it to the upstream service, so that you can identify the groups associated with the consumer. The value of the header is a comma separated list of groups that belong to the consumer, like `admin, pro_user`.

This header will not be injected in the request to the upstream service if the `hide_groups_header` config flag is set to `true`.

#### Paginate through the ACLs

  Note: This endpoint was introduced in Kong 0.11.2.

You can retrieve all the ACLs for all Consumers using the following
request:

```bash
$ curl -X GET http://kong:8001/acls

{
    "total": 3,
    "data": [
        {
            "group": "foo-group",
            "created_at": 1511391159000,
            "id": "724d1be7-c39e-443d-bf36-41db17452c75",
            "consumer": { "id": "89a41fef-3b40-4bb0-b5af-33da57a7ffcf" }
        },
        {
            "group": "bar-group",
            "created_at": 1511391162000,
            "id": "0905f68e-fee3-4ecb-965c-fcf6912bf29e",
            "consumer": { "id": "c0d92ba9-8306-482a-b60d-0cfdd2f0e880" }
        },
        {
            "group": "baz-group",
            "created_at": 1509814006000,
            "id": "ff883d4b-aee7-45a8-a17b-8c074ba173bd",
            "consumer": { "id": "c0d92ba9-8306-482a-b60d-0cfdd2f0e880" }
        }
    ]
}
```

You can filter the list by consumer by using this other path:

```bash
$ curl -X GET http://kong:8001/consumers/{username or id}/acls

{
    "total": 1,
    "data": [
        {
            "group": "bar-group",
            "created_at": 1511391162000,
            "id": "0905f68e-fee3-4ecb-965c-fcf6912bf29e",
            "consumer": { "id": "c0d92ba9-8306-482a-b60d-0cfdd2f0e880" }
        }
    ]
}
```

`username or id`: The username or id of the consumer whose ACLs need to be listed

#### Retrieve the Consumer associated with an ACL

  Note: This endpoint was introduced in Kong 0.11.2.

It is possible to retrieve a [Consumer][consumer-object] associated with an ACL
using the following request:

```bash
curl -X GET http://kong:8001/acls/{id}/consumer

{
   "created_at":1507936639000,
   "username":"foo",
   "id":"c0d92ba9-8306-482a-b60d-0cfdd2f0e880"
}
```

`id`: The `id` property of the ACL for which to get the associated
[Consumer][consumer-object].

[cidr]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation
[configuration]: /latest/configuration
[consumer-object]: /latest/admin-api/#consumer-object
[faq-authentication]: /about/faq/#how-can-i-add-authentication-to-a-microservice-api


text:
package com.example.jianhua.criminalintent;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class AlarmReciver extends BroadcastReceiver {

    public AlarmReciver() {
    }

    @Override
    public void onReceive(Context context, Intent intent) {

        Intent i = new Intent(context,AlarmActivity.class);
        boolean  isslect= intent.getBooleanExtra(CrimeFragment.EXTRA_IS_SELECT,false);
        if(isslect)
            i.putExtra(CrimeFragment.EXTRA_URL_STR,intent.getStringExtra(CrimeFragment.EXTRA_URL_STR));
        System.out.println("select val"+isslect);

        i.putExtra(CrimeFragment.EXTRA_IS_SELECT,isslect);
        i.putExtra(CrimeFragment.EXTRA_CRIME_TITLE,intent.getStringExtra(CrimeFragment.EXTRA_CRIME_TITLE));

        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);

    }
}


text:
[![Build Status](https://travis-ci.org/JohanSJA/openexchangerates-rs.svg?branch=master)](https://travis-ci.org/JohanSJA/openexchangerates-rs)
[![Clippy Linting Result](https://clippy.bashy.io/github/JohanSJA/openexchangerates-rs/master/badge.svg)](https://clippy.bashy.io/github/JohanSJA/openexchangerates-rs/master/log)
[![Docs](https://docs.rs/openexchangerates/badge.svg)](https://docs.rs/openexchangerates)

A library to interact with Open Exchange Rate API.


text:
package org.typemeta.funcj.codec.json;

import org.typemeta.funcj.codec.CodecConfig;
import org.typemeta.funcj.codec.json.io.*;
import org.typemeta.funcj.codec.stream.StreamCodecFormat;
import org.typemeta.funcj.json.parser.JsonEvent;

import java.io.*;
import java.math.BigDecimal;

public abstract class JsonTypes {

    /**
     * Interface for classes which provide configuration information
     * for {@link JsonCodecCore} implementations.
     */
    public interface Config extends CodecConfig {

        String typeFieldName();

        String keyFieldName();

        String valueFieldName();
    }

    /**
     * Interface for classes which implement an input stream of JSON events
     */
    public interface InStream extends StreamCodecFormat.Input<InStream> {

        String location();

        boolean notEOF();

        JsonEvent.Type currentEventType();

        JsonEvent event(int lookahead);

        void skipNode();

        <T> T readNull();

        Number readNumber();
        BigDecimal readBigDecimal();
        String readStringNumber();

        void startObject();
        String readFieldName();
        void readFieldName(String name);
        void endObject();

        void startArray();
        void endArray();
    }

    /**
     * Interface for classes which implement an output stream of JSON events
     */
    public interface OutStream extends StreamCodecFormat.Output<OutStream> {

        OutStream writeNull();

        OutStream writeNumber(Number value);
        OutStream writeBigDecimal(BigDecimal value);
        OutStream writeStringNumber(String value);

        OutStream startObject();
        OutStream writeField(String name);
        OutStream endObject();

        OutStream startArray();
        OutStream endArray();
    }

    private static final int MAX_PARSER_LOOKAHEAD = 3;

    public static JsonStreamParser inputOf(Reader reader) {
        return new JsonStreamParser(reader, MAX_PARSER_LOOKAHEAD);
    }

    public static JsonGenerator outputOf(Writer writer) {
        return new JsonGenerator(writer);
    }
}


text:
Common Java logic packed into a library

[![Build Status](https://travis-ci.org/bihe/binggl-commons.png)](https://travis-ci.org/bihe/binggl-commons)
[![license](http://img.shields.io/badge/license-apache_2.0-red.svg?style=flat)](https://raw.githubusercontent.com/bihe/binggl-commons/master/LICENSE)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/net.binggl/commons/badge.svg?style=flat)](https://maven-badges.herokuapp.com/maven-central/net.binggl/commons/badge.svg?style=flat)


text:
package com.uforia.twitterAuth;

import android.content.Intent;
import android.net.Uri;

import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.PluginResult;
import org.json.JSONArray;
import org.json.JSONException;

import java.io.IOException;

import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.auth.RequestToken;
import twitter4j.conf.ConfigurationBuilder;

public class TwitterAuthPlugin extends CordovaPlugin {

    @Override
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
        if (action.equals("Login")) {
            try {
                twitterAuth(callbackContext);
            } catch (TwitterException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return false;
    }

    void twitterAuth(CallbackContext callbackContext) throws TwitterException, IOException {
        ConfigurationBuilder builder = new ConfigurationBuilder();
        builder.setOAuthConsumerKey("rf0TfX650MY1WBY9maItlHmVR");
        builder.setOAuthConsumerSecret("KjdkqZ7tv3c1SeK3Y7GOBEQ6Ss0UxsPhVus0wcUwNfEbQOGeu8");
        twitter4j.conf.Configuration configuration = builder.build();
        TwitterFactory factory = new TwitterFactory(configuration);
        Twitter twitter = factory.getInstance();
        final RequestToken requestToken = twitter.getOAuthRequestToken("http://com.uforia/twitter-access-tokens");
        cordova.getThreadPool().execute(new Runnable() {
            public void run() {
                cordova.getActivity().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(requestToken.getAuthenticationURL())));
            }
        });
        PluginResult result = new PluginResult(PluginResult.Status.OK);
        callbackContext.sendPluginResult(result);
    }

    @Override
    public void onNewIntent(Intent intent) {
        this.cordova.getActivity().setIntent(intent);
    }
}


text:
package org.gwtbootstrap3.client.ui.form.validator;

/**
 * Mixin for looking up validation messages. This can be replaced with your own version by using a
 * "replace-with" statment in the gwt module file.
 *
 * Example:
 *
 *

 * {@code
 * <replace-with class="...CustomValidatorMessageMixin">
 *     <when-type-is class="org.gwtbootstrap3.client.ui.form.validator.ValidatorMessageMixin" />
 * </replace-with>
 * }
 *

 *
 * @author Steven Jardine
 */
public interface ValidatorMessageMixin {

    /**
     * Lookup the message using the supplied key.
     *
     * @param key the key.
     * @return the message associated with the given key.
     */
    String lookup(String key);

    /**
     * Lookup a message using the given key and replace the arguments in the given message with the supplied
     * values.
     *
     *

     * {@code
     * Message:
     * {1} is a {2}
     *
     * Call:
     * lookup("key", "This", "test.");
     *
     * Returns:
     * This is a test.
     * }
     *

     *
     * @param key the key
     * @param msgValues the values used in the message.
     * @return the message associated with the given key with the message values replaced.
     */
    String lookup(String key, Object[] msgValues);

}


text:
import {Pipe, PipeTransform} from '@angular/core';

@Pipe({
  name: 'userData'
})
export class UserDataPipe implements PipeTransform {
  transform(value: any): string {
    let name = '';
    if (value.username) {
      name += value.username;
    }
    if (value.email) {
      name += `, (e-mail: ${value.email})`;
    }

    return name;
  }

}


text:
package android.content;

@com.francetelecom.rd.stubs.annotation.ClassDone(0)
public class ReceiverCallNotAllowedException
  extends android.util.AndroidRuntimeException{
  // Constructors

  public ReceiverCallNotAllowedException(java.lang.String arg1){
    super();
  }
}


text:
package io.fnx.backend.service;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Annotation to mark classes for validation in our {@link ValidatorInterceptor}
 *
 * @author Jiri Zuna (jiri@zunovi.cz)
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
public @interface Validate {

    /**
     * Specify which groups to validate
     * @return all groups for which to run validations
     */
    Class<?>[] groups() default {};
}


text:
from pysb.testing import *
from pysb.integrate import Solver
import numpy as np
from pysb import Monomer, Parameter, Initial, Observable, Rule, Expression
from pysb.bng import run_ssa
from pysb.simulator.base import SimulatorException

from pysb.examples import robertson, earm_1_0

class TestSolver(object):

    @with_model
    def setUp(self):
        Monomer('A', ['a'])
        Monomer('B', ['b'])

        Parameter('ksynthA', 100)
        Parameter('ksynthB', 100)
        Parameter('kbindAB', 100)

        Parameter('A_init', 0)
        Parameter('B_init', 0)

        Initial(A(a=None), A_init)
        Initial(B(b=None), B_init)

        Observable("A_free", A(a=None))
        Observable("B_free", B(b=None))
        Observable("AB_complex", A(a=1) % B(b=1))

        Rule('A_synth', None >> A(a=None), ksynthA)
        Rule('B_synth', None >> B(b=None), ksynthB)
        Rule('AB_bind', A(a=None) + B(b=None) >> A(a=1) % B(b=1), kbindAB)

        self.model = model

        # This timespan is chosen to be enough to trigger a Jacobian evaluation
        # on the various solvers.
        self.time = np.linspace(0, 1)
        self.solver = Solver(self.model, self.time, integrator='vode')

    def tearDown(self):
        self.model = None
        self.time = None
        self.solver = None

    def test_vode_solver_run(self):
        """Test vode."""
        self.solver.run()

    def test_vode_jac_solver_run(self):
        """Test vode and analytic jacobian."""
        solver_vode_jac = Solver(self.model, self.time, integrator='vode',
                                  use_analytic_jacobian=True)
        solver_vode_jac.run()

    def test_lsoda_solver_run(self):
        """Test lsoda."""
        solver_lsoda = Solver(self.model, self.time, integrator='lsoda')
        solver_lsoda.run()

    def test_lsoda_jac_solver_run(self):
        """Test lsoda and analytic jacobian."""
        solver_lsoda_jac = Solver(self.model, self.time, integrator='lsoda',
                                  use_analytic_jacobian=True)
        solver_lsoda_jac.run()

    def test_param_values_as_dictionary(self):
        """Test param_values as a dictionary."""
        self.solver.run(param_values={'kbindAB': 0})
        # kbindAB=0 should ensure no AB_complex is produced.
        assert np.allclose(self.solver.yobs["AB_complex"], 0)

    @raises(IndexError)
    def test_param_values_invalid_dictionary_key(self):
        """Test param_values with invalid parameter name."""
        self.solver.run(param_values={'spam': 150})

    @raises(ValueError, TypeError, SimulatorException)
    def test_param_values_non_numeric_value(self):
        """Test param_values with non-numeric value."""
        self.solver.run(param_values={'ksynthA': 'eggs'})

@with_model
def test_integrate_with_expression():
    """Ensure a model with Expressions simulates."""

    Monomer('s1')
    Monomer('s9')
    Monomer('s16')
    Monomer('s20')

    # Parameters should be able to contain s(\d+) without error
    Parameter('ks0',2e-5)
    Parameter('ka20', 1e5)

    Initial(s9(), Parameter('s9_0', 10000))

    Observable('s1_obs', s1())
    Observable('s9_obs', s9())
    Observable('s16_obs', s16())
    Observable('s20_obs', s20())

    Expression('keff', (ks0*ka20)/(ka20+s9_obs))

    Rule('R1', None >> s16(), ks0)
    Rule('R2', None >> s20(), ks0)
    Rule('R3', s16() + s20() >> s16() + s1(), keff)

    time = np.linspace(0, 40)

    solver = Solver(model, time)
    solver.run()

    assert solver.yexpr_view.shape == (len(time),
                                       len(model.expressions_dynamic()))
    assert solver.yobs_view.shape == (len(time), len(model.observables))

def test_robertson_integration():
    """Ensure robertson model simulates."""
    t = np.linspace(0, 100)
    # Run with or without inline
    sol = Solver(robertson.model, t)
    sol.run()
    assert sol.y.shape[0] == t.shape[0]
    if Solver._use_inline:
        # Also run without inline
        Solver._use_inline = False
        sol = Solver(robertson.model, t)
        sol.run()
        assert sol.y.shape[0] == t.shape[0]
        Solver._use_inline = True

def test_earm_integration():
    """Ensure earm_1_0 model simulates."""
    t = np.linspace(0, 1e3)
    # Run with or without inline
    sol = Solver(earm_1_0.model, t)
    sol.run()
    if Solver._use_inline:
        # Also run without inline
        Solver._use_inline = False
        sol = Solver(earm_1_0.model, t)
        sol.run()
        Solver._use_inline = True

def test_run_ssa():
    """Test run_ssa."""
    run_ssa(robertson.model, t_end=20000, n_steps=100, verbose=False)

@raises(UserWarning)
def test_nonexistent_integrator():
    """Ensure nonexistent integrator raises."""
    Solver(robertson.model, np.linspace(0, 1, 2), integrator='does_not_exist')


text:
layout: materia
title: "Mesometeorología de Montaña"
carrera: "at"
tipo: Electiva
caracter: Cuatrimestral
carga_horaria:
    semanal: 10
    total: 160
correlativas:
  - materia: "Ondas de la Atmósfera 2"
    tipo: TP
    url: /materias-at/ondas2
  - materia: "Sensoramiento Remoto del Sistema Terrestre 1"
    tipo: TP
    url: /materias-at/sensores1
  - materia: "Sensoramiento Remoto del Sistema Terrestre 2"
    tipo: TP
    url: /materias-at/sensores2
  - materia: "Meteorología Sinóptica"
    tipo: TP
    url: /materias-at/meteo-sinoptica
  - materia: "Procesos Atmosféricos en Pequeña Escala"
    tipo: F
    url: /materias-at/pequena-escala

viejoplan: "No existe"
anteriores: "-"
---

### Contenidos mínimos
Definición dinámica de la mesoescala. Sistemas forzados por inhomogeneidades superficiales: vientos de ladera y de valle y montaña. Flujo de aire sobre colinas y montañas: ondas de montaña y ondas atrapadas. Vientos fuertes a sotavento. Mecanismos asociados. Turbulencia orográfica. Mecanismos de formación de jet en capas bajas asociados a la orografía. Bloqueo a barlovento y vórtices a sotavento. Situaciones de brisas de montaña y ondas de montaña en Argentina. Precipitación orográfica. Modelado numérico en alta resolución a los fines de diagnóstico y pronóstico de los sistemas y uso de información disponible de sensores remotos.

### Tips
No sabemos nada, pero suena bien. Mas novedades pronto.


text:
<select id="performerSelector" class="form-control" [(ngModel)]="value" #performer = "ngModel">
    <option *ngFor="let performer of performers" [value]="performer.id">
        {{performer.lastName}} {{performer.firstName}}
    </option>
</select>