text:
<!doctype html>

<meta charset="utf-8">
<title>All Posts – The New Dromologue</title>
<meta name="description" content="An archive of posts.">

<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="http://www.dromologue.com/images/sea4.png">

<meta name="twitter:title" content="All Posts">
<meta name="twitter:description" content="An archive of posts.">
<meta name="twitter:creator" content="@dromologue">

<meta property="og:locale" content="en_US">
<meta property="og:type" content="article">
<meta property="og:title" content="All Posts">
<meta property="og:description" content="An archive of posts.">
<meta property="og:url" content="http://www.dromologue.com/posts/">
<meta property="og:site_name" content="The New Dromologue">

<link rel="canonical" href="http://www.dromologue.com/posts/">
<link href="http://www.dromologue.com/feed.xml" type="application/atom+xml" rel="alternate" title="The New Dromologue Feed">

<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<link rel="stylesheet" href="http://www.dromologue.com/assets/css/main.css">

<link href="//fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic" rel="stylesheet" type="text/css">

<meta http-equiv="cleartype" content="on">

<link rel="shortcut icon" href="http://www.dromologue.com/favicon.ico">

<link rel="shortcut icon" href="http://www.dromologue.com/favicon.png">

<link rel="apple-touch-icon-precomposed" href="http://www.dromologue.com/images/apple-touch-icon-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="72x72" href="http://www.dromologue.com/images/apple-touch-icon-72x72-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="http://www.dromologue.com/images/apple-touch-icon-114x114-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="http://www.dromologue.com/images/apple-touch-icon-144x144-precomposed.png">

	<button class="dl-trigger">Open Menu</button>

Home

			About

Justin Arbuckle

CTO, IT Architect, Evangelist, Transformer.

Learn More

					 Email

					 Twitter

					 Facebook

					 LinkedIn

					 GitHub

			Posts

All Posts

All Tags

Link-List

Open Source Methods

RSS

The New Dromologue

All Posts

2021

Promotions

2019

Scotiabank Wins Bank of the Year in Canada 2019

Google Next Keynote

Interview at Microsoft Ignite

2018

Transformation at Scotiabank

Open Source Strategy for Scotiabank

Customer Keynote at Google Next 18

Becoming a VAR

Open Source Press Release

2017

An Open Letter to my New Team

How Finance put the Tech in Fintech

IOTA - The Missing Artifact in SCRUM

Learning and Limits

2016

The Real ROI of DevOps

A new kind of management

No, I won't tell you what DevOps is

The Lazy J Curve and How to Stop Over-Designing

Delivering Products at Velocity

The Continuous Economy

Driving Effective Change

Keynote at ChefConf 2016 with Dawie Olivier

Don't Org like the Borg.

The IOTA Model

Learning in the Continuous Customer Economy - DevOps.com

Redefining Product Value in the Continuous Economy - DevOps.com

Interview at Atmosphere Conference 2016

Career path from programming to sales

Transforming Teams

Keynote at Atmosphere 2016

Waves of Change

Working on What Matters

A Tale of Constructors

4 Principles of Product Organisation

Driving Devops Adoption at GE Capital

Architectural Leadership

Continuous Transformation Reference Card

Malice in Wonderland

The Hedgehog, The Fox and the Hacker

Keynote at Rugged DevOps 2016

5 Issues with Agile and What's Next

What Determines the Value of Products?

2015

Interview at South African Banking DevOps Event

DevOps enables innovation and compliance to go hand-in-hand

Staying Compliant When Security is in the Hot Seat

Video with Microsoft Channel 9

Keeping the end in mind

Enterprise architects have nothing to lose but their roadmaps

Implementing Compliance at Velocity at Chef

Chef Software Applies IT Automation to Compliance

Scaleable Change

The War of Independence for Enterprise Architecture

Complete compliance in coding is an Alice in Wonderland-style fairytale

ICS Presentation in Ireland

Interview at RSA Conference 2015

Interview at RSA Conference 2015

DevOps Improves Security

Compliance and digital innovation needn't be mutually exclusive

Everything's code

Does DevOps hurt or help security?

Compliance-as-code to bring high velocity to enterprise IT

What is DevOps?

The Myth of Control

The Whale at DOES

Hunting the Whale of DevOps

Chasing the Whale

    © 2021 Justin Arbuckle. Powered by Jekyll using the HPSTR Theme.


text:
define(["require", "exports", './Queue', "QUnit"], function (require, exports, Queue) {
    function run() {
        Queue();
    }
    return run;
});
//# sourceMappingURL=_all.js.map

redpajama_set_name: RedPajamaGithub


text:
require 'god'

module God
  module Conditions
    # Adapted from https://gist.github.com/571095
    class ForemanRestartFileTouched < PollCondition
      attr_accessor :restart_file

      def initialize
        super
      end

      def process_start_time
        Time.parse(`ps -o lstart= -p #{self.watch.pid}`) rescue nil
      end

      def restart_file_modification_time
        File.mtime(self.restart_file) rescue Time.at(0)
      end

      def valid?
        valid = true
        valid &= complain("Attribute 'restart_file' must be specified", self) if self.restart_file.nil?
        valid
      end

      def test
        ptime = process_start_time
        if ptime
          ptime < restart_file_modification_time
        else
          false
        end
      end
    end
  end
end


text:
package swordMaster.data;
import swordMaster.scenes.SceneGameover;

public class Event4
{
    public static int msgIndex = 0;
    public static void main ()
    {
	if (GlobalVar.scene.player.direction == 1)
	    GlobalVar.scene.masterDir = 2;
	if (GlobalVar.scene.player.direction == 2)
	    GlobalVar.scene.masterDir = 1;
	if (GlobalVar.scene.player.direction == 3)
	    GlobalVar.scene.masterDir = 0;
	if (!GlobalVar.win && !GlobalVar.lose)
	{
	    switch (msgIndex)
	    {
		case 0:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "Good morning, master.", " "
			    );
		    break;
		case 1:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "Morning.", "Dalian Yi"
			    );
		    break;
		case 2:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "Do we have any training today?", " "
			    );
		    break;
		case 3:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "Actually, um, I have an important\n".concat (
				"thing to say... Wait a second. How\n").concat (
				"long have you been here?\n"), "Dalian Yi"
			    );
		    break;
		case 4:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "I guess it's about 5 years, I'm\n".concat (
				"not sure."), " "
			    );
		    break;
		case 5:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "Oh yeah. I think it's the time to\n".concat (
				"let you go outside of here. Your\n").concat (
				"sword skill must be good enough\n").concat (
				"for the world out there.\n"), "Dalian Yi"
			    );
		    break;
		case 6:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "....\n", " "
			    );
		    break;
		case 7:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "Even though, I have to test you,\n".concat (
				"see if you're able to go. I\n").concat (
				"found a good material for you.\n").concat (
				"It's a tree east of here."), "Dalian Yi"
			    );
		    break;
		case 8:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "Your job is to cut the tree down\n".concat (
				"in half of a minute. If you success,\n").concat (
				"congratulation! I don't have any-\n").concat (
				"thing left to teach you."), "Dalian Yi"
			    );
		    break;
		case 9:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "But if you fail..You probably would\n".concat (
				"want to stay here and train a,\n").concat (
				"couple of years more, because if\n").concat (
				"you can't cut the tree down in 30"), "Dalian Yi"
			    );
		    break;
		case 10:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "seconds, you can't defeat anyone\n".concat (
				"out there neither. Tree is dead,\n").concat (
				"but a human is active! Remember.\n"), "Dalian Yi"
			    );
		    break;
		case 11:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "So you can start once you're\n".concat (
				"prepared, you can go back to your\n").concat (
				"house and kill the cock to train\n").concat (
				"your strength, don't died though."), "Dalian Yi"
			    );
		    break;
		case 12:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "There're some potions in your\n".concat (
				"house, you can pick them up.\n").concat (
				"They're good for healing.\n"), "Dalian Yi"
			    );
		    break;
		case 13:
		    GlobalVar.scene.messageWindow.drawMessage
			(
			    "Come and talk to me whether you\n".concat (
				"fail or not. I'm waiting for your\n").concat (
				"good news.\n"), "Dalian Yi"
			    );
		    break;
		default:
		    GlobalVar.event4 = false;
		    msgIndex = 13;
		    GlobalVar.readyToCut = true;
		    GlobalVar.scene.activeEnemy = new Tree ();
		    GlobalVar.scene.activeEnemy.initialize ();
		    GlobalVar.scene.activeEnemy.alive = true;
	    }
	}

	if (GlobalVar.win)
	{

	    GlobalVar.scene.messageWindow.drawMessage
		(
		    "Very well done! You made it! Nice!\n".concat (
			"I can't think of a reason for you\n").concat (
			"to not leave! Go! my prentice, now!\n").concat (
			"Take a look in the fantastic world!"), "Dalian Yi"
		    );

	}
	if (GlobalVar.lose)
	{

	    GlobalVar.scene.messageWindow.drawMessage
		(
		    "O my poor prentice, I don't think\n".concat (
			"it's a good idea for you to leave.\n").concat (
			"Ok..No problem, stay here, and\n").concat (
			"make your self stronger!"), "Dalian Yi"
		    );

	}
    }
}


text:
@import url('http://fonts.googleapis.com/css?family=Raleway:400,200');
@import url('https://fonts.googleapis.com/css?family=Orbitron');
body {   font-family: 'Raleway', sans-serif;
	background-image:  url("../static/background.jpg");
}


text:
package ipc;

import java.io.IOException;
import java.net.InetSocketAddress;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.ipc.RPC;
import org.apache.hadoop.ipc.Server;
import org.apache.hadoop.ipc.VersionedProtocol;

public class IPCUtil {

	public static Clustering clustering = null;

	public static void startProxy() throws Exception{
		ClusteringImpl  service = new ClusteringImpl();
//		Server s = RPC.getServer(service, "0.0.0.0", IPC_PORT, new Configuration());
		Server s = RPC.getServer(service, "0.0.0.0", IPCClient.IPC_PORT, 8,false,new Configuration());
		s.start();
	}

	public static Clustering getProxy() throws IOException{
//		if (clustering == null) {
			InetSocketAddress addr = new InetSocketAddress(IPCClient.IPC_SERVER, IPCClient.IPC_PORT);
			clustering = (Clustering) RPC.getProxy(Clustering.class, IPCServer.IPC_VERSION, addr, new Configuration());
//		}
		return clustering;
	}

	public static void stop(VersionedProtocol v) {
		RPC.stopProxy(v);
	}
}


text:
// This file is part of libigl, a simple c++ geometry processing library.
//
// Copyright (C) 2016 Alec Jacobson <alecjacobson@gmail.com>
//
// This Source Code Form is subject to the terms of the Mozilla Public License
// v. 2.0. If a copy of the MPL was not distributed with this file, You can
// obtain one at http://mozilla.org/MPL/2.0/.
#include "decimate.h"
#include "collapse_edge.h"
#include "edge_flaps.h"
#include "remove_unreferenced.h"
#include "slice_mask.h"
#include "slice.h"
#include "connect_boundary_to_infinity.h"
#include "max_faces_stopping_condition.h"
#include "shortest_edge_and_midpoint.h"

IGL_INLINE bool igl::decimate(
  const Eigen::MatrixXd & V,
  const Eigen::MatrixXi & F,
  const size_t max_m,
  Eigen::MatrixXd & U,
  Eigen::MatrixXi & G,
  Eigen::VectorXi & J,
  Eigen::VectorXi & I)
{
  // Original number of faces
  const int orig_m = F.rows();
  // Tracking number of faces
  int m = F.rows();
  typedef Eigen::MatrixXd DerivedV;
  typedef Eigen::MatrixXi DerivedF;
  DerivedV VO;
  DerivedF FO;
  igl::connect_boundary_to_infinity(V,F,VO,FO);
  bool ret = decimate(
    VO,
    FO,
    shortest_edge_and_midpoint,
    max_faces_stopping_condition(m,orig_m,max_m),
    U,
    G,
    J,
    I);
  const Eigen::Array<bool,Eigen::Dynamic,1> keep = (J.array()<orig_m);
  igl::slice_mask(Eigen::MatrixXi(G),keep,1,G);
  igl::slice_mask(Eigen::VectorXi(J),keep,1,J);
  Eigen::VectorXi _1,I2;
  igl::remove_unreferenced(Eigen::MatrixXd(U),Eigen::MatrixXi(G),U,G,_1,I2);
  igl::slice(Eigen::VectorXi(I),I2,1,I);
  return ret;
}

IGL_INLINE bool igl::decimate(
  const Eigen::MatrixXd & V,
  const Eigen::MatrixXi & F,
  const size_t max_m,
  Eigen::MatrixXd & U,
  Eigen::MatrixXi & G,
  Eigen::VectorXi & J)
{
  Eigen::VectorXi I;
  return igl::decimate(V,F,max_m,U,G,J,I);
}

IGL_INLINE bool igl::decimate(
  const Eigen::MatrixXd & OV,
  const Eigen::MatrixXi & OF,
  const std::function<void(
    const int,
    const Eigen::MatrixXd &,
    const Eigen::MatrixXi &,
    const Eigen::MatrixXi &,
    const Eigen::VectorXi &,
    const Eigen::MatrixXi &,
    const Eigen::MatrixXi &,
    double &,
    Eigen::RowVectorXd &)> & cost_and_placement,
  const std::function<bool(
      const Eigen::MatrixXd &,
      const Eigen::MatrixXi &,
      const Eigen::MatrixXi &,
      const Eigen::VectorXi &,
      const Eigen::MatrixXi &,
      const Eigen::MatrixXi &,
      const std::set<std::pair<double,int> > &,
      const std::vector<std::set<std::pair<double,int> >::iterator > &,
      const Eigen::MatrixXd &,
      const int,
      const int,
      const int,
      const int,
      const int)> & stopping_condition,
  Eigen::MatrixXd & U,
  Eigen::MatrixXi & G,
  Eigen::VectorXi & J,
  Eigen::VectorXi & I
  )
{
  const auto always_try = [](
    const Eigen::MatrixXd &                                         ,/*V*/
    const Eigen::MatrixXi &                                         ,/*F*/
    const Eigen::MatrixXi &                                         ,/*E*/
    const Eigen::VectorXi &                                         ,/*EMAP*/
    const Eigen::MatrixXi &                                         ,/*EF*/
    const Eigen::MatrixXi &                                         ,/*EI*/
    const std::set<std::pair<double,int> > &                        ,/*Q*/
    const std::vector<std::set<std::pair<double,int> >::iterator > &,/*Qit*/
    const Eigen::MatrixXd &                                         ,/*C*/
    const int                                                        /*e*/
    ) -> bool { return true;};
  const auto never_care = [](
    const Eigen::MatrixXd &                                         ,   /*V*/
    const Eigen::MatrixXi &                                         ,   /*F*/
    const Eigen::MatrixXi &                                         ,   /*E*/
    const Eigen::VectorXi &                                         ,/*EMAP*/
    const Eigen::MatrixXi &                                         ,  /*EF*/
    const Eigen::MatrixXi &                                         ,  /*EI*/
    const std::set<std::pair<double,int> > &                        ,   /*Q*/
    const std::vector<std::set<std::pair<double,int> >::iterator > &, /*Qit*/
    const Eigen::MatrixXd &                                         ,   /*C*/
    const int                                                       ,   /*e*/
    const int                                                       ,  /*e1*/
    const int                                                       ,  /*e2*/
    const int                                                       ,  /*f1*/
    const int                                                       ,  /*f2*/
    const bool                                                  /*collapsed*/
    )-> void { };
  return igl::decimate(
    OV,OF,cost_and_placement,stopping_condition,always_try,never_care,U,G,J,I);
}

IGL_INLINE bool igl::decimate(
  const Eigen::MatrixXd & OV,
  const Eigen::MatrixXi & OF,
  const std::function<void(
    const int,
    const Eigen::MatrixXd &,
    const Eigen::MatrixXi &,
    const Eigen::MatrixXi &,
    const Eigen::VectorXi &,
    const Eigen::MatrixXi &,
    const Eigen::MatrixXi &,
    double &,
    Eigen::RowVectorXd &)> & cost_and_placement,
  const std::function<bool(
      const Eigen::MatrixXd &,
      const Eigen::MatrixXi &,
      const Eigen::MatrixXi &,
      const Eigen::VectorXi &,
      const Eigen::MatrixXi &,
      const Eigen::MatrixXi &,
      const std::set<std::pair<double,int> > &,
      const std::vector<std::set<std::pair<double,int> >::iterator > &,
      const Eigen::MatrixXd &,
      const int,
      const int,
      const int,
      const int,
      const int)> & stopping_condition,
    const std::function<bool(
      const Eigen::MatrixXd &                                         ,/*V*/
      const Eigen::MatrixXi &                                         ,/*F*/
      const Eigen::MatrixXi &                                         ,/*E*/
      const Eigen::VectorXi &                                         ,/*EMAP*/
      const Eigen::MatrixXi &                                         ,/*EF*/
      const Eigen::MatrixXi &                                         ,/*EI*/
      const std::set<std::pair<double,int> > &                        ,/*Q*/
      const std::vector<std::set<std::pair<double,int> >::iterator > &,/*Qit*/
      const Eigen::MatrixXd &                                         ,/*C*/
      const int                                                        /*e*/
      )> & pre_collapse,
    const std::function<void(
      const Eigen::MatrixXd &                                         ,   /*V*/
      const Eigen::MatrixXi &                                         ,   /*F*/
      const Eigen::MatrixXi &                                         ,   /*E*/
      const Eigen::VectorXi &                                         ,/*EMAP*/
      const Eigen::MatrixXi &                                         ,  /*EF*/
      const Eigen::MatrixXi &                                         ,  /*EI*/
      const std::set<std::pair<double,int> > &                        ,   /*Q*/
      const std::vector<std::set<std::pair<double,int> >::iterator > &, /*Qit*/
      const Eigen::MatrixXd &                                         ,   /*C*/
      const int                                                       ,   /*e*/
      const int                                                       ,  /*e1*/
      const int                                                       ,  /*e2*/
      const int                                                       ,  /*f1*/
      const int                                                       ,  /*f2*/
      const bool                                                  /*collapsed*/
      )> & post_collapse,
  Eigen::MatrixXd & U,
  Eigen::MatrixXi & G,
  Eigen::VectorXi & J,
  Eigen::VectorXi & I
  )
{
  using namespace Eigen;
  using namespace std;
  VectorXi EMAP;
  MatrixXi E,EF,EI;
  edge_flaps(OF,E,EMAP,EF,EI);
  return igl::decimate(
    OV,OF,
    cost_and_placement,stopping_condition,pre_collapse,post_collapse,
    E,EMAP,EF,EI,
    U,G,J,I);
}

IGL_INLINE bool igl::decimate(
  const Eigen::MatrixXd & OV,
  const Eigen::MatrixXi & OF,
  const std::function<void(
    const int,
    const Eigen::MatrixXd &,
    const Eigen::MatrixXi &,
    const Eigen::MatrixXi &,
    const Eigen::VectorXi &,
    const Eigen::MatrixXi &,
    const Eigen::MatrixXi &,
    double &,
    Eigen::RowVectorXd &)> & cost_and_placement,
  const std::function<bool(
      const Eigen::MatrixXd &,
      const Eigen::MatrixXi &,
      const Eigen::MatrixXi &,
      const Eigen::VectorXi &,
      const Eigen::MatrixXi &,
      const Eigen::MatrixXi &,
      const std::set<std::pair<double,int> > &,
      const std::vector<std::set<std::pair<double,int> >::iterator > &,
      const Eigen::MatrixXd &,
      const int,
      const int,
      const int,
      const int,
      const int)> & stopping_condition,
    const std::function<bool(
      const Eigen::MatrixXd &                                         ,/*V*/
      const Eigen::MatrixXi &                                         ,/*F*/
      const Eigen::MatrixXi &                                         ,/*E*/
      const Eigen::VectorXi &                                         ,/*EMAP*/
      const Eigen::MatrixXi &                                         ,/*EF*/
      const Eigen::MatrixXi &                                         ,/*EI*/
      const std::set<std::pair<double,int> > &                        ,/*Q*/
      const std::vector<std::set<std::pair<double,int> >::iterator > &,/*Qit*/
      const Eigen::MatrixXd &                                         ,/*C*/
      const int                                                        /*e*/
      )> & pre_collapse,
    const std::function<void(
      const Eigen::MatrixXd &                                         ,   /*V*/
      const Eigen::MatrixXi &                                         ,   /*F*/
      const Eigen::MatrixXi &                                         ,   /*E*/
      const Eigen::VectorXi &                                         ,/*EMAP*/
      const Eigen::MatrixXi &                                         ,  /*EF*/
      const Eigen::MatrixXi &                                         ,  /*EI*/
      const std::set<std::pair<double,int> > &                        ,   /*Q*/
      const std::vector<std::set<std::pair<double,int> >::iterator > &, /*Qit*/
      const Eigen::MatrixXd &                                         ,   /*C*/
      const int                                                       ,   /*e*/
      const int                                                       ,  /*e1*/
      const int                                                       ,  /*e2*/
      const int                                                       ,  /*f1*/
      const int                                                       ,  /*f2*/
      const bool                                                  /*collapsed*/
      )> & post_collapse,
  const Eigen::MatrixXi & OE,
  const Eigen::VectorXi & OEMAP,
  const Eigen::MatrixXi & OEF,
  const Eigen::MatrixXi & OEI,
  Eigen::MatrixXd & U,
  Eigen::MatrixXi & G,
  Eigen::VectorXi & J,
  Eigen::VectorXi & I
  )
{

  // Decimate 1
  using namespace Eigen;
  using namespace std;
  // Working copies
  Eigen::MatrixXd V = OV;
  Eigen::MatrixXi F = OF;
  Eigen::MatrixXi E = OE;
  Eigen::VectorXi EMAP = OEMAP;
  Eigen::MatrixXi EF = OEF;
  Eigen::MatrixXi EI = OEI;
  typedef std::set<std::pair<double,int> > PriorityQueue;
  PriorityQueue Q;
  std::vector<PriorityQueue::iterator > Qit;
  Qit.resize(E.rows());
  // If an edge were collapsed, we'd collapse it to these points:
  MatrixXd C(E.rows(),V.cols());
  for(int e = 0;e<E.rows();e++)
  {
    double cost = e;
    RowVectorXd p(1,3);
    cost_and_placement(e,V,F,E,EMAP,EF,EI,cost,p);
    C.row(e) = p;
    Qit[e] = Q.insert(std::pair<double,int>(cost,e)).first;
  }
  int prev_e = -1;
  bool clean_finish = false;

  while(true)
  {
    if(Q.empty())
    {
      break;
    }
    if(Q.begin()->first == std::numeric_limits<double>::infinity())
    {
      // min cost edge is infinite cost
      break;
    }
    int e,e1,e2,f1,f2;
    if(collapse_edge(
       cost_and_placement, pre_collapse, post_collapse,
       V,F,E,EMAP,EF,EI,Q,Qit,C,e,e1,e2,f1,f2))
    {
      if(stopping_condition(V,F,E,EMAP,EF,EI,Q,Qit,C,e,e1,e2,f1,f2))
      {
        clean_finish = true;
        break;
      }
    }else
    {
      if(prev_e == e)
      {
        assert(false && "Edge collapse no progress... bad stopping condition?");
        break;
      }
      // Edge was not collapsed... must have been invalid. collapse_edge should
      // have updated its cost to inf... continue
    }
    prev_e = e;
  }
  // remove all IGL_COLLAPSE_EDGE_NULL faces
  MatrixXi F2(F.rows(),3);
  J.resize(F.rows());
  int m = 0;
  for(int f = 0;f<F.rows();f++)
  {
    if(
      F(f,0) != IGL_COLLAPSE_EDGE_NULL ||
      F(f,1) != IGL_COLLAPSE_EDGE_NULL ||
      F(f,2) != IGL_COLLAPSE_EDGE_NULL)
    {
      F2.row(m) = F.row(f);
      J(m) = f;
      m++;
    }
  }
  F2.conservativeResize(m,F2.cols());
  J.conservativeResize(m);
  VectorXi _1;
  remove_unreferenced(V,F2,U,G,_1,I);
  return clean_finish;
}


text:
ISSUE 348. Some refactor for outputSchema wrapping adding in ISSUE 347 (Aniket Mokashi)

ISSUE 347. Pig 12 compatibility Wrap outputschema into a tuple to make UDFs (Aniket Mokashi)

### Version 4.2 ###

ISSUE 339. Updates PigToThrift to support more Pig map (String) key conversions (Andy Schlaikjer)

ISSUE 335. RCFileThriftOutputFormat tries to use configuration for RCFileProtobufOutputFormat (johansen)

ISSUE 329. option to limit size of input lines read into memory (Raghu Angadi)

ISSUE 325. Use base64 to encode strings that have unicode (Alex Levenson)

### Version 4.1 ###

ISSUE 322. Re-implement ThriftBinaryDeserializer (Raghu Angadi)

ISSUE 321. Use reflection to handle Thrift structs better (Raghu Angadi)

ISSUE 320. Changes for using with cascading and MR1 in CDH4 (Rotem Hermon)

ISSUE 317. Enforce error threshold at the end of reading a split (Raghu Angadi)

### Version 4.0 ###

ISSUE 314. hadoop-compat module (Raghu Angadi)

ISSUE 313. IndexOutOfBounds Exception in RCFilePigStorage (Raghu Angadi)

ISSUE 308. Major update to dependencies. Most are in 'provided' scope. (Raghu Angadi)

ISSUE 308. Support Hadoop 1.x and 2.x (Raghu Angadi)

ISSUE 305. Lzo unit tests in Travis CI (Raghu Angadi)

### Version 3.0.9 ###

ISSUE 300. Better implementation of LuceneIndexCollectAllRecordReader (Alex Levenson)

ISSUE 297. Lucene: Fix query file constructor bug (Alex Levenson)

ISSUE 217. Add TypedProtobufWritable (Ximo Guanter)

### Version 3.0.8 ###

ISSUE 295. Lower required maven version to 3.0.0 (Travis Crawford)

ISSUE 293. Require maven 3.x (David Wu)

ISSUE 292. Working Travis CI (David Wu)

ISSUE 289. Thrift: Make list of enum values available (Julien Le Dem)

ISSUE 288. Thrift: Make requirementType in FieldMetaData available (Julien Le Dem)

### Version 3.0.7 ###

ISSUE 286. catch protobuf errors during block decoding (Aaron Siegel)

ISSUE 285. Handle runtime exceptions in ThritConverter (Raghu Angadi)

ISSUE 283. Add LocationAsTuple pig loader (Dmitriy Ryaboy)

ISSUE 282. Bugfixes and minor improvements for elephant-bird-lucene (Alex Levenson)

ISSUE 281. Add BytesWritableConverter (Andy Schlaikjer)

ISSUE 280. Add lucene docs to readme (Alex Levenson)

### Version 3.0.6 ###

ISSUE 276. Lucene support in MR and Pig (Alex Levenson)

ISSUE 275. Make PigToThrift.toThriftValue public (Bill Graham)

### Version 3.0.5 ###

ISSUE 274. Correct 3.0.4 version number in changes log (Travis Crawford)

ISSUE 271. Update protobuf deserializer to present enums as strings (Feng Peng)

ISSUE 270. Add LzoByteArrayScheme (Sam Ritchie)

ISSUE 269. Adds Travis CI build link to readme (Andy Schlaikjer)

ISSUE 268. Adds travis-ci configuration (Andy Schlaikjer)

ISSUE 266. Improves RawSequenceFileRecordReader javadoc (Andy Schlaikjer)

### Version 3.0.4 ###

*** The issues starred below have introduced breaking API changes. Please make sure your java code and pig scripts are updated to use changed APIs correctly.

ISSUE 257. Adds LzoRawBytesStorage to mirror LzoRawBytesLoader (Andy Schlaikjer)

ISSUE 256. *** Refactors SequenceFile{Loader, Storage}. SequenceFileStorage no longer extends SequenceFileLoader. (Andy Schlaikjer)

### Version 3.0.3 ###

ISSUE 245. Stop using DefaultDataBags, use NonSpillable ones instead (Dmitriy Ryaboy)

ISSUE 244. Fixing mvn package build error because of log4j (Eli Finkelshteyn)

ISSUE 243. Fix how SequenceFileLoader initializes FileSystem (Raghu Angadi)

ISSUE 242. Handle null values during Protobuf to tuple conversion (Raghu Angadi)

ISSUE 241. Default values during RCFile protobuf columns to tuple conversion (Raghu Angadi)

ISSUE 239. Set read limit while deserializing Thrift objects (Raghu Angadi)

ISSUE 238. Updates logging deps, normalizing on slf4j (Andy Schlaikjer)

ISSUE 237. Avoid repeating some of dependencies in sub modules (Raghu Angadi)

ISSUE 226. Improve handling of pig to thrift enum value conversion failure (Andy Schlaikjer)

### Version 3.0.2 ###

ISSUE 235. Update build so LZO tests work correctly (Travis Crawford)

ISSUE 234. Hive protobuf deserializer (Raghu Angadi)

ISSUE 233. Redo classloader checks (Raghu Angadi)

ISSUE 230. Add DeprecatedRawMultiInputFormat (Travis Crawford)

ISSUE 231. Removes m2e filtering of build-helper-maven-plugin (Andy Schlaikjer)

ISSUE 232. merge two versions of TestThriftToPig (Raghu Angadi)

ISSUE 229. Lzo raw input format (Raghu Angadi)

ISSUE 227. More class visibility fixes (Raghu Angadi)

ISSUE 225. fix subclass check in MultiInputFormat (Raghu Angadi)

ISSUE 224. change log for 3.0.1 (Raghu Angadi)

### Version 3.0.1 ###

ISSUE 223. handle null keys in Thrift maps (Raghu Angadi)

ISSUE 222. use correct classloader for user supplied classes (Raghu Angadi)

### Version 3.0.0 ###

ISSUE 201. mavenize and split into multiple modules (Johan Oskarsson, Andy Schlaikjer)

### Version 2.2.3 ###

ISSUE 205. Set map value field alias to null (Andy Schlaikjer)

ISSUE 203. Remove yamlbeans from dependencies (Raghu Angadi)

ISSUE 202. remove Protobuf codegen utils, use maven repo for Thrift and Protobuf jars (Raghu Angadi)

ISSUE 198. Remove piggybank dependency. (Raghu Angadi)

ISSUE 200. Fix typos in VectorWritableConverter javadoc (Andy Schlaikjer)

ISSUE 197. Upgrade to cascading wip-288 (Argyris Zymnis)

### Version 2.2.2 ###

ISSUE 193. Fix schema for Thrift struct in a map. (Raghu Angadi)

### Version 2.2.1 ###

ISSUE 190. Added support for skipping EOFExceptions to SequenceFileLoader (Xavier Stevens)

ISSUE 191. Upgrade cascading to wip-281. (Argyris Zymnis)

ISSUE 189. make LzoBinaryBlockRecordReader return lzoblock offset (Yu Xu)

ISSUE 188. Pig schema for Thrift maps. (Raghu Angadi)

ISSUE 187. Adds check for input tuple length equal to 2, in case output schema validation is skipped (Andy Schlaikjer)

ISSUE 185. Add HCatalog support to HiveMultiInputFormat. (Travis Crawford)

ISSUE 183. Add a link to the mailing list on the readme. (Travis Crawford)

### Version 2.2.0 ###

ISSUE 176. Load nested JSON structures (André Panisson)

ISSUE 181. preserve unknown fields for Thrift + RCFile (Raghu Angadi)

ISSUE 180. Improves SequenceFileStorage schema validation (Andy Schlaikjer)

ISSUE 144. RCFile storage for Protobuf and Thrift (Raghu Angadi)

ISSUE 166. Hello, I've been asked to do a fatjar with all the compile deps of your project (Alexis Torres Paderewski)

ISSUE 179. Deprecated outputformat wrapper (Raghu Angadi)

ISSUE 178. remove DepcreateInputFormat and deprecated RecordReaders (Raghu Angadi)

ISSUE 177. Add Hive thrift support (Travis Crawford)

ISSUE 175. setClassConf() interface (Raghu Angadi)

ISSUE 174. Refactors VectorWritableConverter to support transformation of vector data on store (Andy Schlaikjer)

ISSUE 172. Adds outputSchema impl to JsonStringToMap UDF (Andy Schlaikjer)

ISSUE 173. Remove version number from readme file. The readme always describes the ... (Travis Crawford)

ISSUE 170. Cleanup cascading chemes: use deprecated input format wrapper (Argyris Zymnis)

ISSUE 168. Thrift : fix for isBuffer check (Raghu Angadi)

ISSUE 167. Deprecated inputformat wrapper (Raghu Angadi)

### Version 2.1.12 ###

### Version 2.1.11 ###

ISSUE 164. Mininum error threshold in LzoRecordReader (Raghu Angadi)

ISSUE 163. Support Thrift union (Raghu Angadi)

ISSUE 155. Remove non-null precondition in SequenceFileLoader (Andy Schlaikjer)

ISSUE 159. Inhibit class loading in RawSequenceFileRecordReader (Andy Schlaikjer)

### Version 2.1.10 ###

ISSUE 156. Fix a classname bug introduced in the recent refactor. (Travis Crawford)

### Version 2.1.9 ###

ISSUE 153. Update cascading2 version and classes with changes already in science. (Travis Crawford)

ISSUE 152. Removes requirement that input Vector data match user specified -dense, -sparse options (Andy Schlaikjer)

ISSUE 148. TestInvoker#testSpeed() may fail on slow machines (Michael Noll)

ISSUE 147. Refactor JSON loaders so an InputFormat can be used & update test. (Travis Crawford)

ISSUE 142. Don't force thrift in classpath unless necessary. (Raghu Angadi)

ISSUE 141. Cleans up top level Readme.md, adds more info on SequenceFile IO (Andy Schlaikjer)

ISSUE 140. SeqFileLoader and SeqFileStorage should resolve using PigContext (Dmitriy Ryaboy)

ISSUE 139. Adds Mahout VectorWritableConverter util from Twadoop (Andy Schlaikjer)

ISSUE 138. Please bump to lastest cascading2 build (slightly incompatible with wip-176). (Oscar Boykin)

### Version 2.1.8 ###

ISSUE 137. Fixes the namespace in cascading2 protobufs (Oscar Boykin)

ISSUE 135. port index file handling from LzoInputFormat to its Deprecated sibling. (Raghu Angadi)

### Version 2.1.7 ###

ISSUE 133. Downgrade cascading2 dependency to more stable version (Travis Crawford)

### Version 2.1.6 ###

ISSUE 129. Add "install-local" ant target (Travis Crawford)

ISSUE 127. Lzo text outputformat heirarchy (Raghu Angadi)

ISSUE 126. Add protobuf-java-2.3.0.jar back as a checked-in library (Travis Crawford)

ISSUE 125. Deprecated lzo output format update. (Raghu Angadi)

ISSUE 123. Fix maven repo documentation (Travis Crawford)

NO ISSUE. Upgrade hadoop-lzo to 0.4.15 (Raghu Angadi)

### Version 2.1.5 ###

ISSUE 122. Add maven repository support (Travis Crawford)

ISSUE 121. Add Ivy & POM file generation to Elephant Bird build (Travis Crawford)

ISSUE 120. Build improvements  (Travis Crawford)

ISSUE 119. Fix a regression from 2.1.4 related to the multi-loader (Raghu Angadi)

### Version 2.1.4 ###

ISSUE 116. Use MultiInputFormat for Thrift and Protobuf Pig loaders (Raghu Angadi)

### Version 2.1.3 ###

ISSUE 117. Add Cascading2 taps (Dmitriy Ryaboy)

ISSUE 115. Use guava-11.0 (Alex Levenson)

ISSUE 112. Fix UDFContext handing in SequenceFileStorage (Ted Dunning)

### Version 2.1.2 ###

ISSUE 105. Fix ThriftToPig for Pig9 and nested containers (Jonathan Coveney)

ISSUE 97.  MultiFormatLoader and MultiInputFormat (Raghu Angadi)

ISSUE 92.  Projection support for Protobuf and Thrift loaders (Raghu Angadi)

ISSUE 102. Handle null returned from JSON parser (Michael G. Noll)

### Version 2.1.1 ###

ISSUE 104. utility to generate DynamicProtobuf for given PigSchema (Bill Graham)

ISSUE 100. Front page doc update (Dmitriy Ryaboy)

### Version 2.1.0 ###

ISSUE 95. Allow enum for key field in Thrift maps (Raghu Angadi)

ISSUE 94. Update WritableLoadCaster to work with pig0.9 (Jonathan Coveney)

ISSUE 91. Add getMessageFieldNames() method to Protobuf utils (Bill Graham)

### Version 2.0.9 ###

ISSUE 89. Improve interface and Null handling in SequenceFileStorage (Andy Schlaikjer)

ISSUE 88. Better error messages while storing Thrift or Protobufs (Andy Schlaikjer)

### Version 2.0.8 ###

ISSUE 86. log serialization errors in lzo loaders (rangadi)

ISSUE 85. fix for SequenceFileLoader getWritableConverter (Andy Schlaikjer)

ISSUE 84. various SequenceFileLoader updates (Andy Schlaikjer)

ISSUE 82. maven-install ant target (Andy Schlaikjer)

ISSUE 81. Fix error rate calculation in LzoRecordReader (rangadi)

ISSUE 80. varargs constroctor for WritableConverters in SequenceFileLoader (Andy Schlaikjer)

### Version 2.0.7 ###

ISSUE 79. Fix schema for DataBag in Pig 0.9 (rangadi)

ISSUE 78. Thrift and Protobuf converters for SequenceFile storage (Andy Schlaikjer)

ISSUE 77. Support passing arguments to converters in SequenceFile storage (Andy Schlaikjer)

ISSUE 75. Fix check for empty line base64 line loaders (rangadi)

### Version 2.0.6 ###

ISSUE 74. Allow a few bad records in LzoRecordReders (rangadi)

ISSUE 73. SequenceFile Pig storage (Andy Schlaikjer)

ISSUE 72. Write lzo index file to a temp file (rangadi)

### Version 2.0.5 ###

ISSUE 68. Fix isSplittable() in LzoInputFormat (rangadi)

ISSUE 64. Support for lzo index files in LzoOutputFormat (rangadi)

### Version 2.0.4 ###

ISSUE 67. Reduce memory footprint of LzoInputFormat (dvryaboy)

### Version 2.0.3 ###

ISSUE 59. check if PigReporter returns a null counter (dvryaboy)

ISSUE 57. fix recursion while listing lzo files (rangadi)

ISSUE 55. code cleanup for Pig storage classes (rangadi)

### Version 2.0.2 ###

ISSUE 54. Fix Thrift and Protobuf Input/Output format initialization in Pig (rangadi)

ISSUE 52. Fix Thrift and Protobuf PigStorage (dvryaboy)

### Version 2.0.1 ###

ISSUE 51. Fix a regression in ISSUE-49 for Thrift loaders/inputformats.

ISSUE 51. Add HBaseLoader for backward compatibility (rangadi).

### Version 2.0.0 ###

NO TICKET. Upgrade Pig compatibility to 0.8

### Version 1.2.6 ###

ISSUE 50. Add dynamic Thrift to Proto conversion (dvryaboy)

ISSUE 49. Add "deprecated" lzo b64 input/output support for Thrift (sigmoids via rangadi)

### Version 1.2.5 ###

ISSUE 46. ThriftToPig : don't wrap STRUCT in another tuple for schema. (rangadi)

ISSUE 43. NPE in BlockWriter. (rangadi)

ISSUE 42. Couple of useful tweaks to DeprecatedLzoInputFormats. (avibryant)

ISSUE 40. Fix ThriftUtils use of classLoader. (rangadi)

NO TICKET. Use generic protoloader instead of requiring pre-generated ProtobufLoaders. (dvryaboy)

### Version 1.2.4 ###

ISSUE 38. Thrift-To-Pig reimplementation. (rangadi)

ISSUE 37. upgrade common-codec from 1.3 to 1.4 to explictly eliminate misuse. (angushe)

ISSUE 36. Use Pig class loader in Lzo Pig loader/storage (rangadi)

### Version 1.2.3 ###

ISSUE 35.  Fixes to B64Line Pig Loader.

ISSUE 34.  Typos in "Thrift"

### Version 1.2.2 ###

NO TICKET. Protobuf Pig storage : do not reuse builder object.

### Version 1.2.1 ###

ISSUE 28. Equals is now consistent with CompareTo for ProtobufWritables (rangadi)

ISSUE 30.  Handle Boolean and Bytes in ProtobufStorage, and add generators. (rangadi)

ISSUE 30.  Handle Thrift binary and double types in ThriftToPig schema (rangadi)

ISSUE 30.  Deprecated Json Input format and Thrift byte to Tuple UDF (rangadi)

NO TICKET. Add JsonLoader (without LZO) and JsonStringToMap UDF (dvryaboy)

ISSUE 28. Make ProtobufWritable have stable hashCode() implementation (dvryaboy)


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

namespace WebTester
{
    static class DBOps
    {
        static string log = Utilities.CreateLogFile("Application", false);
        static string errorlog = Utilities.CreateLogFile("Error", false);

        //static SqlConnection conn = new SqlConnection("data source=vfmstest002;" + "Integrated Security=SSPI;" + "Database=WebTesterDB;");
        static SqlConnection conn = new SqlConnection();
        static SqlCommand cmd = new SqlCommand();

        //Set database query
        public static string Query {get; set;}

        //return SQL Reader with values
        public static DataTable ReadTable()
        {
            OpenConnection();

            DataTable dt = new DataTable();

            try
            {
                //Utilities.Log(log, "reading table from db with '" + Query+"'");
                dt.Load(cmd.ExecuteReader());
            }
            catch (Exception e)
            {
                Utilities.Log(errorlog, e.Message + Environment.NewLine + Query);
            }
            finally
            {
                CloseConnection();
            }
            return dt;
        }

        //write value to DB
        public static void WriteToDB()
        {
            OpenConnection();

            try
            {
                //Utilities.Log(log, "writing to db with '" + Query + "'");
                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                Utilities.Log(errorlog, e.Message + Environment.NewLine + Query);
            }
            finally
            {
                CloseConnection();
            }
        }

        //return single value from DB
        public static object ReturnSingleValue()
        {
            OpenConnection();

            object result;
            try
            {
                //Utilities.Log(log, "reading from db with '" + Query + "'");
                result = cmd.ExecuteScalar();
            }
            catch (Exception e)
            {
                Utilities.Log(errorlog, e.Message + Environment.NewLine + Query);
                result = null;
            }
            finally
            {
                CloseConnection();
            }
            return result;
        }

        //Open connection to database
        private static void OpenConnection()
        {
            conn.ConnectionString = ConfigurationManager.ConnectionStrings["WebTester.Properties.Settings.WebTesterDBConnectionString"].ConnectionString;

            cmd.CommandText = Query;
            cmd.Connection = conn;
            try
            {
                conn.Open();
            }
            catch (Exception e)
            {
                Utilities.Log(errorlog, e.Message);
            }
        }

        //Close database connection
        private static void CloseConnection()
        {
            conn.Close();
        }
    }
}


text:
// Copyright 2012 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// This file defines operands and associated operations.

package types

import (
	"bytes"
	"go/ast"
	"go/constant"
	"go/token"
)

// An operandMode specifies the (addressing) mode of an operand.
type operandMode byte

const (
	invalid   operandMode = iota // operand is invalid
	novalue                      // operand represents no value (result of a function call w/o result)
	builtin                      // operand is a built-in function
	typexpr                      // operand is a type
	constant_                    // operand is a constant; the operand's typ is a Basic type
	variable                     // operand is an addressable variable
	mapindex                     // operand is a map index expression (acts like a variable on lhs, commaok on rhs of an assignment)
	value                        // operand is a computed value
	commaok                      // like value, but operand may be used in a comma,ok expression
	ply                          // operand is a ply function
)

var operandModeString = [...]string{
	invalid:   "invalid operand",
	novalue:   "no value",
	builtin:   "built-in",
	typexpr:   "type",
	constant_: "constant",
	variable:  "variable",
	mapindex:  "map index expression",
	value:     "value",
	commaok:   "comma, ok expression",
	ply:       "ply function",
}

// An operand represents an intermediate value during type checking.
// Operands have an (addressing) mode, the expression evaluating to
// the operand, the operand's type, a value for constants, and an id
// for built-in functions.
// The zero value of operand is a ready to use invalid operand.
//
type operand struct {
	mode operandMode
	expr ast.Expr
	typ  Type
	val  constant.Value
	id   builtinId
}

// pos returns the position of the expression corresponding to x.
// If x is invalid the position is token.NoPos.
//
func (x *operand) pos() token.Pos {
	// x.expr may not be set if x is invalid
	if x.expr == nil {
		return token.NoPos
	}
	return x.expr.Pos()
}

// Operand string formats
// (not all "untyped" cases can appear due to the type system,
// but they fall out naturally here)
//
// mode       format
//
// invalid    <expr> (               <mode>                    )
// novalue    <expr> (               <mode>                    )
// builtin    <expr> (               <mode>                    )
// typexpr    <expr> (               <mode>                    )
//
// constant   <expr> (<untyped kind> <mode>                    )
// constant   <expr> (               <mode>       of type <typ>)
// constant   <expr> (<untyped kind> <mode> <val>              )
// constant   <expr> (               <mode> <val> of type <typ>)
//
// variable   <expr> (<untyped kind> <mode>                    )
// variable   <expr> (               <mode>       of type <typ>)
//
// mapindex   <expr> (<untyped kind> <mode>                    )
// mapindex   <expr> (               <mode>       of type <typ>)
//
// value      <expr> (<untyped kind> <mode>                    )
// value      <expr> (               <mode>       of type <typ>)
//
// commaok    <expr> (<untyped kind> <mode>                    )
// commaok    <expr> (               <mode>       of type <typ>)
//
func operandString(x *operand, qf Qualifier) string {
	var buf bytes.Buffer

	var expr string
	if x.expr != nil {
		expr = ExprString(x.expr)
	} else {
		switch x.mode {
		case builtin:
			expr = predeclaredFuncs[x.id].name
		case typexpr:
			expr = TypeString(x.typ, qf)
		case constant_:
			expr = x.val.String()
		}
	}

	// <expr> (
	if expr != "" {
		buf.WriteString(expr)
		buf.WriteString(" (")
	}

	// <untyped kind>
	hasType := false
	switch x.mode {
	case invalid, novalue, builtin, typexpr:
		// no type
	default:
		// has type
		if isUntyped(x.typ) {
			buf.WriteString(x.typ.(*Basic).name)
			buf.WriteByte(' ')
			break
		}
		hasType = true
	}

	// <mode>
	buf.WriteString(operandModeString[x.mode])

	// <val>
	if x.mode == constant_ {
		if s := x.val.String(); s != expr {
			buf.WriteByte(' ')
			buf.WriteString(s)
		}
	}

	// <typ>
	if hasType {
		if x.typ != Typ[Invalid] {
			buf.WriteString(" of type ")
			WriteType(&buf, x.typ, qf)
		} else {
			buf.WriteString(" with invalid type")
		}
	}

	// )
	if expr != "" {
		buf.WriteByte(')')
	}

	return buf.String()
}

func (x *operand) String() string {
	return operandString(x, nil)
}

// setConst sets x to the untyped constant for literal lit.
func (x *operand) setConst(tok token.Token, lit string) {
	var kind BasicKind
	switch tok {
	case token.INT:
		kind = UntypedInt
	case token.FLOAT:
		kind = UntypedFloat
	case token.IMAG:
		kind = UntypedComplex
	case token.CHAR:
		kind = UntypedRune
	case token.STRING:
		kind = UntypedString
	default:
		unreachable()
	}

	x.mode = constant_
	x.typ = Typ[kind]
	x.val = constant.MakeFromLiteral(lit, tok, 0)
}

// isNil reports whether x is the nil value.
func (x *operand) isNil() bool {
	return x.mode == value && x.typ == Typ[UntypedNil]
}

// TODO(gri) The functions operand.assignableTo, checker.convertUntyped,
//           checker.representable, and checker.assignment are
//           overlapping in functionality. Need to simplify and clean up.

// assignableTo reports whether x is assignable to a variable of type T.
// If the result is false and a non-nil reason is provided, it may be set
// to a more detailed explanation of the failure (result != "").
func (x *operand) assignableTo(conf *Config, T Type, reason *string) bool {
	if x.mode == invalid || T == Typ[Invalid] {
		return true // avoid spurious errors
	}

	V := x.typ

	// x's type is identical to T
	if Identical(V, T) {
		return true
	}

	Vu := V.Underlying()
	Tu := T.Underlying()

	// x is an untyped value representable by a value of type T
	// TODO(gri) This is borrowing from checker.convertUntyped and
	//           checker.representable. Need to clean up.
	if isUntyped(Vu) {
		switch t := Tu.(type) {
		case *Basic:
			if x.isNil() && t.kind == UnsafePointer {
				return true
			}
			if x.mode == constant_ {
				return representableConst(x.val, conf, t, nil)
			}
			// The result of a comparison is an untyped boolean,
			// but may not be a constant.
			if Vb, _ := Vu.(*Basic); Vb != nil {
				return Vb.kind == UntypedBool && isBoolean(Tu)
			}
		case *Interface:
			return x.isNil() || t.Empty()
		case *Pointer, *Signature, *Slice, *Map, *Chan:
			return x.isNil()
		}
	}
	// Vu is typed

	// x's type V and T have identical underlying types
	// and at least one of V or T is not a named type
	if Identical(Vu, Tu) && (!isNamed(V) || !isNamed(T)) {
		return true
	}

	// T is an interface type and x implements T
	if Ti, ok := Tu.(*Interface); ok {
		if m, wrongType := MissingMethod(x.typ, Ti, true); m != nil /* Implements(x.typ, Ti) */ {
			if reason != nil {
				if wrongType {
					*reason = "wrong type for method " + m.Name()
				} else {
					*reason = "missing method " + m.Name()
				}
			}
			return false
		}
		return true
	}

	// x is a bidirectional channel value, T is a channel
	// type, x's type V and T have identical element types,
	// and at least one of V or T is not a named type
	if Vc, ok := Vu.(*Chan); ok && Vc.dir == SendRecv {
		if Tc, ok := Tu.(*Chan); ok && Identical(Vc.elem, Tc.elem) {
			return !isNamed(V) || !isNamed(T)
		}
	}

	return false
}


text:
<?xml version="1.0" encoding="utf-8"?>
<doc>
  <assembly>
    <name>Microsoft.AspNet.Identity.Core</name>
  </assembly>
  <members>
    <member name="T:Microsoft.AspNet.Identity.IdentityConfig">
      Static class to hold configuration settings for the Identity system
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityConfig.Settings">
      Settings class which holds the various options for the system
    </member>
    <member name="T:Microsoft.AspNet.Identity.IdentityManager">
      Helper class which contains methods that encapsulate common unit of work functionality on an IdentityStoreContext, i.e. ChangePasswordAsync or CreateLocalUserAsync and takes care of calling SaveChangesAsync
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityManager.#ctor(Microsoft.AspNet.Identity.IdentitySettings,Microsoft.AspNet.Identity.IIdentityStore)">
      Constructor
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityManager.#ctor(Microsoft.AspNet.Identity.IIdentityStore)">
      Constructor that uses the default settings
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityManager.Dispose">
      Dispose the store context
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityManager.Dispose(System.Boolean)">
      When disposing, actually dipose the store context
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityManager.Logins">
      User Login related APIs
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityManager.Passwords">
      Password API
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityManager.Roles">
      Roles API
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityManager.SaveChangesAsync(System.Threading.CancellationToken)">
      SaveChanges to the various identity stores
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityManager.Settings">
      Settings object used for configuration, if null, uses the global settings (IdentityConfig.Settings)
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityManager.Store">
      IdentityStoreContext which the helper methods work against
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityManager.Tokens">
      Token API
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityManager.Users">
      APIs around User management
    </member>
    <member name="T:Microsoft.AspNet.Identity.IdentityOptions">
      Settings used to configure an IdentityManager
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityOptions.#ctor">
      Constructor
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityOptions.AllowOnlyAlphaNumericUserNames">
      Only allow String.IsLetterOrDigits in UserNames
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityOptions.LocalLoginProvider">
      Identifier for user logins created by the local application, i.e. database
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityOptions.MinRequiredPasswordLength">
      Minimum required length for a text
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityOptions.PasswordValidator">
      Validators passwords are of sufficient strength
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityOptions.UserNameValidator">
      Validates usernames
    </member>
    <member name="T:Microsoft.AspNet.Identity.IdentityResult">
      Represents the result of an identity operation
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityResult.#ctor(System.Boolean)">
      Constructor taking a success flag
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityResult.#ctor(System.String[])">
      Failure constructor that takes error messages
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityResult.Errors">
      List of errors
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityResult.Failed(System.String[])">
      Failed helper method
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityResult.Succeeded">
      Success helper method
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityResult.Success">
      True if the operation was successful
    </member>
    <member name="T:Microsoft.AspNet.Identity.IdentityRoleManager">
      Roles API
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityRoleManager.#ctor(Microsoft.AspNet.Identity.IIdentityStore)">
      Constructor
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityRoleManager.AddUserToRoleAsync(System.String,System.String,System.Threading.CancellationToken)">
      Add a user to a role
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityRoleManager.CreateRoleAsync(Microsoft.AspNet.Identity.IRole,System.Threading.CancellationToken)">
      Create a role
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityRoleManager.DeleteRoleAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
      Delete a role, returns true if successful
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityRoleManager.FindRoleAsync(System.String,System.Threading.CancellationToken)">
      Find a role by id
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityRoleManager.FindRoleByNameAsync(System.String,System.Threading.CancellationToken)">
      Find a role by name
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityRoleManager.GetRolesForUserAsync(System.String,System.Threading.CancellationToken)">
      Returns the roles for the user
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityRoleManager.GetUsersInRoleAsync(System.String,System.Threading.CancellationToken)">
      Returns the users in the role
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityRoleManager.IsUserInRoleAsync(System.String,System.String,System.Threading.CancellationToken)">
      Returns true if the user is in the specified role
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityRoleManager.RemoveUserFromRoleAsync(System.String,System.String,System.Threading.CancellationToken)">
      Returns true if the user was removed from the role
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityRoleManager.RoleExistsAsync(System.String,System.Threading.CancellationToken)">
      Returns true if the role exists
    </member>
    <member name="P:Microsoft.AspNet.Identity.IdentityRoleManager.Store">
      Store to operate on
    </member>
    <member name="T:Microsoft.AspNet.Identity.IdentitySettings">
      Class that holds various settings for the identity system
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentitySettings.#ctor"></member>
    <member name="M:Microsoft.AspNet.Identity.IdentitySettings.Add(System.String,System.Object)">
      Add a setting object with the specified key
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentitySettings.Get(System.String)">
      Return a settings object, or create a new one if it does not exist
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentitySettings.GetIdentityOptions">
      Return the IdentityManagerOptions
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentitySettings.GetOrCreate``1">
      Return a settings object, or create a new one if it does not exist, will throw if the wrong type is present
      <typeparam name="T"></typeparam>
    </member>
    <member name="T:Microsoft.AspNet.Identity.IdentityStoreContextExtensions">
      Extension methods that use the default CancellationToken.None
    </member>
    <member name="M:Microsoft.AspNet.Identity.IdentityStoreContextExtensions.SaveChangesAsync(Microsoft.AspNet.Identity.IIdentityStore)">
      Saves any changes to the stores (Note: stores are not required to support this pattern)
    </member>
    <member name="T:Microsoft.AspNet.Identity.IIdentityManagerFactory">
      Factory used to construct IdentityManagers
    </member>
    <member name="M:Microsoft.AspNet.Identity.IIdentityManagerFactory.CreateStoreManager">
      Factory method used to construct an IdentityManager with the specified settings and context
    </member>
    <member name="T:Microsoft.AspNet.Identity.IIdentityStore">
      Used to coordinate operations involving the user, login, roles, and claims stores SaveChangesAsync will persist the changes (if the stores support this concept)
    </member>
    <member name="P:Microsoft.AspNet.Identity.IIdentityStore.Logins">
      Maps local userIds to login providers, i.e. a local username/password, Google, Facebook, Twitter, Microsoft
    </member>
    <member name="P:Microsoft.AspNet.Identity.IIdentityStore.Roles">
      Stores role information
    </member>
    <member name="M:Microsoft.AspNet.Identity.IIdentityStore.SaveChangesAsync(System.Threading.CancellationToken)">
      Saves any changes to the stores (Note: stores are not required to support this pattern)
    </member>
    <member name="P:Microsoft.AspNet.Identity.IIdentityStore.Secrets">
      Store used to store user name/hashed passwords
    </member>
    <member name="P:Microsoft.AspNet.Identity.IIdentityStore.Tokens">
      Stores arbitrary tokens (i.e. access tokens, refresh tokens, confirmation tokens)
    </member>
    <member name="P:Microsoft.AspNet.Identity.IIdentityStore.UserClaims">
      Stores claims for users
    </member>
    <member name="P:Microsoft.AspNet.Identity.IIdentityStore.UserManagement">
      Store responsible for managing users (confirmation, lockout)
    </member>
    <member name="P:Microsoft.AspNet.Identity.IIdentityStore.Users">
      Store responsible for creating/deleting/retrieving users by userId
    </member>
    <member name="T:Microsoft.AspNet.Identity.ILoginManager">
      Login related APIs: managing local or external logins
    </member>
    <member name="M:Microsoft.AspNet.Identity.ILoginManager.AddLocalLoginAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
      Create the specified user name and password local login
    </member>
    <member name="M:Microsoft.AspNet.Identity.ILoginManager.AddLoginAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
      Associate a login with a user (external or local)
    </member>
    <member name="M:Microsoft.AspNet.Identity.ILoginManager.GetLoginsAsync(System.String,System.Threading.CancellationToken)">
      Returns a list of logins for a user
    </member>
    <member name="M:Microsoft.AspNet.Identity.ILoginManager.GetUserIdForLocalLoginAsync(System.String,System.Threading.CancellationToken)">
      Returns the local user id for a user login that matches
    </member>
    <member name="M:Microsoft.AspNet.Identity.ILoginManager.GetUserIdForLoginAsync(System.String,System.String,System.Threading.CancellationToken)">
      Returns the userId if there is a local login with the specified userName, null otherwise
    </member>
    <member name="M:Microsoft.AspNet.Identity.ILoginManager.HasLocalLoginAsync(System.String,System.Threading.CancellationToken)">
      Returns true if the userId has a local login
    </member>
    <member name="M:Microsoft.AspNet.Identity.ILoginManager.RemoveLoginAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
      Remove a user login
    </member>
    <member name="T:Microsoft.AspNet.Identity.IPasswordManager">
      Password related APIs: changing user name passwords, resetting passwords
    </member>
    <member name="M:Microsoft.AspNet.Identity.IPasswordManager.ChangePasswordAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
      Change a user's password
    </member>
    <member name="M:Microsoft.AspNet.Identity.IPasswordManager.CheckPasswordAsync(System.String,System.String,System.Threading.CancellationToken)">
      Validates a local user name/password combination
    </member>
    <member name="M:Microsoft.AspNet.Identity.IPasswordManager.GenerateResetPasswordTokenAsync(System.String,System.String,System.DateTime,System.Threading.CancellationToken)">
      Create a token for the specified user that can be used to reset his password
    </member>
    <member name="M:Microsoft.AspNet.Identity.IPasswordManager.ResetPasswordAsync(System.String,System.String,System.Threading.CancellationToken)">
      Reset a user's password with the reset password token
    </member>
    <member name="T:Microsoft.AspNet.Identity.IRole">
       Minimal set of data needed to persist role data
    </member>
    <member name="P:Microsoft.AspNet.Identity.IRole.Id">
       Id of the role
    </member>
    <member name="P:Microsoft.AspNet.Identity.IRole.Name"></member>
    <member name="T:Microsoft.AspNet.Identity.IRoleManager">
      Role related APIs
    </member>
    <member name="M:Microsoft.AspNet.Identity.IRoleManager.AddUserToRoleAsync(System.String,System.String,System.Threading.CancellationToken)">
      Add a user to a role
    </member>
    <member name="M:Microsoft.AspNet.Identity.IRoleManager.CreateRoleAsync(Microsoft.AspNet.Identity.IRole,System.Threading.CancellationToken)">
      Create a role
    </member>
    <member name="M:Microsoft.AspNet.Identity.IRoleManager.DeleteRoleAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
      Delete a role, returns true if successful
    </member>
    <member name="M:Microsoft.AspNet.Identity.IRoleManager.FindRoleAsync(System.String,System.Threading.CancellationToken)">
      Find a role by id
    </member>
    <member name="M:Microsoft.AspNet.Identity.IRoleManager.FindRoleByNameAsync(System.String,System.Threading.CancellationToken)">
      Find a role by name
    </member>
    <member name="M:Microsoft.AspNet.Identity.IRoleManager.GetRolesForUserAsync(System.String,System.Threading.CancellationToken)">
      Returns the roles for the user
    </member>
    <member name="M:Microsoft.AspNet.Identity.IRoleManager.GetUsersInRoleAsync(System.String,System.Threading.CancellationToken)">
      Returns the users in the role
    </member>
    <member name="M:Microsoft.AspNet.Identity.IRoleManager.IsUserInRoleAsync(System.String,System.String,System.Threading.CancellationToken)">
      Returns true if the user is in the specified role
    </member>
    <member name="M:Microsoft.AspNet.Identity.IRoleManager.RemoveUserFromRoleAsync(System.String,System.String,System.Threading.CancellationToken)">
      Returns true if the user was removed from the role
    </member>
    <member name="M:Microsoft.AspNet.Identity.IRoleManager.RoleExistsAsync(System.String,System.Threading.CancellationToken)">
      Returns true if the role exists
    </member>
    <member name="T:Microsoft.AspNet.Identity.IRoleStore">
       Interface for managing the creation and membership of roles
    </member>
    <member name="M:Microsoft.AspNet.Identity.IRoleStore.AddUserToRoleAsync(System.String,System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IRoleStore.CreateRoleAsync(Microsoft.AspNet.Identity.IRole,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IRoleStore.DeleteRoleAsync(System.String,System.Boolean,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IRoleStore.FindRoleAsync(System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IRoleStore.FindRoleByNameAsync(System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IRoleStore.GetRolesForUserAsync(System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IRoleStore.GetUsersInRoleAsync(System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IRoleStore.IsUserInRoleAsync(System.String,System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IRoleStore.RemoveUserFromRoleAsync(System.String,System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IRoleStore.RoleExistsAsync(System.String,System.Threading.CancellationToken)"></member>
    <member name="T:Microsoft.AspNet.Identity.IStringValidator">
      Interface used to specify custom username/text validation
    </member>
    <member name="M:Microsoft.AspNet.Identity.IStringValidator.Validate(System.String)">
      Validates a string.
      <returns>A result with <see cref="P:Microsoft.AspNet.Identity.IdentityResult.Success" /> set to <see cref="true" /> when validation succeeds; otherwise, a result with <see cref="P:Microsoft.AspNet.Identity.IdentityResult.Success" /> set to <see cref="false" />.</returns>
    </member>
    <member name="T:Microsoft.AspNet.Identity.IToken">
      Interface for a token
    </member>
    <member name="P:Microsoft.AspNet.Identity.IToken.Id">
      Unique identifier for the token
    </member>
    <member name="P:Microsoft.AspNet.Identity.IToken.ValidUntilUtc">
      Token is valid until this date
    </member>
    <member name="P:Microsoft.AspNet.Identity.IToken.Value">
      Value of the token
    </member>
    <member name="T:Microsoft.AspNet.Identity.ITokenManager">
      Token related APIs
    </member>
    <member name="M:Microsoft.AspNet.Identity.ITokenManager.AddAsync(Microsoft.AspNet.Identity.IToken,System.Threading.CancellationToken)">
      Add a new token to the store
    </member>
    <member name="M:Microsoft.AspNet.Identity.ITokenManager.FindAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
      Find a token in the TokenStore
    </member>
    <member name="M:Microsoft.AspNet.Identity.ITokenManager.RemoveAsync(System.String,System.Threading.CancellationToken)">
      Remove a token from the TokenStore
    </member>
    <member name="T:Microsoft.AspNet.Identity.ITokenStore">
      Store that contains tokens which can be used for different purposes (confirmation, access, refresh) and with expiration
    </member>
    <member name="M:Microsoft.AspNet.Identity.ITokenStore.AddAsync(Microsoft.AspNet.Identity.IToken,System.Threading.CancellationToken)">
      Add a token to the store
    </member>
    <member name="M:Microsoft.AspNet.Identity.ITokenStore.CreateNewInstance">
      Creates the appropriate IToken instance
    </member>
    <member name="M:Microsoft.AspNet.Identity.ITokenStore.FindAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
      Find a token
    </member>
    <member name="M:Microsoft.AspNet.Identity.ITokenStore.RemoveAsync(System.String,System.Threading.CancellationToken)">
      Remove a token from the store
    </member>
    <member name="M:Microsoft.AspNet.Identity.ITokenStore.UpdateAsync(Microsoft.AspNet.Identity.IToken,System.Threading.CancellationToken)">
      Update a token
    </member>
    <member name="T:Microsoft.AspNet.Identity.IUser">
       Minimal interface for a user with a string user key
    </member>
    <member name="P:Microsoft.AspNet.Identity.IUser.Id">
       Unique key for the user
      <returns>The unique key for the user</returns>
    </member>
    <member name="P:Microsoft.AspNet.Identity.IUser.UserName"></member>
    <member name="T:Microsoft.AspNet.Identity.IUserClaim">
      Represents a claim for a user
    </member>
    <member name="P:Microsoft.AspNet.Identity.IUserClaim.ClaimType">
      ClaimType for the user claim
    </member>
    <member name="P:Microsoft.AspNet.Identity.IUserClaim.ClaimValue">
      value for the user's claim
    </member>
    <member name="P:Microsoft.AspNet.Identity.IUserClaim.UserId">
      UserId for the user with the claim
    </member>
    <member name="T:Microsoft.AspNet.Identity.IUserClaimStore">
      Stores claims for users.
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserClaimStore.AddAsync(Microsoft.AspNet.Identity.IUserClaim,System.Threading.CancellationToken)">
      Store a claim for the user with the specified type/value.
      <returns>The task that performs the asynchronous operation.</returns>
      <param name="userClaim">The user claim.</param>
      <param name="cancellationToken">The cancellation token.</param>
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserClaimStore.GetUserClaimsAsync(System.String,System.Threading.CancellationToken)">
      Returns the claims for the user with the issuer set.
      <returns>The task that performs the asynchronous operation.</returns>
      <param name="userId">The user ID.</param>
      <param name="cancellationToken">The cancellation token.</param>
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserClaimStore.RemoveAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
      RemoveAsync a user claim.
      <returns>The task that performs the asynchronous operation.</returns>
      <param name="userId">The user ID.</param>
      <param name="claimType">The claim type.</param>
      <param name="claimValue">The claim value.</param>
      <param name="cancellationToken">The cancellation token.</param>
    </member>
    <member name="T:Microsoft.AspNet.Identity.IUserLogin">
       Represents a linked login for a user (i.e. a local username/password or a Facebook/Google account
    </member>
    <member name="P:Microsoft.AspNet.Identity.IUserLogin.LoginProvider">
       Provider for the linked login, i.e. Local, Facebook, Google, etc.
    </member>
    <member name="P:Microsoft.AspNet.Identity.IUserLogin.ProviderKey">
       Key for the linked login at the provider
    </member>
    <member name="P:Microsoft.AspNet.Identity.IUserLogin.UserId">
       UserId for the user who owns this account
    </member>
    <member name="T:Microsoft.AspNet.Identity.IUserLoginStore">
       Maps local userIds to account providers, i.e. a local username/password, Google, Facebook, Twitter, Microsoft
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserLoginStore.AddAsync(Microsoft.AspNet.Identity.IUserLogin,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IUserLoginStore.CreateNewInstance(System.String,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.IUserLoginStore.GetLoginsAsync(System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IUserLoginStore.GetProviderKeyAsync(System.String,System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IUserLoginStore.GetUserIdAsync(System.String,System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IUserLoginStore.RemoveAsync(System.String,System.String,System.String,System.Threading.CancellationToken)"></member>
    <member name="T:Microsoft.AspNet.Identity.IUserManagement">
      Minimal interface for holding user management info (i.e. Confirmed, LastSignInTime)
    </member>
    <member name="P:Microsoft.AspNet.Identity.IUserManagement.DisableSignIn">
      Set if user is not allowed to sign in
    </member>
    <member name="P:Microsoft.AspNet.Identity.IUserManagement.LastSignInTimeUtc">
      Last time the user was signed in
    </member>
    <member name="P:Microsoft.AspNet.Identity.IUserManagement.UserId">
      Unique key for the user
    </member>
    <member name="T:Microsoft.AspNet.Identity.IUserManagementStore">
      Responsible for creating/deleting/retrieving user management info
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserManagementStore.CreateAsync(Microsoft.AspNet.Identity.IUserManagement,System.Threading.CancellationToken)">
      Creates the specified IUserManagement object
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserManagementStore.CreateNewInstance(System.String)">
      Creates the appropriate IUserManagement instance for the user
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserManagementStore.DeleteAsync(System.String,System.Threading.CancellationToken)">
      Deletes the specified IUserManagement for the userId
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserManagementStore.FindAsync(System.String,System.Threading.CancellationToken)">
      Finds an IUserManagement by its key
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserManagementStore.UpdateAsync(Microsoft.AspNet.Identity.IUserManagement,System.Threading.CancellationToken)">
      Update the specified IUserManagement object
    </member>
    <member name="T:Microsoft.AspNet.Identity.IUserManager">
      User related APIs: creating users, adding claims
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserManager.AddClaimAsync(Microsoft.AspNet.Identity.IUserClaim,System.Threading.CancellationToken)">
      Add a new user claim to the store
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserManager.CreateExternalUserAsync(Microsoft.AspNet.Identity.IUser,System.String,System.String,System.Threading.CancellationToken)">
      Create a user with an associated external login
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserManager.CreateLocalUserAsync(Microsoft.AspNet.Identity.IUser,System.String,System.Threading.CancellationToken)">
      Create a user with a linked local login with the specified password
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserManager.CreateUserAsync(Microsoft.AspNet.Identity.IUser,System.Threading.CancellationToken)">
      Create a user and its associated user management object
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserManager.GetUserClaimsAsync(System.String,System.Threading.CancellationToken)">
      Get a users claims
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserManager.RemoveClaimAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
      Remove a user claim
    </member>
    <member name="T:Microsoft.AspNet.Identity.IUserSecret">
       Minimal set of data needed to persist login data
    </member>
    <member name="P:Microsoft.AspNet.Identity.IUserSecret.Secret">
       Opaque string to validate the user, i.e. password
    </member>
    <member name="P:Microsoft.AspNet.Identity.IUserSecret.UserName">
       Username
    </member>
    <member name="T:Microsoft.AspNet.Identity.IUserSecretStore">
       Stores login information (username/secret)
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserSecretStore.CreateAsync(Microsoft.AspNet.Identity.IUserSecret,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IUserSecretStore.CreateNewInstance(System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.IUserSecretStore.DeleteAsync(System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IUserSecretStore.FindAsync(System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IUserSecretStore.UpdateAsync(System.String,System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IUserSecretStore.ValidateAsync(System.String,System.String,System.Threading.CancellationToken)"></member>
    <member name="T:Microsoft.AspNet.Identity.IUserStore">
       Responsible for creating/deleting/retrieving users by userId
    </member>
    <member name="M:Microsoft.AspNet.Identity.IUserStore.CreateAsync(Microsoft.AspNet.Identity.IUser,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IUserStore.DeleteAsync(System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IUserStore.FindAsync(System.String,System.Threading.CancellationToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.IUserStore.FindByNameAsync(System.String,System.Threading.CancellationToken)"></member>
    <member name="T:Microsoft.AspNet.Identity.LoginManager"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManager.#ctor(Microsoft.AspNet.Identity.IdentityManager)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManager.AddLocalLoginAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
      Create the specified user name and password local login
    </member>
    <member name="M:Microsoft.AspNet.Identity.LoginManager.AddLoginAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
      Associate a login with a user (external or local)
    </member>
    <member name="M:Microsoft.AspNet.Identity.LoginManager.GetLoginsAsync(System.String,System.Threading.CancellationToken)">
      Returns a list of logins for a user
    </member>
    <member name="M:Microsoft.AspNet.Identity.LoginManager.GetUserIdForLocalLoginAsync(System.String,System.Threading.CancellationToken)">
      Returns the local user id for a user login that matches
    </member>
    <member name="M:Microsoft.AspNet.Identity.LoginManager.GetUserIdForLoginAsync(System.String,System.String,System.Threading.CancellationToken)">
      Returns the userId if there is a local login with the specified userName, null otherwise
    </member>
    <member name="M:Microsoft.AspNet.Identity.LoginManager.HasLocalLoginAsync(System.String,System.Threading.CancellationToken)">
      Returns true if the userId has a local login
    </member>
    <member name="M:Microsoft.AspNet.Identity.LoginManager.RemoveLoginAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
      Remove a user login
    </member>
    <member name="P:Microsoft.AspNet.Identity.LoginManager.Store"></member>
    <member name="T:Microsoft.AspNet.Identity.LoginManagerExtensions">
      Extension methods for ILoginManager
    </member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.AddLocalLogin(Microsoft.AspNet.Identity.ILoginManager,System.String,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.AddLocalLoginAsync(Microsoft.AspNet.Identity.ILoginManager,System.String,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.AddLogin(Microsoft.AspNet.Identity.ILoginManager,System.String,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.AddLoginAsync(Microsoft.AspNet.Identity.ILoginManager,System.String,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.GetLogins(Microsoft.AspNet.Identity.ILoginManager,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.GetLoginsAsync(Microsoft.AspNet.Identity.ILoginManager,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.GetUserIdForLocalLogin(Microsoft.AspNet.Identity.ILoginManager,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.GetUserIdForLocalLoginAsync(Microsoft.AspNet.Identity.ILoginManager,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.GetUserIdForLogin(Microsoft.AspNet.Identity.ILoginManager,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.GetUserIdForLoginAsync(Microsoft.AspNet.Identity.ILoginManager,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.HasLocalLogin(Microsoft.AspNet.Identity.ILoginManager,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.HasLocalLoginAsync(Microsoft.AspNet.Identity.ILoginManager,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.RemoveLogin(Microsoft.AspNet.Identity.ILoginManager,System.String,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.LoginManagerExtensions.RemoveLoginAsync(Microsoft.AspNet.Identity.ILoginManager,System.String,System.String,System.String)"></member>
    <member name="T:Microsoft.AspNet.Identity.PasswordManager">
      Password APIs
    </member>
    <member name="M:Microsoft.AspNet.Identity.PasswordManager.#ctor(Microsoft.AspNet.Identity.IdentityManager)">
      Constructor
    </member>
    <member name="M:Microsoft.AspNet.Identity.PasswordManager.ChangePasswordAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
      Change a user's password
    </member>
    <member name="M:Microsoft.AspNet.Identity.PasswordManager.CheckPasswordAsync(System.String,System.String,System.Threading.CancellationToken)">
      Validates a local user name/password combination
    </member>
    <member name="M:Microsoft.AspNet.Identity.PasswordManager.GenerateResetPasswordTokenAsync(System.String,System.String,System.DateTime,System.Threading.CancellationToken)">
      Create a token for the specified user that can be used to reset his password
    </member>
    <member name="P:Microsoft.AspNet.Identity.PasswordManager.Manager"></member>
    <member name="M:Microsoft.AspNet.Identity.PasswordManager.ResetPasswordAsync(System.String,System.String,System.Threading.CancellationToken)">
      Reset a user's password with the reset password token
    </member>
    <member name="T:Microsoft.AspNet.Identity.PasswordManagerExtensions">
      Extension methods for IPasswordManager
    </member>
    <member name="M:Microsoft.AspNet.Identity.PasswordManagerExtensions.ChangePassword(Microsoft.AspNet.Identity.IPasswordManager,System.String,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.PasswordManagerExtensions.ChangePasswordAsync(Microsoft.AspNet.Identity.IPasswordManager,System.String,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.PasswordManagerExtensions.CheckPassword(Microsoft.AspNet.Identity.IPasswordManager,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.PasswordManagerExtensions.CheckPasswordAsync(Microsoft.AspNet.Identity.IPasswordManager,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.PasswordManagerExtensions.GenerateResetPasswordToken(Microsoft.AspNet.Identity.IPasswordManager,System.String,System.String,System.DateTime)"></member>
    <member name="M:Microsoft.AspNet.Identity.PasswordManagerExtensions.GenerateResetPasswordTokenAsync(Microsoft.AspNet.Identity.IPasswordManager,System.String,System.String,System.DateTime)"></member>
    <member name="M:Microsoft.AspNet.Identity.PasswordManagerExtensions.ResetPassword(Microsoft.AspNet.Identity.IPasswordManager,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.PasswordManagerExtensions.ResetPasswordAsync(Microsoft.AspNet.Identity.IPasswordManager,System.String,System.String)"></member>
    <member name="T:Microsoft.AspNet.Identity.RoleManagerExtensions">
      Extension methods for IRoleManager
    </member>
    <member name="M:Microsoft.AspNet.Identity.RoleManagerExtensions.AddUserToRoleAsync(Microsoft.AspNet.Identity.IRoleManager,System.String,System.String)">
      Add a user to a role
    </member>
    <member name="M:Microsoft.AspNet.Identity.RoleManagerExtensions.CreateRoleAsync(Microsoft.AspNet.Identity.IRoleManager,Microsoft.AspNet.Identity.IRole)">
      Create a role
    </member>
    <member name="M:Microsoft.AspNet.Identity.RoleManagerExtensions.DeleteRoleAsync(Microsoft.AspNet.Identity.IRoleManager,System.String,System.Boolean)">
      Delete a role, returns true if successful
    </member>
    <member name="M:Microsoft.AspNet.Identity.RoleManagerExtensions.FindRoleAsync(Microsoft.AspNet.Identity.IRoleManager,System.String)">
      Find a role by id
    </member>
    <member name="M:Microsoft.AspNet.Identity.RoleManagerExtensions.FindRoleByNameAsync(Microsoft.AspNet.Identity.IRoleManager,System.String)">
      Find a role by name
    </member>
    <member name="M:Microsoft.AspNet.Identity.RoleManagerExtensions.GetRolesForUserAsync(Microsoft.AspNet.Identity.IRoleManager,System.String)">
      Returns the roles for the user
    </member>
    <member name="M:Microsoft.AspNet.Identity.RoleManagerExtensions.GetUsersInRoleAsync(Microsoft.AspNet.Identity.IRoleManager,System.String)">
      Returns the users in the role
    </member>
    <member name="M:Microsoft.AspNet.Identity.RoleManagerExtensions.IsUserInRoleAsync(Microsoft.AspNet.Identity.IRoleManager,System.String,System.String)">
      Returns true if the user is in the specified role
    </member>
    <member name="M:Microsoft.AspNet.Identity.RoleManagerExtensions.RemoveUserFromRoleAsync(Microsoft.AspNet.Identity.IRoleManager,System.String,System.String)">
      Returns true if the user was removed from the role
    </member>
    <member name="M:Microsoft.AspNet.Identity.RoleManagerExtensions.RoleExistsAsync(Microsoft.AspNet.Identity.IRoleManager,System.String)">
      Returns true if the role exists
    </member>
    <member name="T:Microsoft.AspNet.Identity.TokenManager">
      Token related APIs
    </member>
    <member name="M:Microsoft.AspNet.Identity.TokenManager.#ctor(Microsoft.AspNet.Identity.IIdentityStore)">
      Constructor
    </member>
    <member name="M:Microsoft.AspNet.Identity.TokenManager.AddAsync(Microsoft.AspNet.Identity.IToken,System.Threading.CancellationToken)">
      Add a new token to the store
    </member>
    <member name="M:Microsoft.AspNet.Identity.TokenManager.FindAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
      Find a token in the TokenStore
    </member>
    <member name="M:Microsoft.AspNet.Identity.TokenManager.RemoveAsync(System.String,System.Threading.CancellationToken)">
      Remove a token from the TokenStore
    </member>
    <member name="P:Microsoft.AspNet.Identity.TokenManager.Store">
      Store to operate on
    </member>
    <member name="T:Microsoft.AspNet.Identity.TokenManagerExtensions">
      Extension methods for ITokenManager
    </member>
    <member name="M:Microsoft.AspNet.Identity.TokenManagerExtensions.Add(Microsoft.AspNet.Identity.ITokenManager,Microsoft.AspNet.Identity.IToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.TokenManagerExtensions.AddAsync(Microsoft.AspNet.Identity.ITokenManager,Microsoft.AspNet.Identity.IToken)"></member>
    <member name="M:Microsoft.AspNet.Identity.TokenManagerExtensions.Find(Microsoft.AspNet.Identity.ITokenManager,System.String,System.Boolean)"></member>
    <member name="M:Microsoft.AspNet.Identity.TokenManagerExtensions.FindAsync(Microsoft.AspNet.Identity.ITokenManager,System.String,System.Boolean)"></member>
    <member name="M:Microsoft.AspNet.Identity.TokenManagerExtensions.Remove(Microsoft.AspNet.Identity.ITokenManager,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.TokenManagerExtensions.RemoveAsync(Microsoft.AspNet.Identity.ITokenManager,System.String)"></member>
    <member name="T:Microsoft.AspNet.Identity.UserManager">
      User related API
    </member>
    <member name="M:Microsoft.AspNet.Identity.UserManager.#ctor(Microsoft.AspNet.Identity.IdentityManager)">
      Constructor
    </member>
    <member name="M:Microsoft.AspNet.Identity.UserManager.AddClaimAsync(Microsoft.AspNet.Identity.IUserClaim,System.Threading.CancellationToken)">
      Add a new user claim to the store
    </member>
    <member name="M:Microsoft.AspNet.Identity.UserManager.CreateExternalUserAsync(Microsoft.AspNet.Identity.IUser,System.String,System.String,System.Threading.CancellationToken)">
      Create a user with an associated external login
    </member>
    <member name="M:Microsoft.AspNet.Identity.UserManager.CreateLocalUserAsync(Microsoft.AspNet.Identity.IUser,System.String,System.Threading.CancellationToken)">
      Create a user with a linked local login with the specified password
    </member>
    <member name="M:Microsoft.AspNet.Identity.UserManager.CreateUserAsync(Microsoft.AspNet.Identity.IUser,System.Threading.CancellationToken)">
      Create a user and its associated user management object
    </member>
    <member name="M:Microsoft.AspNet.Identity.UserManager.GetUserClaimsAsync(System.String,System.Threading.CancellationToken)">
      Get a users claims
    </member>
    <member name="P:Microsoft.AspNet.Identity.UserManager.Manager">
      IdentityManager to operate on
    </member>
    <member name="M:Microsoft.AspNet.Identity.UserManager.RemoveClaimAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
      Remove a user claim
    </member>
    <member name="T:Microsoft.AspNet.Identity.UserManagerExtensions">
      Extension methods for IUserManager
    </member>
    <member name="M:Microsoft.AspNet.Identity.UserManagerExtensions.CreateExternalUser(Microsoft.AspNet.Identity.IUserManager,Microsoft.AspNet.Identity.IUser,System.String,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.UserManagerExtensions.CreateExternalUserAsync(Microsoft.AspNet.Identity.IUserManager,Microsoft.AspNet.Identity.IUser,System.String,System.String)">
      Createa user with an associated external login
    </member>
    <member name="M:Microsoft.AspNet.Identity.UserManagerExtensions.CreateLocalUser(Microsoft.AspNet.Identity.IUserManager,Microsoft.AspNet.Identity.IUser,System.String)"></member>
    <member name="M:Microsoft.AspNet.Identity.UserManagerExtensions.CreateLocalUserAsync(Microsoft.AspNet.Identity.IUserManager,Microsoft.AspNet.Identity.IUser,System.String)">
      CreateAsync a user with a linked local login with the specified password
    </member>
    <member name="M:Microsoft.AspNet.Identity.UserManagerExtensions.CreateUser(Microsoft.AspNet.Identity.IUserManager,Microsoft.AspNet.Identity.IUser)">
      Create a user and its associated user management object
    </member>
    <member name="M:Microsoft.AspNet.Identity.UserManagerExtensions.CreateUserAsync(Microsoft.AspNet.Identity.IUserManager,Microsoft.AspNet.Identity.IUser)">
      Create a user and its associated user management object
    </member>
  </members>
</doc>


text:
package ca.phon.opgraph.app.components.canvas;

import java.awt.event.*;

import javax.swing.*;

import ca.phon.opgraph.*;
import ca.phon.opgraph.app.*;

/**
 * Extension interface for adding context menu items
 * specific to nodes.  This should be addeded as an extension
 * to the {@link OpNode} subclass instance
 *
 * @author ghedlund
 *
 */
public interface CanvasContextMenuExtension {

	/**
	 * Add items to provided menu
	 *
	 * @param menu
	 * @oaran document
	 * @param me
	 */
	public void addContextMenuItems(JPopupMenu menu, GraphDocument document, MouseEvent me);

}


text:
package galaxyspace.systems.SolarSystem.moons.europa.world.gen.we;

import java.util.Random;

import asmodeuscore.core.utils.worldengine.WE_Biome;
import asmodeuscore.core.utils.worldengine.standardcustomgen.WE_BiomeLayer;
import asmodeuscore.core.utils.worldengine.standardcustomgen.WE_OreGen.BlockPredicate;
import asmodeuscore.core.utils.worldengine.standardcustomgen.WE_TerrainGenerator;
import galaxyspace.core.GSBlocks;
import galaxyspace.core.prefab.entities.EntityEvolvedColdBlaze;
import galaxyspace.systems.SolarSystem.planets.overworld.blocks.BlockSurfaceIce;
import micdoodle8.mods.galacticraft.core.world.gen.WorldGenMinableMeta;
import net.minecraft.init.Blocks;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.gen.feature.WorldGenMinable;

public class Europa_Ravine extends WE_Biome {

	public Europa_Ravine(WE_TerrainGenerator tg) {
		super(new BiomeProperties("europa_ravine"), new int[] {0x00CC00, 0xFFFFFF, 0x00CC00});

		//biomeMinValueOnMap      =  	-0.4D;
		biomeMaxValueOnMap      =   0.0D;
		biomePersistence        =   1.2D;
		biomeNumberOfOctaves    =      4;
		biomeScaleX             = 280.0D;
		biomeScaleY             =   1.5D;
		biomeSurfaceHeight      =     70;
		biomeInterpolateQuality =     2;

		biomeAbs = true;

		//-//
		decorateChunkGen_List.clear();
		createChunkGen_InXZ_List.clear();
		spawnableMonsterList.add(new Biome.SpawnListEntry(EntityEvolvedColdBlaze.class, 10, 1, 4));

		WE_BiomeLayer layer = new WE_BiomeLayer();
		layer.add(Blocks.PACKED_ICE.getDefaultState(), tg.worldStoneBlock, -256, 0, -15, -3,  true);
		layer.add(Blocks.WATER.getDefaultState(), tg.worldStoneBlock, -256, 0,  -63, 0,  true);

		//layer.add(Blocks.PACKED_ICE.getDefaultState(), Blocks.PACKED_ICE.getDefaultState(), -256, 0,   -2, -1,  true);
		layer.add(Blocks.BEDROCK.getDefaultState(), 0, 2, 0, 0, true);

		createChunkGen_InXZ_List.add(layer);
	}

	@Override
	public void decorateBiome(World world, Random rand, int x, int z)
	{
		int randPosX;
		int randPosY;
		int randPosZ;

		for (int i = 0; i < 12; i++) {

	        randPosX = x + rand.nextInt(16);
	        //randPosY = rand.nextInt(120);
	        randPosZ = z + rand.nextInt(16);
	        BlockPos pos = world.getHeight(new BlockPos(randPosX, 0, randPosZ));
	    	if(world.isAreaLoaded(pos, 13, false) && world.isAirBlock(pos.up())) {
	    		new WorldGenMinable(GSBlocks.SURFACE_ICE.getDefaultState().withProperty(BlockSurfaceIce.BASIC_TYPE, BlockSurfaceIce.EnumBlockIce.DRY_ICE), 25,
	    				new BlockPredicate(
	    						Blocks.PACKED_ICE.getDefaultState()
	    				)).generate(world, rand, pos);
	    	}
    	}

		for (int i = 0; i < 12; i++) {
    		randPosX = x + rand.nextInt(16);
	        randPosY = rand.nextInt(110);
	        randPosZ = z + rand.nextInt(16);
	        BlockPos pos = new BlockPos(randPosX, randPosY, randPosZ);

	        new WorldGenMinableMeta(GSBlocks.EUROPA_BLOCKS, 30, 2, true, Blocks.PACKED_ICE, 0).generate(world, rand, pos);
		}

		if(world.rand.nextInt(3) == 0) {
    		randPosX = x + rand.nextInt(16) + 8;
	        //randPosY = rand.nextInt(120);
	        randPosZ = z + rand.nextInt(16) + 8;
	        BlockPos pos = world.getHeight(new BlockPos(randPosX, 0, randPosZ));

	        if (world.getBlockState(pos.down()) == Blocks.PACKED_ICE.getDefaultState() && world.isAirBlock(pos))
	        {
	        	boolean check = true;
	        	pos = pos.down();

	        	for(BlockPos pos1 : pos.getAllInBox(pos.add(-1, 0, -1), pos.add(1, 0, 1)))
	        		if(world.isAirBlock(pos1)) {
	        			check = false;
	        			break;
	        		}

	        	if(check) {
	        		world.setBlockState(pos, GSBlocks.EUROPA_UWGEYSER.getDefaultState());

	        		for(int i = 1; i < 15; i++)
	        			world.setBlockState(pos.down(i), Blocks.WATER.getDefaultState());

	        	}

	        	//world.setBlockState(pos.down(), GSBlocks.EUROPA_UWGEYSER.getDefaultState(), 2);
	        }
    	}
	}
}


text:
<nb-card>
  <nb-card-body>
    <div class="action-groups-header">
      Action Groups
    </div>
    <nb-actions size="medium">
      <nb-action icon="nb-menu"></nb-action>
      <nb-action icon="nb-search"></nb-action>
      <nb-action icon="nb-email"></nb-action>
      <nb-action disabled icon="nb-notifications"></nb-action>
      <nb-action>
        <nb-user name="Han Solo"></nb-user>
      </nb-action>
      <nb-action icon="nb-gear"></nb-action>
    </nb-actions>
  </nb-card-body>
</nb-card>


text:
package org.apache.causeway.core.metamodel.valuesemantics.temporal.legacy;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;

import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.stereotype.Component;

import org.apache.causeway.applib.value.semantics.ValueSemanticsAbstract;
import org.apache.causeway.commons.collections.Can;
import org.apache.causeway.core.metamodel.valuesemantics.temporal.LocalDateTimeValueSemantics;
import org.apache.causeway.core.metamodel.valuetypes.TemporalSemanticsAdapter;

/**
 * An adapter that handles {@link java.util.Date} as both a date AND time
 * component.
 *
 * @see JavaSqlDateValueSemantics
 * @see JavaSqlTimeValueSemantics
 */
@Component
@Named("causeway.val.JavaUtilDateValueSemantics")
public class JavaUtilDateValueSemantics
extends TemporalSemanticsAdapter<java.util.Date, LocalDateTime>  {

    @Inject LocalDateTimeValueSemantics localDateTimeValueSemantics;

    @Override
    public Class<Date> getCorrespondingClass() {
        return java.util.Date.class;
    }

    @Override
    public ValueSemanticsAbstract<LocalDateTime> getDelegate() {
        return localDateTimeValueSemantics;
    }

    @Override
    public Date fromDelegateValue(final LocalDateTime delegateValue) {
        return delegateValue!=null
                ? java.util.Date.from(delegateValue
                    .atZone(ZoneId.systemDefault())
                    .toInstant())
                : null;
    }

    @Override
    public LocalDateTime toDelegateValue(final java.util.Date value) {
        return value!=null
                ? LocalDateTime.ofInstant(
                        value.toInstant(), ZoneId.systemDefault())
                : null;
    }

    @Override
    public Can<Date> getExamples() {
        return Can.of(
                new java.util.Date(),
                new java.util.Date(0L));
    }

}


text:
SYNONYM

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
Meded. Rijks-Herb. 61:13. 1930

#### Original name
null

### Remarks
null