text:
/*=========================================================================*\
* Internet domain functions
* LuaSocket toolkit
\*=========================================================================*/
#include <stdio.h>
#include <string.h>

#ifndef _WIN32
  #include <sys/ioctl.h>
  #include <sys/types.h>
  #include <sys/socket.h>
  #include <net/if.h>
  #include <ifaddrs.h>
#endif

#include "lua.h"
#include "lauxlib.h"

#include "inet.h"

typedef union {
    struct sockaddr_storage sas;
    struct sockaddr sa;
    struct sockaddr_in sa4;
    struct sockaddr_in6 sa6;
} SA_union;

#ifdef INET_PTON
const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt);
int inet_pton(int af, const char *src, void *dst);
#endif

/*=========================================================================*\
* Internal function prototypes.
\*=========================================================================*/
static int inet_global_toip(lua_State *L);
static int inet_global_getaddrinfo(lua_State *L);
static int inet_global_tohostname(lua_State *L);
static int inet_global_getnameinfo(lua_State *L);
static int inet_global_local_addresses(lua_State *L);
static void inet_pushresolved(lua_State *L, struct hostent *hp);
static int inet_global_gethostname(lua_State *L);

/* DNS functions */
static luaL_Reg dns[] = {
    { "toip", inet_global_toip},
    { "getaddrinfo", inet_global_getaddrinfo},
    { "tohostname", inet_global_tohostname},
    { "getnameinfo", inet_global_getnameinfo},
    { "gethostname", inet_global_gethostname},
    { NULL, NULL}
};

/* global functions */
static luaL_Reg func[] = {
    { "local_addresses", inet_global_local_addresses},
    { NULL, NULL}
};

/*=========================================================================*\
* Exported functions
\*=========================================================================*/
/*-------------------------------------------------------------------------*\
* Initializes module
\*-------------------------------------------------------------------------*/
int inet_open(lua_State *L)
{
    lua_pushstring(L, "dns");
    lua_newtable(L);
    luaL_setfuncs(L,dns,0);
    lua_settable(L, -3);

    /* Export as global functions */
    luaL_setfuncs(L,func,0);

    return 0;
}

/*=========================================================================*\
* Global Lua functions
\*=========================================================================*/
/*-------------------------------------------------------------------------*\
* Returns all information provided by the resolver given a host name
* or ip address
\*-------------------------------------------------------------------------*/
static int inet_gethost(const char *address, struct hostent **hp) {
    struct in_addr addr;
    if (inet_aton(address, &addr))
        return socket_gethostbyaddr((char *) &addr, sizeof(addr), hp);
    else
        return socket_gethostbyname(address, hp);
}

/*-------------------------------------------------------------------------*\
* Returns all information provided by the resolver given a host name
* or ip address
\*-------------------------------------------------------------------------*/
static int inet_global_tohostname(lua_State *L) {
    const char *address = luaL_checkstring(L, 1);
    struct hostent *hp = NULL;
    int err = inet_gethost(address, &hp);
    if (err != IO_DONE) {
        lua_pushnil(L);
        lua_pushstring(L, socket_hoststrerror(err));
        return 2;
    }
    lua_pushstring(L, hp->h_name);
    inet_pushresolved(L, hp);
    return 2;
}

static int inet_global_getnameinfo(lua_State *L) {
    int i, ret;
    char host[1024];
    char serv[32];
    struct addrinfo hints;
    struct addrinfo *resolved, *iter;
    const char *node = luaL_optstring(L, 1, NULL);
    const char *service = luaL_optstring(L, 2, NULL);

    if (!(node || service))
        luaL_error(L, "You have to specify a hostname, a service, or both");

    memset(&hints, 0, sizeof(hints));
    hints.ai_socktype = SOCK_STREAM;
    hints.ai_family = PF_UNSPEC;

    /* getaddrinfo must get a node and a service argument */
    ret = getaddrinfo(node ? node : "127.0.0.1", service ? service : "7",
        &hints, &resolved);
    if (ret != 0) {
        lua_pushnil(L);
        lua_pushstring(L, socket_gaistrerror(ret));
        return 2;
    }

    lua_newtable(L);
    for (i = 1, iter = resolved; iter; i++, iter = iter->ai_next) {
        getnameinfo(iter->ai_addr, (socklen_t) iter->ai_addrlen, host,
            node ? (socklen_t) sizeof(host) : 0, serv, service ? (socklen_t) sizeof(serv) : 0, 0);

        if (node) {
            lua_pushnumber(L, i);
            lua_pushstring(L, host);
            lua_settable(L, -3);
        }
    }
    freeaddrinfo(resolved);

    if (service) {
        lua_pushstring(L, serv);
        return 2;
    } else {
        return 1;
    }
}

/*-------------------------------------------------------------------------*\
* Returns all information provided by the resolver given a host name
* or ip address
\*-------------------------------------------------------------------------*/
static int inet_global_toip(lua_State *L)
{
    const char *address = luaL_checkstring(L, 1);
    struct hostent *hp = NULL;
    int err = inet_gethost(address, &hp);
    if (err != IO_DONE) {
        lua_pushnil(L);
        lua_pushstring(L, socket_hoststrerror(err));
        return 2;
    }
    lua_pushstring(L, inet_ntoa(*((struct in_addr *) hp->h_addr)));
    inet_pushresolved(L, hp);
    return 2;
}

int inet_optfamily(lua_State* L, int narg, const char* def)
{
    static const char* optname[] = { "unspec", "inet", "inet6", NULL };
    static int optvalue[] = { PF_UNSPEC, PF_INET, PF_INET6, 0 };

    return optvalue[luaL_checkoption(L, narg, def, optname)];
}

int inet_optsocktype(lua_State* L, int narg, const char* def)
{
    static const char* optname[] = { "stream", "dgram", NULL };
    static int optvalue[] = { SOCK_STREAM, SOCK_DGRAM, 0 };

    return optvalue[luaL_checkoption(L, narg, def, optname)];
}

static int inet_global_getaddrinfo(lua_State *L)
{
    const char *hostname = luaL_checkstring(L, 1);
    struct addrinfo *iterator = NULL, *resolved = NULL;
    struct addrinfo hints;
    int i = 1, ret = 0;
    memset(&hints, 0, sizeof(hints));
    hints.ai_socktype = SOCK_STREAM;
    hints.ai_family = PF_UNSPEC;
    ret = getaddrinfo(hostname, NULL, &hints, &resolved);
    if (ret != 0) {
        lua_pushnil(L);
        lua_pushstring(L, socket_gaistrerror(ret));
        return 2;
    }
    lua_newtable(L);
    for (iterator = resolved; iterator; iterator = iterator->ai_next) {
        char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];
        getnameinfo(iterator->ai_addr, (socklen_t) iterator->ai_addrlen, hbuf,
            (socklen_t) sizeof(hbuf), sbuf, 0, NI_NUMERICHOST);
        lua_pushnumber(L, i);
        lua_newtable(L);
        switch (iterator->ai_family) {
            case AF_INET:
                lua_pushliteral(L, "family");
                lua_pushliteral(L, "inet");
                lua_settable(L, -3);
                break;
            case AF_INET6:
                lua_pushliteral(L, "family");
                lua_pushliteral(L, "inet6");
                lua_settable(L, -3);
                break;;
        }
        lua_pushliteral(L, "addr");
        lua_pushstring(L, hbuf);
        lua_settable(L, -3);
        lua_settable(L, -3);
        i++;
    }
    freeaddrinfo(resolved);
    return 1;
}

/*-------------------------------------------------------------------------*\
* Gets the host name
\*-------------------------------------------------------------------------*/
static int inet_global_gethostname(lua_State *L)
{
    char name[257];
    name[256] = '\0';
    if (gethostname(name, 256) < 0) {
        lua_pushnil(L);
        lua_pushstring(L, socket_strerror(errno));
        return 2;
    } else {
        lua_pushstring(L, name);
        return 1;
    }
}

/*-------------------------------------------------------------------------*\
* Enumerate all locally configured IP addresses
\*-------------------------------------------------------------------------*/

const char * const type_strings[] = {
    "both",
    "ipv4",
    "ipv6",
    NULL
};

int inet_global_local_addresses(lua_State *L)
{
    /* Link-local IPv4 addresses; see RFC 3927 and RFC 5735 */
    const long ip4_linklocal = htonl(0xa9fe0000); /* 169.254.0.0 */
    const long ip4_mask      = htonl(0xffff0000);
#ifndef _WIN32
    struct ifaddrs *addr = NULL, *a;
    int n = 1;
#endif
    int type = luaL_checkoption(L, 1, "both", type_strings);
    const char link_local = lua_toboolean(L, 2); /* defaults to 0 (false) */
    const char ipv4 = (type == 0 || type == 1);
    const char ipv6 = (type == 0 || type == 2);

#ifndef _WIN32
    if (getifaddrs(&addr) < 0) {
        lua_pushnil(L);
        lua_pushfstring(L, "getifaddrs failed (%d): %s", errno,
                strerror(errno));
        return 2;
    }

    lua_newtable(L);

    for (a = addr; a; a = a->ifa_next) {
        int family;
        char ipaddr[INET6_ADDRSTRLEN];
        const char *tmp = NULL;

        if (a->ifa_addr == NULL || a->ifa_flags & IFF_LOOPBACK)
            continue;

        family = a->ifa_addr->sa_family;

        if (ipv4 && family == AF_INET) {
            struct sockaddr_in *sa = (struct sockaddr_in *)a->ifa_addr;
            if (!link_local &&
                    ((sa->sin_addr.s_addr & ip4_mask) == ip4_linklocal))
                continue;
            tmp = inet_ntop(family, &sa->sin_addr, ipaddr, sizeof(ipaddr));
        } else if (ipv6 && family == AF_INET6) {
            struct sockaddr_in6 *sa = (struct sockaddr_in6 *)a->ifa_addr;
            if (!link_local && IN6_IS_ADDR_LINKLOCAL(&sa->sin6_addr))
                continue;
            if (IN6_IS_ADDR_V4MAPPED(&sa->sin6_addr) || IN6_IS_ADDR_V4COMPAT(&sa->sin6_addr))
                continue;
            tmp = inet_ntop(family, &sa->sin6_addr, ipaddr, sizeof(ipaddr));
        }

        if (tmp != NULL) {
            lua_pushstring(L, tmp);
            lua_rawseti(L, -2, n++);
        }
        /* TODO: Error reporting? */
    }

    freeifaddrs(addr);

    return 1;
#else
    return 0;
#endif
}

/*=========================================================================*\
* Lua methods
\*=========================================================================*/
/*-------------------------------------------------------------------------*\
* Retrieves socket peer name
\*-------------------------------------------------------------------------*/
int inet_meth_getpeername(lua_State *L, p_socket ps, int family)
{
    switch (family) {
        case PF_INET: {
            struct sockaddr_in peer;
            socklen_t peer_len = sizeof(peer);
            char name[INET_ADDRSTRLEN];
            if (getpeername(*ps, (SA *) &peer, &peer_len) < 0) {
                lua_pushnil(L);
                lua_pushstring(L, socket_strerror(errno));
                return 2;
            } else {
                inet_ntop(family, &peer.sin_addr, name, sizeof(name));
                lua_pushstring(L, name);
                lua_pushnumber(L, ntohs(peer.sin_port));
                lua_pushliteral(L, "inet");
                return 3;
            }
        }
        case PF_INET6: {
            struct sockaddr_in6 peer;
            socklen_t peer_len = sizeof(peer);
            char name[INET6_ADDRSTRLEN];
            if (getpeername(*ps, (SA *) &peer, &peer_len) < 0) {
                lua_pushnil(L);
                lua_pushstring(L, socket_strerror(errno));
                return 2;
            } else {
                inet_ntop(family, &peer.sin6_addr, name, sizeof(name));
                lua_pushstring(L, name);
                lua_pushnumber(L, ntohs(peer.sin6_port));
                lua_pushliteral(L, "inet6");
                return 3;
            }
        }
        default:
            lua_pushnil(L);
            lua_pushfstring(L, "unknown family %d", family);
            return 2;
    }
}

/*-------------------------------------------------------------------------*\
* Retrieves socket local name
\*-------------------------------------------------------------------------*/
int inet_meth_getsockname(lua_State *L, p_socket ps, int family)
{
    switch (family) {
        case PF_INET: {
            struct sockaddr_in local;
            socklen_t local_len = sizeof(local);
            char name[INET_ADDRSTRLEN];
            if (getsockname(*ps, (SA *) &local, &local_len) < 0) {
                lua_pushnil(L);
                lua_pushstring(L, socket_strerror(errno));
                return 2;
            } else {
                inet_ntop(family, &local.sin_addr, name, sizeof(name));
                lua_pushstring(L, name);
                lua_pushnumber(L, ntohs(local.sin_port));
                lua_pushliteral(L, "inet");
                return 3;
            }
        }
        case PF_INET6: {
            struct sockaddr_in6 local;
            socklen_t local_len = sizeof(local);
            char name[INET6_ADDRSTRLEN];
            if (getsockname(*ps, (SA *) &local, &local_len) < 0) {
                lua_pushnil(L);
                lua_pushstring(L, socket_strerror(errno));
                return 2;
            } else {
                inet_ntop(family, &local.sin6_addr, name, sizeof(name));
                lua_pushstring(L, name);
                lua_pushnumber(L, ntohs(local.sin6_port));
                lua_pushliteral(L, "inet6");
                return 3;
            }
        }
        default:
            lua_pushnil(L);
            lua_pushfstring(L, "unknown family %d", family);
            return 2;
    }
}

/*=========================================================================*\
* Internal functions
\*=========================================================================*/
/*-------------------------------------------------------------------------*\
* Passes all resolver information to Lua as a table
\*-------------------------------------------------------------------------*/
static void inet_pushresolved(lua_State *L, struct hostent *hp)
{
    char **alias;
    struct in_addr **addr;
    int i, resolved;
    lua_newtable(L); resolved = lua_gettop(L);
    lua_pushstring(L, "name");
    lua_pushstring(L, hp->h_name);
    lua_settable(L, resolved);
    lua_pushstring(L, "ip");
    lua_pushstring(L, "alias");
    i = 1;
    alias = hp->h_aliases;
    lua_newtable(L);
    if (alias) {
        while (*alias) {
            lua_pushnumber(L, i);
            lua_pushstring(L, *alias);
            lua_settable(L, -3);
            i++; alias++;
        }
    }
    lua_settable(L, resolved);
    i = 1;
    lua_newtable(L);
    addr = (struct in_addr **) hp->h_addr_list;
    if (addr) {
        while (*addr) {
            lua_pushnumber(L, i);
            lua_pushstring(L, inet_ntoa(**addr));
            lua_settable(L, -3);
            i++; addr++;
        }
    }
    lua_settable(L, resolved);
}

/*-------------------------------------------------------------------------*\
* Tries to create a new inet socket
\*-------------------------------------------------------------------------*/
const char *inet_trycreate(p_socket ps, int family, int type) {
    return socket_strerror(socket_create(ps, family, type, 0));
}

/*-------------------------------------------------------------------------*\
* "Disconnects" a DGRAM socket
\*-------------------------------------------------------------------------*/
const char *inet_trydisconnect(p_socket ps, int family, p_timeout tm)
{
    switch (family) {
        case PF_INET: {
            struct sockaddr_in sin;
            memset((char *) &sin, 0, sizeof(sin));
            sin.sin_family = AF_UNSPEC;
            sin.sin_addr.s_addr = INADDR_ANY;
            return socket_strerror(socket_connect(ps, (SA *) &sin,
                sizeof(sin), tm));
        }
        case PF_INET6: {
            struct sockaddr_in6 sin6;
            struct in6_addr addrany = IN6ADDR_ANY_INIT;
            memset((char *) &sin6, 0, sizeof(sin6));
            sin6.sin6_family = AF_UNSPEC;
fprintf(stderr, "disconnecting\n");
            sin6.sin6_addr = addrany;
            return socket_strerror(socket_connect(ps, (SA *) &sin6,
                sizeof(sin6), tm));
        }
    }
    return NULL;
}

/*-------------------------------------------------------------------------*\
* Tries to connect to remote address (address, port)
\*-------------------------------------------------------------------------*/
const char *inet_tryconnect(p_socket ps, const char *address,
        const char *serv, p_timeout tm, struct addrinfo *connecthints)
{
    struct addrinfo *iterator = NULL, *resolved = NULL;
    const char *err = NULL;
    /* try resolving */
    err = socket_gaistrerror(getaddrinfo(address, serv,
                connecthints, &resolved));
    if (err != NULL) {
        if (resolved) freeaddrinfo(resolved);
        return err;
    }
    for (iterator = resolved; iterator; iterator = iterator->ai_next) {
        timeout_markstart(tm);
        /* try connecting to remote address */
        err = socket_strerror(socket_connect(ps, (SA *) iterator->ai_addr,
            (socklen_t) iterator->ai_addrlen, tm));
        /* if success, break out of loop */
        if (err == NULL) break;
    }
    freeaddrinfo(resolved);
    /* here, if err is set, we failed */
    return err;
}

/*-------------------------------------------------------------------------*\
* Tries to accept a socket
\*-------------------------------------------------------------------------*/
const char *inet_tryaccept(p_socket server, int family, p_socket client, p_timeout tm)
{
	socklen_t len;
	t_sockaddr_storage addr;
	if (family == PF_INET6) {
		len = sizeof(struct sockaddr_in6);
	} else {
		len = sizeof(struct sockaddr_in);
	}
	return socket_strerror(socket_accept(server, client, (SA *) &addr, &len, tm));
}

/*-------------------------------------------------------------------------*\
* Tries to bind socket to (address, port)
\*-------------------------------------------------------------------------*/
const char *inet_trybind(p_socket ps, const char *address, const char *serv,
        struct addrinfo *bindhints)
{
    struct addrinfo *iterator = NULL, *resolved = NULL;
    const char *err = NULL;
    t_socket sock = *ps;
    /* try resolving */
    err = socket_gaistrerror(getaddrinfo(address, serv, bindhints, &resolved));
    if (err) {
        if (resolved) freeaddrinfo(resolved);
        return err;
    }
    /* iterate over resolved addresses until one is good */
    for (iterator = resolved; iterator; iterator = iterator->ai_next) {
        if(sock == SOCKET_INVALID) {
            err = socket_strerror(socket_create(&sock, iterator->ai_family,
                        iterator->ai_socktype, iterator->ai_protocol));
            if(err)
                continue;
        }
        /* try binding to local address */
        err = socket_strerror(socket_bind(&sock,
            (SA *) iterator->ai_addr,
            (socklen_t) iterator->ai_addrlen));

        /* keep trying unless bind succeeded */
        if (err) {
            if(sock != *ps)
                socket_destroy(&sock);
        } else {
            /* remember what we connected to, particularly the family */
            *bindhints = *iterator;
            break;
        }
    }
    /* cleanup and return error */
    freeaddrinfo(resolved);
    *ps = sock;
    return err;
}

/*-------------------------------------------------------------------------*\
* Some systems do not provide this so that we provide our own. It's not
* marvelously fast, but it works just fine.
\*-------------------------------------------------------------------------*/
#ifdef INET_ATON
int inet_aton(const char *cp, struct in_addr *inp)
{
    unsigned int a = 0, b = 0, c = 0, d = 0;
    int n = 0, r;
    unsigned long int addr = 0;
    r = sscanf(cp, "%u.%u.%u.%u%n", &a, &b, &c, &d, &n);
    if (r == 0 || n == 0) return 0;
    cp += n;
    if (*cp) return 0;
    if (a > 255 || b > 255 || c > 255 || d > 255) return 0;
    if (inp) {
        addr += a; addr <<= 8;
        addr += b; addr <<= 8;
        addr += c; addr <<= 8;
        addr += d;
        inp->s_addr = htonl(addr);
    }
    return 1;
}
#endif

// inet_ntop/inet_pton for MinGW from http://mingw-users.1079350.n2.nabble.com/IPv6-getaddrinfo-amp-inet-ntop-td5891996.html

#ifdef INET_PTON
const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt)
{
        if (af == AF_INET)
        {
                struct sockaddr_in in;
                memset(&in, 0, sizeof(in));
                in.sin_family = AF_INET;
                memcpy(&in.sin_addr, src, sizeof(struct in_addr));
                getnameinfo((struct sockaddr *)&in, sizeof(struct sockaddr_in), dst, cnt, NULL, 0, NI_NUMERICHOST);
                return dst;
        }
        else if (af == AF_INET6)
        {
                struct sockaddr_in6 in;
                memset(&in, 0, sizeof(in));
                in.sin6_family = AF_INET6;
                memcpy(&in.sin6_addr, src, sizeof(struct in_addr6));
                getnameinfo((struct sockaddr *)&in, sizeof(struct sockaddr_in6), dst, cnt, NULL, 0, NI_NUMERICHOST);
                return dst;
        }
        return NULL;
}

int inet_pton(int af, const char *src, void *dst)
{
        struct addrinfo hints, *res, *ressave;

        memset(&hints, 0, sizeof(struct addrinfo));
        hints.ai_family = af;

        if (getaddrinfo(src, NULL, &hints, &res) != 0)
        {
                return -1;
        }

        ressave = res;

        while (res)
        {
                memcpy(dst, res->ai_addr, res->ai_addrlen);
                res = res->ai_next;
        }

        freeaddrinfo(ressave);
        return 0;
}

#endif

redpajama_set_name: RedPajamaGithub


text:
Multi-agency training exercise at UCLA tests response to shooters on campus
Phil Hampton
Public safety officials chose a nightmarish scenario for a massive police training drill on the UCLA campus: two shooters loose in a dorm, dozens of students shot and injured, and hostages taken.
The scene played out on Tuesday morning in the residence hall area, with several agencies participating. UCLA Emergency Medical Services and Los Angeles Fire Department paramedics triaged the wounded and transported them to the Ronald Reagan UCLA Medical Center. UCPD and LAPD officers controlled the scene. SWAT teams from the LAPD and FBI stormed Rieber Residence Hall, where the "incident" took place.
Life continued normally outside the drill zone, with students and cheerleaders from a summer camp walking nonchalantly past views of controlled chaos. Tennis stars at the Countrywide Tennis Classic played calmly despite booming "flash-bang" bombs used by the SWAT teams.
Some of the "wounded" students couldn't keep a straight face and giggled while being rescued, but many moaned in pain and competed for attention from paramedics. Elaborate makeup simulated blood and bullet wounds, based on the kinds of injuries sustained by victims of similar types of incidents.
First responders learned details about the scenario only as it unfolded to keep the drill realistic, UCPD Community Service Director Nancy Greenstein said. "They're really being challenged," she said.
The training exercise was designed to test the agencies and their ability to work together when faced by large-scale violence on a college campus, much like the deadly Virginia Tech campus shootings in April 2007, officials said. At a mid-day news conference, representatives from the agencies involved said they were pleased with the response they had seen so far.
"This is hopefully an exercise that will never have to take place in real life," said Los Angeles Mayor Antonio Villaraigosa. "But if it does, we'll know that we've done the best we can to simulate a disaster of this kind to prepare for it."

redpajama_set_name: RedPajamaCommonCrawl


The GGFG provided one company to the Battleford Column.
Perpetuates the2nd and 77th Battalions, Canadian Expeditionary Force, 1914-1919.
2nd Bn, C.E.F.- "Ypres, 1915, '17, Gravenstafel Ridge, St Julien, Festubert, 1915, Mount Sorrel, Somme, 1916, Pozieres, Flers-Courcelette, Ancre Heights, Arras, 1917, '18, Vimy, 1917, Arleux, Scarpe, 1917, '18, Hill 70, Passchendaele, Amiens, Scarpe, 1918, Drocourt-Queant, Hindenburg Line, Canal du Nord, Pursuit to Mons, France and Flanders, 1915-18"
VCs won by A/Cpl L. Clarke on 9 September 1916 and by A/Maj O.M. Learmonth, MC, on 18 August 1917.
The Governor General's Foot Guards - "Somme, 1916, Arras, 1917, '18, Hill 70, Ypres, 1917, Amiens"
The Governor General's Foot Guards - "Ypres, 1915, Gravenstafel, St Julien, Festubert, 1915, Mount Sorrel, Somme, 1916, Pozieres, Flers-Courcelette, Ancre Heights, Arras, 1917, '18, Vimy, 1917, Arleux, Scarpe, 1917, '18, Hill 70, Passchendaele, Amiens, Drocourt-Queant, Hindenburg Line, Canal du Nord, Pursuit to Mons, France and Flanders, 1915-18"
The Governor General's Foot Guards (5th Canadian Guards), awarded battle honours for the Second World War for actions as the 21st Armoured Regiment (The Governor General's Foot Guards), as follows: - "FALAISE, Falaise Road, The Laison, Chambois, THE SCHELDT, The Lower Maas, THE RHINELAND, The Hochwald, Veen, Bad Zwischenahn, NORTH-WEST EUROPE 1944-45"
The Regimental history of the Governor General's Foot Guards [prepared by a Committee of the Guards]. Ottawa: Mortimer, 1948.
77th Overseas Battalion, Canadian Expeditionary Force, Ottawa [microform] [Ottawa?: s.n., 1916?] (Ottawa: Simmons Print).


Perfect for Green Tea Afficianodos. Proclaim your love for the green (tea) and the healthy lifestyle with this beautiful green tea mug, Lovely glass mug with message "Only green tea", Glass is absolutely safe and hygienic for Green Tea Consumption. Designed by Hot Muggs, Package Contents: 1 Mug; Color: Multi Color, Material: Glass, Dimension(L*B*H) : 12*8.2*9.5; Capacity: 350 ml, Contains Only 1 (One) Mug. If you see two mugs in the picture, it is there to show two sides of the mug.
exactly what I needed! Great!
Best Tea Mug so far I have! Nice to see and drink in it!


Rebecca Sugar is creator of the upcoming Cartoon Network Studios' original animated series Steven Universe slated to premiere November 4, 2013 at 8 p.m. (ET, PT) on Cartoon Network. Steven Universe is a coming-of-age story told from the perspective of Steven, the youngest member of a team of magical Guardians of the Universe.
Sugar became a storyboard artist and writer on Adventure Time in 2009 after graduating from the School of Visual Arts (SVA). The first episode she boarded, "It Came From the Nightosphere," was nominated for an Emmy® and included the first song she wrote for the series, "Daddy, Why did you eat my fries?" which quickly became a fan favorite. Since then, she's written 17 songs for the show and has boarded on some of Adventure Times' most acclaimed episodes: "The Real You," "Jake vs. Me-Mow," "Fionna and Cake," "What was Missing," and "Incendium." Sugar was nominated for an Annie Award (ASIFA) for her storyboards on the Adventure Time Season 2 finale "Mortal Folly."
Cartoon Network (CartoonNetwork.com) is consistently the #1 U.S. television network among boys 6-11. Currently seen in 99 million U.S. homes and 194 countries around the world, Cartoon Network is Turner Broadcasting System, Inc.'s ad-supported cable service now available in HD offering the best in original, acquired and classic entertainment for kids and families. In addition to Emmy-winning original programming and industry-leading digital apps and online games, Cartoon Network embraces key social issues affecting families with solution-oriented initiatives such as Stop Bullying: Speak Up and the Move It Movement.


text:
Home Library Discussions About
Home Discussions About Join us
This is V 1
Domains @wise.tau.ac.il
Strong-Lensing Analysis of MS 1358.4+6245
Strong-Lensing Analysis of MS 1358.4+6245: New Multiple Images and Implications for the Well-Resolved z=4.92 Galaxy
Adi Zitrin1, Tom Broadhurst2,3, Dan Coe4, Jori Liesenborgs5, Narciso Benítez6, E-mail: adiz@wise.tau.ac.il Yoel Rephaeli1, Holland Ford7, Keiichi Umetsu8
1The School of Physics and Astronomy, the Raymond and Beverly Sackler Faculty of Exact Sciences, Tel Aviv University,
Tel Aviv 69978, Israel
2Department of Theoretical Physics, University of Basque Country UPV/EHU, Leioa, Spain
3IKERBASQUE, Basque Foundation for Science, 48011, Bilbao, Spain
4Jet Propulsion Laboratory, California Institute of Technology, 4800 Oak Grove Dr, MS 169-327, Pasadena, CA 91109
5Expertisecentrum voor Digitale Media, Universiteit Hasselt, Wetenschapspark 2, B-3590, Diepenbeek, Belgium
6Instituto de Astrofísica de Andalucía (CSIC), C/Camino Bajo de Huétor, 24, Granada, 18008, Spain
7Department of Physics and Astronomy, Johns Hopkins University, 3400 North Charles Street, Baltimore, MD 21218
8Institute of Astronomy and Astrophysics, Academia Sinica, P. O. Box 23-141, Taipei 10617, Taiwan
We present a strong-lensing analysis of the galaxy cluster MS 1358.4+6245 (z=0.33), in deep 6-band ACS/HST imaging. In addition to the well-studied system at z=4.92, our modelling method uncovers 19 new multiply-lensed images so that a total of 23 images and their redshifts are used to accurately constrain the inner mass distribution. We derive a relatively shallow inner mass profile, dlogΣ/dlogr≃−0.33±0.05 (r<200 kpc), with a much higher magnification than estimated previously by models constrained only by the z=4.92 system. Using these many new images we can apply a non-parametric adaptive-grid method, which also yields a shallow mass profile without prior assumptions, strengthening our conclusions. The total magnification of the zs=4.92 galaxy is high, about a ∼100× over its four images, so that the inferred source size, luminosity and star-formation rate are about ∼5× smaller than previous estimates, corresponding to a dwarf-sized galaxy of radius ≃1 kpc. A detailed image of the interior morphology of the source is generated with a high effective resolution of only ≃50 pc, thanks to the high magnification and to the declining angular diameter distance above z∼1.5 for the standard cosmology, so that this image apparently represents the best resolved object known at high redshift.
dark matter, galaxies: clusters: individuals: MS 1358.4+6245, galaxies: clusters: general, galaxies: high-redshift, galaxies: formation, gravitational lensing
††pagerange: Strong-Lensing Analysis of MS 1358.4+6245: New Multiple Images and Implications for the Well-Resolved z=4.92 Galaxy–References††pubyear: 2010
The galaxy cluster MS 1358.4+6245 (also known as CL 1358+62; hereafter MS 1358) was first identified by Zwicky & Herzog (1968), and later classified as an X-ray luminous, rich cluster by Luppino et al. (1991) based on observations from the Einstein Observatory Extended Medium-Sensitivity Survey (EMSS; Gioia et al. 1990, Stocke et al. 1991). This cluster has been subject to intensive study, mainly due to its high X-ray luminosity and richness at an intermediate-high redshift (e.g., Henry et al. 1992, Carlberg et al. 1996, Poggianti & Barbaro 1996, Mushotzky & Scharf 1997, Nichol et al. 1997, Kelson et al. 1997), but became particularly famous when a pair of z=4.92 lensed galaxies were uncovered in its inner region by Franx et al. (1997). Subsequently, other such high-z galaxies have been found in systematic surveys of galaxy clusters and in deep field imaging (e.g., Frye & Broadhurst 1998, Frye, Broadhurst & Benítez 2002, Kneib et al. 2004, Stark et al. 2007, Bouwens et al. 2004, 2009b, 2010, Bradley et al. 2008, Zheng et al. 2009).
Magnified objects are particularly useful, being generally bright enough to yield useful spectra, in particular the z=4.92 system in MS 1358 which has an especially well-resolved large fold image straddling the tangential critical curve. Detailed spectroscopy by Franx et al. (1997; see also Swinbank et al. 2009) has revealed asymmetric and redward shifted Ly-alpha emission relative to metal absorption lines, which is claimed to imply this galaxy is suffering an outflow of metal enriched gas (Franx et al. 1997), similar to local dwarf starburst galaxies (Dekel & Silk 1986, Heckman, Armus & Miley 1990). This spectral signature of gas outflow was shown to be a general property of z>4 galaxies, in the larger sample of lensed galaxies behind eight massive clusters, by Frye, Broadhurst & Benítez (2000), with implications for the enrichment of the IGM in general (Scannapieco & Broadhurst 2001).
In the past two decades other extensive studies have included or focused on MS 1358, ranging from X-ray to radio measurements and scaling relations (e.g., Cagnoni, della Ceca & Maccacaro 1998, Cooray et al. 1998, Ettori & Fabian 1999, Allen 2000, Wu 2000, Böhringer et al. 2000, Arabadjis, Bautz & Garmire 2002, Brown et al. 2003, McCarthy et al. 2003, Egami et al. 2006, Laroque et al. 2006, Morandi, Ettori & Moscardini 2007), to intracluster content and evolution studies (e.g., van Dokkum et al. 1998, Kelson et al. 2000a,b, 2006, Borgani et al. 1999, Fabricant, Franx & van Dokkum 2000, Ferreras & Silk 2000, Henry 2000, Kochanek et al. 2000, Tran et al. 2003, Postman et al. 2005, Holden et al. 2007), and arc statistics and searches (La Fèvre et al. 1994, Hattory, Watanabe & Yamashita 1997, Luppino et al. 1999, Oguri, Lee & Suto 2003, Wambsganss, Bode & Ostriker 2004, Sand et al. 2005).
Despite this broad study, only one multiply-lensed system has been hitherto identified in this cluster (the z=4.92 drop-out galaxy; Franx et al. 1997), so that no full SL analysis has been possible given the wide degeneracy of models with so few images. Franx et al. (1997) have presented a SL mass model based on the z=4.92 drop-out galaxy they uncovered, and various simplified mass models have been used by others (e.g., Allen 1998, Molikawa et al. 1999, Williams, Navarro & Bartelmann 1999), often based on isothermal potentials or spherical symmetry. Richard et al. (2008; see also Swinbank et al. 2009) have presented two z∼7.5 unverified multiply-lensed candidates for which Ly-alpha emission has not been detected. Moreover, we note that for a cluster at zcl=0.33, the lensing-distance ratio for sources at zs=4.92 and zs∼7.5 differs by only ∼2%, so that in order to meaningfully constrain the inner mass profile it is crucial to use other multiply-lensed systems at lower redshifts to expand the range of lensing-distances.
Here we use our well-tested approach to modelling in order find a significant number of multiple images across the central field of MS 1358 so that the mass distribution and its profile can be well constrained. This method was developed by Broadhurst et al. (2005a), and simplified further by Zitrin et al. (2009b) and has securely identified tens of multiple images in high quality HST/ACS (Advanced Camera for Surveys) images, of background sources behind several clusters with deep ACS/HST imaging, including Abell 1689, Cl0024+17 and a sample of 12 MACS clusters at z>0.5 (Broadhurst et al. 2005a, Zitrin et al. 2009b, Zitrin et al. 2010a). This is done with only six free parameters so that in practice the number of multiple images uncovered readily exceeds the number of free parameters as minimally required in order to obtain a reliable fit.
This approach to lens-modelling is based on the reasonable assumption that mass approximately traces light. Recently we have independently tested this assumption in Abell 1703 (Zitrin et al. 2010b), by applying the non-parametric technique of Liesenborgs et al. (2006, 2007, 2009) for comparison, which is also employed here. This latter technique employs an adaptive grid inversion method and does not require prior assumptions regarding the mass distribution, relying only on the images we have identified and their redshift estimates. For meaningful constraints, this approach to modelling requires many sets of multiple images, and over a wide range of background redshifts per cluster. This condition is well met for A1703 (Zitrin et al. 2010b) and this model-independent method yields a very similar mass distribution to our parametric technique in the case of A1703, supporting the assumption that mass generally traces light. Independently, it has been found that SL methods based on parametric modelling are accurate at the level of a few percent in determining the projected inner mass (Meneghetti et al. 2010).
The results of this work will be further combined with a wide-range WL data from deep Subaru imaging to provide the cluster mass profile out to the virial radius and beyond (Umetsu et al., in preparation). To date only a few clusters have been reliably analysed by combining both weak and strong lensing for a full determination of the mass profile and a definitive comparison with theoretical predictions, (e.g., Gavazzi et al. 2003, Broadhurst et al. 2005b, 2008, Merten et al. 2009, Newman et al. 2009, Okabe et al. 2009 and references therein, Umetsu et al. 2010, Zitrin et al. 2010b). The upcoming multi-cycle HST program of cluster imaging (the CLASH program111footnotetext: PI: Postman; http://www.stsci.edu/∼postman/CLASH/) will provide a much more definitive derivation of mass profiles for a statistical sample of relaxed, X-ray selected clusters, combining high resolution space imaging with deep, wide-field ground based data, for a definitive determination of the equilibrium mass profiles of virilised clusters.
Luppino et al. (1991) have measured the Brightest Cluster Galaxy (BCG) of MS 1358 at a redshift of z=0.323. Other spectroscopic studies of many cluster member galaxies suggest a similar cluster redshift of z≃0.33, which is the redshift adopted here (e.g., Fabricant, McClintock & Bautz 1991, Carlberg et al. 1996, Yee et al. 1998, Fisher et al. 1998).
The paper is organised as follows: In §2 we describe the observations. In §3 we detail the SL analysis and in §4 we report and discuss the results, which are then summarised in §5. Throughout this paper we adopt a concordance ΛCDM cosmology with (Ωm0=0.3, ΩΛ0=0.7, h=0.7). With these parameters one arcsecond corresponds to a physical scale of 4.75 kpc for this cluster (at z=0.33). The reference centre of our analysis is fixed at the centre of the BCG: RA = 13:59:50.55 Dec = +62:31:05.00 (J2000.0).
2 Observations and Photometric Redshifts
MS 1358 was observed with the Wide Field Channel (WFC) of the ACS installed on HST in the framework of the ACS Guaranteed Time Observations (GTO; PI: Ford, H.; program IDs 9292, 9717, 10325) which includes deep observations of several massive, intermediate-redshift galaxy clusters (Ford et al. 2003). Integration times of 7928, 5470, 5482, 9196, 13552 and 17757 seconds were obtained through the F435W, F475W, F555W, F625W, F775W, and F850LP (Bg\arcminVr\arcmini\arcminz\arcmin) filters, respectively. Some important aims of the GTO program were the determination of the mass distribution of clusters for testing the standard cosmological model and to study distant, background lensed galaxies for which some of the very highest redshift galaxies are found because of high magnification by massive clusters.
Mass models and detailed lensing analyses have been presented for most of the GTO clusters (e.g., Broadhurst et al. 2005a, Elíasdóttir et al. 2007, Jee et al. 2007, Lemze et al. 2008, 2010, Limousin et al. 2008, Richard et al. 2009, Umetsu et al. 2010, Zitrin et al. 2009b, 2010b, Coe et al. 2010, Medezinski et al. 2010). In this work, we present a strong lensing (SL) analysis of the ACS images of MS 1358, and detect several multiple-image systems so the mass profile of this cluster can be reliably constrained as well.
The ACS images were initially reduced, processed, and analysed by APSIS, the ACS GTO pipeline (Blakeslee et al. 2003). An optimal χ2 detection image was created as a weighted sum of all filters, each divided by its background RMS. Objects were detected and photometry obtained using SExtractor (Bertin & Arnouts 1996).
The light of cluster galaxies was carefully modelled in each filter and subtracted from the images. This improves both the detection and photometry of lensed background objects. Based on this Bg\arcminVr\arcmini\arcminz\arcmin photometry, we obtain photometric redshifts using BPZ (Benítez 2000, Benítez et al. 2004, Coe et al. 2006). The distances to the galaxies are, of course, key ingredients to the lens model.
3 Strong Lensing Modelling and Analysis
We apply our well tested approach to lens modelling, which has previously uncovered large numbers of multiply-lensed galaxies in ACS images of Abell 1689, Cl0024, and 12 high-z MACS clusters (respectively, Broadhurst et al. 2005a, Zitrin et al. 2009b, Zitrin & Broadhurst 2009, Zitrin et al. 2009a, 2010a,b). Briefly, the basic assumption adopted is that mass approximately traces light, so that the photometry of the red cluster member galaxies is used as the starting point for our model. Cluster member galaxies are identified as lying close to the cluster sequence by the photometry described in §2.
Figure 1: The starting point of the mass model, where we define the surface mass distribution based on the cluster member galaxies (see §3). Axes are in ACS pixels (0.05\arcsec/pixel).
Figure 2: The resulting smooth mass component of the mass model (see §3). Axes are in ACS pixels (0.05\arcsec/pixel).
We approximate the large scale distribution of cluster mass by assigning a power-law mass profile to each galaxy (see Figure 1), the sum of which is then smoothed (see Figure 2). The degree of smoothing (S) and the index of the power-law (q) are the most important free parameters determining the mass profile. A worthwhile improvement in fitting the location of the lensed images is generally found by expanding to first order the gravitational potential of this smooth component, equivalent to a coherent shear describing the overall matter ellipticity, where the direction of the shear and its amplitude are free parameters, allowing for some flexibility in the relation between the distribution of DM and the distribution of galaxies, which cannot be expected to trace each other in detail. The total deflection field →αT(→θ), consists of the galaxy component, →αgal(→θ), scaled by a factor Kgal, the cluster DM component →αDM(→θ), scaled by (1-Kgal), and the external shear component →αex(→θ):
→αT(→θ)=Kgal→αgal(→θ)+(1−Kgal)→αDM(→θ)+→αex(→θ), (1)
where the deflection field at position →θm due to the external shear, →αex(→θm)=(αex,x,αex,y), is given by:
αex,x(→θm)=|γ|cos(2ϕγ)Δxm+|γ|sin(2ϕγ)Δym, (2)
αex,y(→θm)=|γ|sin(2ϕγ)Δxm−|γ|cos(2ϕγ)Δym, (3)
where (Δxm,Δym) is the displacement vector of the position →θm with respect to a fiducial reference position, which we take as the lower-left pixel position (1,1), and ϕγ is the position angle of the spin-2 external gravitational shear measured anti-clockwise from the x-axis. The normalisation of the model and the relative scaling of the smooth DM component versus the galaxy contribution brings the total number of free parameters in the model to 6. This approach to SL is sufficient to accurately predict the locations and internal structure of multiple images, since in practice the number of multiple images uncovered readily exceeds the number of free parameters thus fully constraining them.
Figure 3: Galaxy cluster MS 1358 (z=0.33) imaged with Hubble/ACS. We number the multiply-lensed images used and uncovered in this work. The overlaid white critical curve corresponds to system 1, the red drop-out galaxy at zs=4.92 (found by Franx et al. 1997), enclosing a critical area of an effective Einstein radius of ≃100 kpc at the redshift of this cluster. Interior to this, the blue critical curves correspond to systems 3,4,5, at a lower redshift of zs∼2. Additional less secure candidate systems (marked with "c") have similar appearance but are not well reproduced by our best fit solution, and were not used to constrain the model. We also show the approximate location of two unverified candidate zs∼7.5 multiple-systems, marked with "z" (Richard et al. 2008). These were not used to constrain the model but their locations and claimed high redshift are plausible in the context of our model, see §4.1.
In addition, two of the six free parameters can be primarily set to reasonable values so only 4 of these parameters have to be constrained initially, which sets a very reliable starting-point using obvious systems. The mass distribution is therefore primarily well constrained, uncovering many multiple-images which can then be iteratively incorporated into the model, by using their redshift estimation and location in the image-plane.
Firstly we use this preliminary model to lens the more obvious lensed galaxies back to the source plane by subtracting the derived deflection field, and then relens the source plane to predict the detailed appearance and location of additional counter images, which may then be identified in the data by morphology, internal structure and colour. We stress that multiple images found this way must be accurately reproduced by our model and are not simply eyeball "candidates" requiring redshift verification. The best fit is assessed by the minimum RMS uncertainty in the image plane:
RMS2images=∑i((x′i−xi)2+(y′i−yi)2) / Nimages, (4)
where x′i and y′i are the locations given by the model, and xi and yi are the real image locations, and the sum is over all Nimages images. The best-fit solution is unique in this context, and the model uncertainty is determined by the location of predicted images in the image plane. Importantly, this image-plane minimisation does not suffer from the well known bias involved with source plane minimisation, where solutions are biased by minimal scatter towards shallow mass profiles with correspondingly higher magnification.
The model is successively refined as additional sets of multiple images are incorporated to improve the fit, importantly using also their redshift information for better constraining the mass slope through the cosmological relation of the dls/ds growth.
In order to examine our results, we also apply the adaptive-grid, non-parametric modelling method of Liesenborgs et al. (2006, 2007, 2009), which makes no prior assumptions regarding the mass distribution. In a recent work, we have made a more thorough comparison of these methods by analysing the well studied cluster Abell 1703 (Zitrin et al. 2010b). We showed that the results of these two distinct approaches are very similar when sufficient data constraints are available. The effective area modelled with the non-parametric technique is limited to roughly the critical area, beyond which there are very few multiple-images that can be used to reliably constrain the fit. Some discrepancy may be expected with regards to the mass distribution between the two methods, especially when not enough constraints are available. However, aside from minor local trade-offs originating in the mass-sheet degeneracy or in the inclusion of cluster members, the overall profile can be expected to be similar in order to maintain the cosmological lensing-distance ratio of the various systems.
4 Results and Discussion
4.1 Multiple-Images, Mass Model and Critical Curves
ARC RA DEC Min zphot Max zphot Best zphot zmodel Comment
ID (J2000.0) (J2000.0) (95% C.L.) (95% C.L.)
1.1 13:59:48.689 +62:30:48.00 – – 4.92 4.92 spec-z
1.2 13:59:49.239 +62:30:45.30 – – 4.92 " "
2.1 13:59:50.454 +62:31:28.83 0.25 3.93 3.42 3.4±0.3 Bimodal
2.2 13:59:51.949 +62:31:28.20 0.18 3.48 0.53 " Bimodal
3.1 13:59:51.097 +62:31:14.73 – – – 1.9±0.2 zphot NA
3.2 13:59:52.333 +62:31:11.30 1.68 2.39 2.04 "
4.1 13:59:50.729 +62:31:17.28 1.82 2.59 2.22 2.1±0.2
7.1 13:59:50.897 +62:30:27.83 – – – ∼1.8 zphot NA
8.1 13:59:50.087 +62:30:44.59 1.76 2.50 2.13 2.15±0.2
c1a 13:59:50.252 +62:31:27.06 1.77 2.51 2.14 ∼3.2
c1b 13:59:51.952 +62:31:26.86 1.67 2.39 2.03 ∼3.2
c1c 13:59:47.656 +62:31:18.25 1.68 2.40 2.04 —
c2a 13:59:50.354 +62:31:24.84 0.73 5.53 4.84 ∼4−5 Bimodal
c2b 13:59:52.638 +62:31:24.04 0.57 4.81 0.78 " Bimodal
c2c 13:59:53.585 +62:31:19.68 – – – " Similarly red
c2d 13:59:52.644 +62:31:20.19 – – – " Similarly red
Table 1: Multiple-image systems and candidates used and uncovered by our model. For more detailed information on each system and other optional members see the corresponding subsection. The columns are: arc ID; RA and DEC in J2000.0; 95% confidence level minimal and maximal photo-z; best photo-z; zmodel, the redshift predicted by the mass model; comments. Note that system 1 was uncovered by Franx et al. (1997) who measured their redshift spectroscopically, which is the value given below. Note also that unusually large errors in the photo-z imply a bimodal distribution. In such cases the values which agree with the SL model can be different than specified in the best photo-z column, as they arise from another peak in the distribution. Such cases are specified in the comments.
In addition to the four previously-known lensed images of the zs=4.92 dropout galaxy (Franx et al. 1997), our modelling technique has uncovered 19 new multiply-lensed images in the central field of MS 1358, belonging to 7 new systems. We have made use of the location and photometric redshift information of these images to fully constrain the mass model. We find that the critical curves for a source at zs=4.92 (system 1) enclose an area with an effective Einstein radius of rE=21±3\arcsec, or ≃100 kpc at the redshift of the cluster. This critical curve we find (see Figure 3) encloses a projected mass of M≃6.1±0.8×1013M⊙. For a source redshift of zs≃2 the effective Einstein radius is rE=13±2\arcsec, enclosing a projected mass of M≃2.7±0.2×1013M⊙ around the BCG. For general comparison, this is in very good agreement with the Einstein radius-mass scaling relation for a source at zs≃2, found in Zitrin et al. 2010a (taking into account also the different lens distances; see Figure 27 therein). The corresponding critical curves are plotted on the cluster image in Figure 3 along with the multiply-lensed systems. The resulting mass distribution and its profile are shown in Figures 4 and 5.
Note that another small critical curve is formed around the group of bright cluster galaxies ∼1\arcmin to the south, whose prominence is hard to determine due to lack of multiple-images at that region. We note that if this southern clump is somewhat more massive than presented here, the critical curves may merge with the central main critical curves to form a larger more elongated critical region. This however does not seem probable as only few arcs are seen in between, and thus rule out the existence of such an extended critical curve.
Several mass models have been created in earlier work, describing the critical curves and mass distribution based only on system 1 (z=4.92). Franx et al. (1997) used isothermal potentials with which they were able to reconstruct the images of this system. They find an Einstein radius of 21\arcsec, similar to our result. Allen (1998) has calculated a total mass of 8.27×1013M⊙ with 20% uncertainty, within a radius of 121 kpc (25.5\arcsec), in good agreement with our result considering the Einstein radius difference. Other mass models made for this cluster based on projected WL profiles and circular symmetry, derive similar or slightly smaller values (see Diaferio, Geller & Rines 2005, e.g., Hoekstra et al. 1998, 2007, Arabadjis, Bautz & Garmire 2002, Takahashi & Chiba 2007).
It should be stressed that the multiple-images found here are accurately reproduced by our model and are not simple identifications by eye. The parametric method of Zitrin et al. (2009b) has been shown in many cases to have the predictive power to find multiple images in clusters. Due to the small number of parameters this model is initially well-constrained enabling a reliable identification of other multiple-images in the field, which are then used to fine-tune the mass model. We now detail each multiply-lensed system in turn, as listed in Table 1:
System 1: A high-redshift dropout galaxy at zs=4.92. The four images of this multiply-lensed source were found by Franx et al. (1997) who also measured its redshift. Two of the multiple-images of this system (1.1/1.2), form a prominent red fold-arc about ∼21\arcsec south-west of the BCG, next to another bright cluster member (see Figure 3). Image 1.3 is a smaller image on the other side of that cluster member, and image 1.4 is ∼29\arcsec east of the BCG. These images are well reproduced by our model, as seen in Figure 6. According to our model, the angular area of the source is ≃0.1\sq\arcsec (see Figure 7), and is therefore magnified about a 100 times in area, summed over all four images which in total subtend ≃10\sq\arcsec in the image-plane (see also §4.2).
System 2: A long faint arc ∼21\arcsec north of the BCG, next to a bright cluster member. Our model reproduces this arc accurately at a redshift of zs≃3.4, similar to the photometric redshift of image 2.1. The photometric redshift of image 2.2 is double peaked, with peaks around 0.5 and 3.4, the latter in agreement with our model. In addition, the clearly lensed arc lies away from the BCG and should have a relative high redshift in order to be lensed, further strengthening our match. Another similar looking candidate is seen to the right of image "c1c" (see Figure 3), but as can be seen the critical curves do not pass between these images and thus this third candidate is not probable in the context of our model.
Systems 3,4,and 5: These three systems consist of typical blue and white arclets seen in large amounts in lensing clusters. Systems 3-5 follow a similar symmetry, as can been seen in Figure 3. One image of each system appears ∼10\arcsec north of the BCG, the second image appears ∼15\arcsec east of the BCG and the third image ∼20\arcsec to its west. These three systems have similar typical photometric redshifts of z≃2 (see Table 1), and due to their close vicinity and similar appearance were hard to match accurately, especially in the case of the third images to the west. We therefore note that there can be an irrelevant mix-up with regards to the third image of each of these three systems, but since the distances between them are small this does not affect the resulting mass model. In addition, due to a minor, northwards offset in the image-plane reproduction of images 4.3 and 5.3, we acknowledge the possibility that there are other similar-looking spots which may correspond to these systems, but have a negligible effect on the mass model.
System 6: Two blue faint images with mirror symmetry lying on two sides of the critical curve for a source at z≃1.8 by our model. Their photometric redshifts are ≃2.0±0.4 and ≃1.77+0.5−0.4, respectively, where the first may be affected by a nearby galaxy light. Our model predicts the extra small and faint spec on the other side of the cluster about ∼20\arcsec south-west of the BCG, as identified in the data.
System 7: Two greenish small images on two sides of a bright galaxy. These lack photometric redshifts due to the vicinity of the galaxy, and our model reproduces them accurately at z≃1.8.
System 8: Three blue and white relatively bright images of a z≃2.1 galaxy, following similar symmetry as system 1. Our model reproduces these images very well at this redshift, as seen in Figure 8. Note in Figure 1 the highly magnified region near the location of image 8.1, which explains its larger appearance relatively to images 8.2 and 8.3.
Other candidate systems and image identification uncertainty: A similar symmetry to that systems 2-5 follow, can be expected in the northern region of the cluster between the BCG and system 2. Moreover, several images in the west side of the cluster (marked in Figure 1) resemble their corresponding image candidate near system 2, and have reasonably similar photo-z's. However, according to our model these candidate systems are not being lensed in full or in their expected photometric redshifts and we therefore exclude them from our secure identification.
System "c1" consists of two bright blue-white arclets which seem to have mirror symmetry ("c1a" and "c1b"), and an additional similar looking arclet, "c1c", ∼10\arcsec south-west of them. These have a photometric estimate of zs≃2 and as can be seen in Figure 1 are north of the critical curve for a such a source, so that they are not lensed by our model. This may be artificially overcome if one boosts the mass obtained by the nearby galaxy, but then system 2 would not correspond to its zs≃3.4 photometric redshift. In addition, both this system, and system 2, have candidates to the west, which are not generated by our model, since there is no extra apparent mass nor galaxies between these locations, so the critical curve does not pass between them. One can significantly boost the nearby galaxies to create a mass lump which might produce images at that region; however, it should be noted that such actions are rarely justified and have not been critically required in any of the many clusters we have analysed to date. We conclude that despite the similar appearance this system is not probable in the context of our model.
System "c2" is a much more probable candidate consisting of four red drop-out arclets. Our model reproduces and therefore identifies arcs "c2c" and "c2d" as the same system in any redshift in the range 3 to 5. Arcs "c2a" and "c2b" are obtained as part of this system only in redshifts higher than ∼4.5, corresponding to the photometric redshift of arcs "c2a" and "c2b", of ∼4.5. Still, we decided not to include it as a secure system since the redshift agreement is marginal and the distance in the image-plane reproduction of arcs "c2a" and "c2b" (from their observed location) is larger than our typical uncertainty.
Systems "z1" and "z2" are multiple-images of zs∼7.5 dropout candidates, claimed as possibilities by Richard et al. (2008). In Figure 3 we mark their approximate locations generated by our model (see Figure 12 in Richard et al. 2008). We did not use these candidate images to constrain the model, but verified that they are plausible high-z objects in the context of our model (for zcl=0.33 the lensing-distance of sources at zs∼7.5 is only ≃2% bigger than the lensing distance of the zs=4.92 galaxy, so that redshifts throughout that range are plausible in that context).
Figure 4: 2D surface mass distribution (κ), in units of the critical density (for zs=4.92), of MS 1358. Contours are shown in linear units, derived from our mass model constrained using the many sets of multiply-lensed images seen in Figure 3. Axes are in ACS pixels (0.05\arcsec/pixel), and a 20\arcsec bar is overplotted.
Figure 5: Radial surface mass density (κ) profile in units of the critical surface density (for a fiducial redshift of zs=4.92), derived using the sets of multiple images shown in Figure 3. The cyan shaded curve is derived by our modelling method (Zitrin et al. 2009b), while the dashed black lines are derived using the non-parametric technique of Liesenborgs et al. (2006). As can be seen, the profiles agree very well in the region of interest, and are rather flat. We measure a profile slope of only dlogΣ/dlogθ≃−0.19±0.05 within the effective Einstein radius for system 1 (rE=21±3; ≃100 kpc; marked with a vertical black line), increasing to dlogΣ/dlogθ≃−0.33±0.05 within twice the critical range, ≃200 kpc. Note that the inner profiles are at a level close to the critical density (±0.25) for system 1. For comparison, overplotted with blue dash-dotted lines are kappa profiles for three other well-known clusters: Abell 1703, Cl 0024, and Abell 1689, after correcting for the different lens distances. These were slightly shifted upwards on the y-axis to allow a clean view and to better demonstrate the slope difference of MS 1358 from these typical lensing clusters which exhibit a common mass slope of dlogΣ/dlogθ∼−0.5.
Figure 6: Reproduction of system 1 by our model, by delensing image 1.1 into the source plane, and then relensing the source plane pixels onto the image plane. Our model clearly reproduces very accurately the second half of the arc, 1.2, and the internal structure of other images in this system including the prominent internal HII regions within the source.
Figure 7: Reproduction of the zs=4.92 source galaxy by our model, using the RIZ images. The image is reproduced by delensing arc 1.1/1.2 into a high-resolution source-plane chosen to accommodate the high magnification at its location. Two blue lower-redshift objects got delensed to the source plane in the procedure. Note that the source shape is very similar to that found in Swinbank et al. (2009), though due to the magnification difference it is smaller by a factor of about 4, and seem less internally stretched. The color-coding was slightly modified to obtain a better view of the internal details, and some noise was removed from the edges of the image.
Figure 8: Reproduction of system 8 by our model, by delensing image 8.1 into the source plane, and then relensing the source plane pixels onto the image plane. Our model clearly reproduces very accurately the other images in this system. The clear size difference of image 8.1 compared with images 8.2 and 8.3 (zoomed-in here for better view) is another indication of the high local magnification in that region.
4.2 Mass Profile and High Magnification
We mentioned in the preceding sections that the profile can only be accurately constrained by incorporating the cosmological redshift-distance relation, i.e., the lensing distance of each system based on the measured spectroscopic or photometric redshifts. In so doing we normalise our mass model to system 1, so that the normalised scaling factor, f(dls/ds), is equal to 1. We then make use of the lower-z systems, in particular the z≃2 systems (number 3,4,5 and 8) and the z≃3.4 system (number 2), whose photometric redshifts we find most credible to constrain the profile.
We examine how well the cosmological relation is reproduced by our model, accounting for all systems with photo-z's, as shown in Figure 9. Clearly the redshifts of these systems verify very well that the predicted deflection of the best fitting model at the redshift of each of these systems, lies accurately along the expected cosmological relation, with a mean deviation of only Δf<0.01 (see Figure 9), and χ2≃0.1 for the best model, considerably strengthening the plausibility of our approach to modelling in general.
We find that unlike other well-known lensing clusters such as Abell 1689, Abell 1703 or Cl0024+17, which all have a typical profile slope of dlogΣ/dlogθ≃−0.5 (see Broadhurst et al. 2005a, Zitrin et al. 2009b, 2010b), MS 1358 has a relatively shallow profile slope of only dlogΣ/dlogθ≃−0.19±0.05 in its main critical region of ∼[3″,21″], increasing to dlogΣ/dlogθ≃−0.33±0.05 in twice the critical region ∼[3″,42″] (≃200 kpc), as can be seen in Figure 5. We compare our profile with the profile derived by the assumption-free method of Liesenborgs et al. (2006), overplotted as well in Figure 5. As can be seen the profiles are similarly shallow and in good agreement with each other. This may be expected, since the profile must be adjusted to maintain the lensing-distance ratio for each lensed system, manifesting the importance of the images found in this work for constraining the mass profile of this cluster.
The shallow profile results in high magnification, as kappa is close to unity over a wide central area and thus the magnification is boosted. This phenomenon we have revealed recently in another even shallower profile cluster, MACS 1149.5+2223 (Zitrin & Broadhurst 2009) which hugely magnifies a distant spiral galaxy by a factor of ∼200× creating the largest lensed images known, as the slope is even shallower in this case related to the unrelaxed nature of that cluster. Another work based on spectroscopic redshifts claims a somewhat more moderate slope of up to dlogΣ/dlogθ≃−0.3 for MACS 1149.5+2223 (Smith et al. 2009) but still significantly lower than typically found in other rich lensing clusters. In MS 1358 the high magnification is inferred by the distribution of multiple-images and their redshifts, and can account for the large bright images of system 1, at zs=4.92 (see Figure 3). We find that the source galaxy is magnified ∼80× into arcs 1.1/1.2, and about 5×−15× into each of arcs 1.3 and 1.4, so that the source is magnified in total about a 100 times, and is therefore one of the most highly-magnified distant objects known.
The magnification values are hard to determine precisely since the magnification is a very sensitive function of the local mass gradient so that in practice shallower models yield much higher magnifications. For example, Franx et al. (1997), have used isothermal potentials to find a magnification of ×5−×11 at the eastern part of the bigger arc (image 1.2 here), and Swinbank et al. (2009; see also Richard et al. 2008) have found a revised "luminosity-weighted" magnification of ≃12.5, while we find in that region an average magnification of ∼×25−×50. It is well understood now by most practitioners that the mass profile cannot be appropriately constrained when too few multiple-images are used, or when they span only a narrow redshift range. Here, our identification of many multiple-images spread over a wide range of redshifts allows for the first time an accurate determination of the profile slope of MS 1358, revealing the rather shallow central mass profile.
Figure 9: Growth of the scaling factor f(dls/ds) as a function of redshift, normalised so f=1 at z=4.92. Plotted lines are the expected ratio from the chosen specified cosmological model. The circles correspond to the multiple-image systems reproduced by the parametric mass model, versus their real photometric redshift. The data follow very well the relation predicted by the standard cosmological model (mean deviation of only Δf<0.01, and χ2≃0.1 for this fit). We take an average photo-z for each system, where there is an estimation difference between the same images of the same system.
4.3 Luminosity of the z=4.92 Source
Due to the large difference in magnification with models published earlier (Franx et al. 1997, Swinbank et al. 2009), and due to the importance of the object at zs=4.92, we calculate our corrections to the original z=4.92 source luminosity. Firstly, we simply divide the bolometric luminosity published by Franx et al., ∼3×1011L⊙, by the approximate magnification ratio of the two mass models, to obtain a corrected source bolometric luminosity of ∼6×1010L⊙. Independently, we find that the source AB magnitude is I814,AB=25.67 and I775,AB=25.76 (after accounting for the magnification), significantly fainter than I814,AB=24.0 or I775,AB=24.94, as published by Franx et al. and Swinbank et al., respectively. We then use eq. 2 of Bouwens et al. (2009a) to convert the corrected bolometric luminosity into an absolute magnitude in the rest-frame UV. This relation is known to hold from z∼2.5 to at least z∼4, and is expected to be approximately valid also at z=4.92. Following our model, the absolute magnitude of the source is M∗UV,AB≃−19.5, ∼4 times a more common value for objects at z∼5 according to up-to-date high-z luminosity functions (e.g., Bouwens et al. 2007, van der Burg, Hildebrandt & Erben 2010).
4.4 Mass-To-Light Ratio
We calculate here the central Mass-To-Light ratio using the Luminous Red Galaxies (LRG) template described in Benítez et al. (2009) to convert fluxes into luminosities, and measure an M/LB ratio of ≃160±30 (M/L)⊙ within the critical curves for zs=4.92 (see Figure 3). We compare this value to the M/L versus Einstein radius relation found in Zitrin et al. (2010a) for a sample of 12 clusters. After correcting for the difference in the lens redshift, this value tightly follows the relation they presented (see Figure 28 therein), which predicts a similar ratio.
We may also examine in detail the M/L of the luminous elliptical galaxy which splits the images of the zs=4.92 galaxy arcs 1.1/1.2 and 1.3 (visible in Figure 3; RA=13:59:49.47 DEC= +62:30:47.55). According to our model this cluster member has a mass of 1.45+0.30−0.40×1011M⊙ within a radius of 3\arcsec (∼14 kpc), after subtracting the cluster smooth DM component. We compare this result with the mass inferred by the virial theorem through the velocity dispersion, and in the same aperture. For example, Kelson et al. (2000a,b, 2006) measured a velocity dispersion of σ∼220 km/s for this galaxy, which corresponds to ∼1.6×1011M⊙ within 3\arcsec, in fair agreement with our result (we note however that a smaller galaxy may be hidden in this bright elliptical light, slightly affecting the comparison). The light enclosed within 3\arcsec is ∼6×1010L⊙, which yields a small M/LB ratio of ∼3 (M/L)⊙, close to the purely stellar value indicating no significant DM out to ∼14 kpc. The effective radius of this galaxy was found to be ≃1\arcsec (4.75 kpc; Kelson et al. 2000a,b, 2006) so that in practice we measure in a radius bigger three times than the effective radius, where the DM should be dominant. However, a lower M/LB ratio is not surprising, because we subtracted the cluster DM component from our mass measurement, and the halo of this galaxy should already be stripped by the significant tidal forces in the central cluster region (if not earlier during the hierarchical evolution of the cluster through mergers of subclumps). It is known that about 70% of the DM is stripped from central galaxies also in simulations of massive clusters (e.g., Nagai & Kravtsov 2005).
In this work we have presented a detailed lensing analysis of the galaxy cluster MS 1358 in HST/ACS images. Our well-established modelling method (Broadhurst et al. 2005a, Zitrin et al. 2009b, Zitrin et al. 2010a,b) has revealed the rather shallow mass distribution of the central region by uncovering 19 multiply-lensed images which eluded previous detection, so that in total 23 images of 8 different sources were used to fully constrain the fit. Though more lensed candidates might be found in this field with further careful effort, our minimalistic approach to lensing involves only 6 free parameters so that the resulting model is clearly fully constrained by these multiple images. In addition we have uncovered several other lensed candidates, for which it would be interesting to obtain spectroscopic redshifts (as well as to the systems identification presented here) in order to further establish the results of this work.
The photometric redshifts of the newly found arcs throughout the central region enable the determination of the inner mass profile of MS 1358, through the cosmological lensing-distance ratio, and imply a shallow mass distribution manifested also in our modelling iterations so that models spanning almost the full parameter space yield similar shallow mass profiles with typical slopes of dlogΣ/dlogθ≃−0.3±0.1 (r<200 kpc). We further tested our results with a non-parametric adaptive-grid method (Liesenborgs et al. 2006, 2007, 2009), which yields a similarly shallow profile hence strengthening the conclusions of this work. A shallow mass distribution translates into a boosted magnification in the central region so that the z=4.92 source galaxy is magnified in total ∼100 times, and is therefore one of the more highly-magnified, distant objects known.
Our magnification values for this system are higher by a factor of ∼5 than previous estimates (e.g., Franx et al. 1997, Swinbank et al. 2009) based on models constrained only by the z=4.92 system. Hence the source size, bolometric luminosity, and star-formation rate are correspondingly ∼5× smaller, more typical of faint field galaxies based on current high-z luminosity functions (e.g., Bouwens et al. 2007, van der Burg, Hildebrandt & Erben 2010), and with a physical scale of a dwarf galaxy of radius ≃1 kpc. A detailed image of the interior morphology of the source is generated by delensing the most magnified image (1.1/1.2), resulting in a high effective resolution of only 50 pc, thanks to the high magnification and to the declining angular diameter distance above z≃1.5 for the standard cosmology, so that this image apparently represents the best resolved object known at high redshift.
This research is being supported by the Israel Science Foundation, and encouraged further by the TAU school of physics and astronomy scholarship for research excellency. AZ acknowledges Eran Ofek and Salman Rogers for their publicly available Matlab scripts. We thank Daniel Kelson for useful information. ACS was developed under NASA contract NAS 5-32865. Results are based on observations made with the NASA/ESA Hubble Space Telescope, obtained from the data archive at the Space Telescope Science Institute. STScI is operated by the Association of Universities for Research in Astronomy, Inc. under NASA contract NAS 5-26555.
[] Allen, S.W., 1998, MNRAS, 296, 392
[] Arabadjis, J.S., Bautz, M.W. & Garmire, G.P., 2002, ApJ, 572, 66
[] Benítez, N., 2000, ApJ, 536, 571
[] Benítez, N., et al., 2004, ApJS, 150, 1
[] Benítez, N., et al., 2009, ApJ, 691, 241
[] Bertin, E. & Arnouts, S., 1996, A&AS, 117, 393
[] Blakeslee, J.P., Anderson, K.R., Meurer, G.R., Benítez, N., Magee, D., 2003, in Astronomical Society of the Pacific Conference Series, Vol. 295, Astronomical Data Analysis Software and Systems XII, ed. H. E. Payne, 257
[] Böhringer, H.; et al., 2000, ApJS, 129, 435
[] Borgani, S., Girardi, M., Carlberg, R.G., Yee, H.K.C., Ellingson, E., 1999, ApJ, 527, 561
[] Bouwens, R.J., et al., 2004, ApJ, 616, 79
[] Bouwens, R.J., Illingworth, G.D., Franx, M., Ford, H., 2007, ApJ, 670, 928
[] Bouwens, R.J., et al., 2009a, ApJ, 705, 936
[] Bouwens, R.J., et al., 2009b, ApJ, 690, 1764
[] Bouwens, R.J., et al., 2010, ApJ, 709L, 133
[] Bradley, L. D., et al., 2008, ApJ, 678, 647
[] Broadhurst, T., et al. 2005a, ApJ, 621, 53
[] Broadhurst, T., Takada, M., Umetsu, K., Kong, X., Arimoto, N., Chiba, M., Futamase, T., 2005b, ApJ, 619, 143
[] Broadhurst, T, Umetsu, K, Medezinski, E., Oguri,M., Rephaeli, Y., 2008, ApJ 685, L9
[] Brown, T.M., Ferguson, H.C., Smith, E., Bowers, C.W., Kimble, R.A., Renzini, A., Rich, R.M., 2003, ApJ, 584L, 69
[] Cagnoni, I., della Ceca, R., Maccacaro, T., 1998, ApJ, 493, 54
[] Carlberg, R.G., Yee, H.K.C., Ellingson, E., Abraham, R., Gravel, P., Morris, S., Pritchet, C. J., 1996, ApJ, 462, 32
[] Coe, D., Benítez, N., Sánchez, S. F., Jee, M., Bouwens, R., Ford, H., 2006, AJ, 132, 926
[] Coe, D., Benítez, N., Broadhurst, T., Moustakas, L., Ford, H., 2010, arXiv:1005.0398
[] Cooray, A.R., Grego, L., Holzapfel, W.L., Joy, M., Carlstrom, J.E., 1998, AJ, 115, 1388
[] Diaferio, A., Geller, M.J. & Rines, K.J., 2005, ApJ, 628L, 97
[] Dekel, A. & Silk, J., 1986, ApJ, 303, 39
[] Egami, E., et al., 2006, ApJ, 647, 922
[] Elíasdóttir, Á., et al., 2007, arXiv:0710.5636
[] Ettori, S. & Fabian, A. C., 1999, MNRAS, 305, 834
[] Fabricant, D., Franx, M. & van Dokkum, P., 2000, ApJ, 539, 577
[] Fabricant, D.G., McClintock, J.E. & Bautz, M.W., 1991, ApJ, 381, 33
[] Ferreras, I. & Silk, J., 2000, ApJ, 532, 193
[] Fisher, D., Fabricant, D., Franx, M., van Dokkum, P., 1998, ApJ, 498, 195
[] Ford, H.C., et al. 2003, in Presented at the Society of Photo-Optical Instrumentation Engineers (SPIE) Conference, Vol. 4854, Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, ed. J.C. Blades & O.H.W. Siegmund, 81 94
[] Franx, M., Illingworth, G.D., Kelson, D.D., van Dokkum, P.G. & Tran, K., 1997, ApJ, 486, 75
[] Frye, B. & Broadhurst, T., 1998, ApJ, 499, 115
[] Frye, B., Broadhurst, T., & Benítez, N., 2002, ApJ, 568, 558
[] Gavazzi, R., Fort, B., Mellier, Y., Pello, R., Dantel-Fort, M., 2003, A&A, 403, 11
[] Gioia, I.M., Maccacaro, T., Schild, R.E., Wolter, A., Stocke, J.T., Morris, S.L., Henry, J.P., 1990, ApJS, 72, 567
[] Hattori, M., Watanabe, K., Yamashita, K., 1997, A&A, 319, 764
[] Heckman, T.M., Armus, L., Miley, G.K., 1990, ApJS, 74, 833
[] Henry, J.P., 2000, ApJ, 534, 565
[] Henry, J.P., Gioia, I.M., Maccacaro, T., Morris, S.L., Stocke, J.T., Wolter, A., 1992, ApJ, 386, 408
[] Hoekstra, H., 2007, MNRAS, 379, 317
[] Hoekstra, H., Franx, M., Kuijken, K., Squires, G., 1998, ApJ, 504, 636
[] Holden, B.P., et al., 2007, ApJ, 670, 190
[] Jee M.J., et al., 2007, ApJ, 661, 728
[] Kelson, D.D., Illingworth, G.D., van Dokkum, P.G., Franx, M., 2000a, ApJ, 531, 137
[] Kelson, D.D., Illingworth, G.D., van Dokkum, P.G., Franx, M., 2000b, ApJ, 531, 159
[] Kelson, D.D., Illingworth, G.D., Franx, M., van Dokkum, P.G., 2006, ApJ, 653, 159
[] Kelson, D.D., van Dokkum, P.G., Franx, M., Illingworth, G.D., Fabricant, D., 1997, ApJ, 478L, 13
[] Kneib, J.-P., Ellis, R.S., Santos, M.R., Richard, J., 2004, ApJ, 607, 697
[] Kochanek, C.S., et al., 2000, ApJ, 543, 131
[] LaRoque, S.J., Bonamente, M., Carlstrom, J.E., Joy, M.K., Nagai, D., Reese, E.D., Dawson, K.S., 2006, ApJ, 652, 917
[] Le Fèvre, O., Hammer, F., Angonin, M.C., Gioia, I.M., Luppino, G.A., 1994, ApJ, 422L, 5
[] Lemze, D., Rephaeli, Y., Barkana, R., Broadhurst, T., Wagner, R., Norman, M.L., 2010, arXiv:1008.2758
[] Liesenborgs, J., De Rijcke, S., Dejonghe, H., 2006, MNRAS, 367, 1209
[] Liesenborgs, J., De Rijcke, S., Dejonghe, H., Bekaert, P., 2007, MNRAS, 380, 1729
[] Liesenborgs, J., De Rijcke, S., Dejonghe, H., Bekaert, P., 2009, MNRAS, 397, 341
[] Limousin, M., et al., 2008, A&A, 489, 23
[] Luppino, G.A., Cooke, B.A., McHardy, I.M., Ricker, G.R., 1991, AJ, 102, 1
[] Luppino, G.A., Gioia, I.M., Hammer, F., Le Fèvre, O., Annis, J.A., 1999, A&AS, 136, 117
[] McCarthy, I.G., Holder, G.P., Babul, A., Balogh, M.L., 2003, ApJ, 591, 526
[] Medezinski, E., Broadhurst, T., Umetsu, K., Oguri, M., Rephaeli, Y., Benítez, N., 2010, MNRAS, 405, 257
[] Meneghetti, M., Rasia, E., Merten, J., Bellagamba, F., Ettori, S., Mazzotta, P., Dolag, K., 2010, arXiv:0912.1343
[] Molikawa, K., Hattori, M., Kneib, J.-P., Yamashita, K., 1999, A&A, 351, 413
[] Morandi, A., Ettori, S. & Moscardini, L., 2007, MNRAS, 379, 518
[] Mushotzky, R.F. & Scharf, C.A., 1997, ApJ, 482L, 13
[] Nagai, D. & Kravtsov, A.V., 2005, ApJ, 618, 557
[] Newman, A.B., et al., 2009, ApJ, 706, 1078
[] Nichol, R.C., Holden, B.P., Romer, A.K., Ulmer, M.P., Burke, D.J., Collins, C.A., 1997, ApJ, 481, 644
[] Oguri, M., Lee, J. & Suto, Y., 2003, ApJ, 599, 7
[] Okabe, N., Takada, M., Umetsu, K., Futamase, T., Smith, G.P., 2009, arXiv:0903.1103
[] Poggianti, B.M. & Barbaro, G., 1996, A&A, 314, 379
[] Postman, M., et al., 2005, ApJ, 623, 721
[] Richard, J., Pei, L., Limousin, M., Jullo, E., Kneib, J.P., 2009, A&A, 498, 37
[] Sand, D.J., Treu, T., Ellis, R.S., Smith, G.P., 2005, ApJ, 627, 32
[] Scannapieco, E. & Broadhurst, T., 2001, ApJ, 549, 28
[] Stark, D.P., Ellis, R.S., Richard, J., Kneib, J.-P., Smith, G.P., Santos, M.R., 2007, ApJ, 663, 10
[] Stocke, J.T., Morris, S.L., Gioia, I.M., Maccacaro, T., Schild, R., Wolter, A., Fleming, T.A., Henry, J.P., 1991, ApJS, 76, 813
[] Swinbank, A.M., et al., 2009, MNRAS, 400, 1121
[] Takahashi, R. & Chiba, T., 2007 ,ApJ, 671, 45
[] Tran, K.-V.H., Simard, L., Illingworth, G., Franx, M., 2003, ApJ, 590, 238
[] Umetsu, K., Medezinski, E., Broadhurst, T., Zitrin, A., Okabe, N., Hsieh, B.C., Molnar, S.M., 2010, ApJ, 714, 1470
[] van der Burg, R.F.J., Hildebrandt, H., Erben, T., 2010, arXiv:1009.0758
[] van Dokkum, P.G., Franx, M., Kelson, D.D., Illingworth, G.D., Fisher, D., Fabricant, D., 1998, ApJ, 500, 714
[] Wambsganss, J., Bode, P., Ostriker, J.P., 2004, ApJ, 606L, 93
[] Williams, L.L.R., Navarro, J.F., Bartelmann, M., 1999, ApJ, 527, 535
[] Wu, X.-P., 2000, MNRAS, 316, 299
[] Yee, H.K.C., Ellingson, E., Morris, S.L., Abraham, R.G., Carlberg, R.G., 1998, ApJS, 116, 211
[] Zheng, W., et al., 2009, ApJ, 697, 1907
[] Zitrin, A. & Broadhurst, T., 2009, ApJ, 703L, 132
[] Zitrin, A., Broadhurst, T., Rephaeli, Y., Sadeh, S., 2009a, ApJ, 707L, 102
[] Zitrin, A., et al., 2009b, MNRAS, 396, 1985
[] Zitrin, A., Broadhurst, T., Barkana, R., Rephaeli, Y., Benítez, N., 2010a, arXiv:1002.0521, MNRAS in press
[] Zitrin, A., et al., 2010b, arXiv:1004.4660, MNRAS in press
[] Zwicky, F. & Herzog, E., 1968, Catalogue of Galaxies and Clusters of Galaxies (Pasadena: Caltech)
Request Comment
You are adding the first comment!
How to quickly get a good reply:
Give credit where it's due by listing out the positive aspects of a paper before getting into which changes should be made.
Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
Your comment should inspire ideas to flow and help the author improves the paper.
The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Question page
This is a comment super asjknd jkasnjk adsnkj
Unpublish
The feedback must be of minumum 40 characters
Join GroundAI
By signing up you accept our content policy
No a member yet? Create an account
or Invite via email
or Search users
You are asking your first question!
How to quickly get a good answer:
Keep your question short and to the point
Check for grammar or spelling errors.
Phrase it like a question


text:
typedef enum {
	YRSHELL_INVALID_STATE = 0,
    YRSHELL_NOT_INITIALIZED = 1,
    YRSHELL_BEGINNING,
    YRSHELL_INRESET,
    YRSHELL_BEGIN_IDLE,
    YRSHELL_IDLE,
    YRSHELL_FILLING_PAD,
    YRSHELL_FILLING_AUXPAD,
    YRSHELL_BEGIN_PARSING,
    YRSHELL_PARSING,
    YRSHELL_COMPILING,
    YRSHELL_EXECUTING,
    YRSHELL_WAIT_FOR_OUTPUT_SPACE,
    YRSHELL_WAIT_DELAY,
    YRSHELL_OUTPUT,
    YRSHELL_OUTPUT_STR,
    YRSHELL_LAST_INVALID_STATE
} YRShellState;

#define YRSHELL_DEBUG_NONE    0x0000
#define YRSHELL_DEBUG_STATE   0x0001
#define YRSHELL_DEBUG_INPUT   0x0002
#define YRSHELL_DEBUG_TOKEN   0x0004
#define YRSHELL_DEBUG_EXECUTE 0x0008

// these defines and the order are critical, algorithms depend on them
#define YRSHELL_DICTIONARY_NUMBER_ADDRESS_BITS    13
#define YRSHELL_DICTIONARY_NUMBER_TOKEN_BITS      16
#define YRSHELL_DICTIONARY_ADDRESS_BITS_MASK      0XFFFF
typedef enum {
    YRSHELL_DICTIONARY_DUMMY_INDEX = 0,
    YRSHELL_DICTIONARY_CURRENT_INDEX = 1,
    YRSHELL_DICTIONARY_EXTENSION_COMPILED_INDEX = 2,
    YRSHELL_DICTIONARY_EXTENSION_FUNCTION_INDEX = 3,
    YRSHELL_DICTIONARY_INTERPRETER_COMPILED_INDEX = 4,
    YRSHELL_DICTIONARY_COMMON_FUNCTION_INDEX = 5,
    YRSHELL_DICTIONARY_INTERPRETER_FUNCTION_INDEX = 6,
    YRSHELL_DICTIONARY_LAST_INDEX = 7
}YRShellDictionaryIndex;

#define YRSHELL_DICTIONARY_MASK                               0x0000E000
#define YRSHELL_DICTIONARY_INTERPRETER_FUNCTION               (YRSHELL_DICTIONARY_INTERPRETER_FUNCTION_INDEX << YRSHELL_DICTIONARY_NUMBER_ADDRESS_BITS)
#define YRSHELL_DICTIONARY_COMMON_FUNCTION                    (YRSHELL_DICTIONARY_COMMON_FUNCTION_INDEX << YRSHELL_DICTIONARY_NUMBER_ADDRESS_BITS)
#define YRSHELL_DICTIONARY_EXTENSION_FUNCTION                 (YRSHELL_DICTIONARY_EXTENSION_FUNCTION_INDEX << YRSHELL_DICTIONARY_NUMBER_ADDRESS_BITS)
#define YRSHELL_DICTIONARY_INTERPRETER_COMPILED               (YRSHELL_DICTIONARY_INTERPRETER_COMPILED_INDEX << YRSHELL_DICTIONARY_NUMBER_ADDRESS_BITS)
#define YRSHELL_DICTIONARY_EXTENSION_COMPILED                 (YRSHELL_DICTIONARY_EXTENSION_COMPILED_INDEX << YRSHELL_DICTIONARY_NUMBER_ADDRESS_BITS)
#define YRSHELL_DICTIONARY_CURRENT                            (YRSHELL_DICTIONARY_CURRENT_INDEX << YRSHELL_DICTIONARY_NUMBER_ADDRESS_BITS)
#define YRSHELL_DICTIONARY_RELATIVE                           YRSHELL_DICTIONARY_MASK

#define YRSHELL_DICTIONARY_INTERPRETER_COMPILED_RELATIVE      (((uint32_t)YRSHELL_DICTIONARY_INTERPRETER_COMPILED_INDEX) << YRSHELL_DICTIONARY_NUMBER_TOKEN_BITS)
#define YRSHELL_DICTIONARY_EXTENSION_COMPILED_RELATIVE        (((uint32_t)YRSHELL_DICTIONARY_EXTENSION_COMPILED_INDEX) << YRSHELL_DICTIONARY_NUMBER_TOKEN_BITS)
#define YRSHELL_DICTIONARY_CURRENT_RELATIVE                   (((uint32_t)YRSHELL_DICTIONARY_CURRENT_INDEX) << YRSHELL_DICTIONARY_NUMBER_TOKEN_BITS)
#define YRSHELL_DICTIONARY_RELATIVE_MASK                      (YRSHELL_DICTIONARY_INTERPRETER_COMPILED_RELATIVE | YRSHELL_DICTIONARY_EXTENSION_COMPILED_RELATIVE | YRSHELL_DICTIONARY_CURRENT_RELATIVE)
#define YRSHELL_DICTIONARY_RELATIVE_ALL_MASK                  YRSHELL_DICTIONARY_RELATIVE_MASK
#define YRSHELL_DICTIONARY_INVALID                            0x0000FFFF
#define YRSHELL_DICTIONARY_ADDRESS_MASK                       ((~YRSHELL_DICTIONARY_MASK) & YRSHELL_DICTIONARY_ADDRESS_BITS_MASK)
#define YRSHELL_DICTIONARY_MAX_ADDRESS                        YRSHELL_DICTIONARY_ADDRESS_MASK

#endif


text:
Q: CI Upload file via AJAX error I'm going straight to the point here... I'm trying to upload file here via ajax and codeigniter upload... however, when I tried to upload the file that has the correct file extension it gives me an error which on the extension of the file.. I don't know what causes this.. I run the program on my local it worked fine.. however, when I uploaded it on godaddy it gives me that error...
the error displayed: Unable to upload file other than csv(comma delimited) file extension!
but should work fine because I uploaded a .csv file here.
Here's my code:
JQUERY
$(document).on('submit', '#NewFileUploadForm', function(e){
   e.preventDefault();
   var $this = $(this);
   var $url_transaction = $this.attr('action');
   var formData = new FormData($this[0]);

   $(".st_upload_file").attr('disabled', 'disabled');
   $(".st_upload_file").html(" Uploading...");

 $.ajax({
  xhr: function() {
  var xhr = new window.XMLHttpRequest();
  xhr.upload.addEventListener("progress", function(evt) {
    if (evt.lengthComputable) {
      var percentComplete = evt.loaded / evt.total;
      percentComplete = parseInt(percentComplete * 100);
      // console.log(percentComplete);
      $('#progress').width(percentComplete+"%");
      if (percentComplete === 100) {
        setTimeout(function(){
         $("#lblUpload").html("Complete!");
        }, 700);
      }

    }
  }, false);
  return xhr;
},
beforeSend:function(){
  n = new PNotify({
      title: 'Uploading File',
      text: 'Processing'+
            '
'+
              '

'+
            '
',
      hide: false,
      nonblock:{
        nonblock:true
      },
      styling: 'bootstrap3',
      addclass:'dark'
  });
},
url: $url_transaction+"Upload_sales_transaction_c/do_upload",
type: "POST",
data: formData,
dataType:'json',
contentType: false,
processData: false,
success: function(result) {
    if(result.is_status == 0){
         setTimeout(function(){
          location.reload();
           // $(".st_upload_file").removeAttr('disabled');
             $(".st_upload_file").html("Upload");
        }, 700);
    }else{

         $.ajax({
          url: $url_transaction+"Upload_sales_transaction_c/readExcel",
          type: 'post',
          data: {filename : result.filename, id : result.id},
          beforeSend:function()
          {
            getProgress("plog.txt", $this);
          },
          success: function(result){
              console.log(result);
            // if(result == 1){
                setTimeout(function(){
                     // $(".st_upload_file").removeAttr('disabled');
                     // $(".st_upload_file").html("Upload");
                     $.ajax({
                        url:$url_transaction+"Upload_sales_transaction_c/reset",
                        success:function(result){
                          location.reload();
                        }
                     });

                },700);
            // }
          }
        });
  }

 }

});
});

PHP CODE
public function do_upload(){

    $year = $this->input->post('year');
    $month = $this->input->post('month');
    $filename = "upload_".md5(date('Y-m-d H:i:s'));
    $config['upload_path']      = './includes/uploaded_files/sales_transaction/';
    $config['allowed_types']    = 'csv';
    $config['max_size']         = 15000;
    $config['file_name']        = $filename;

    $this->load->library('upload', $config);

    if ( ! $this->upload->do_upload('csvfile'))
    {
            $error = array('error' => $this->upload->display_errors());

            $sesssion_message = array(
            "type" => "warning",
            "message" => "Unable to upload file other than csv(comma delimited) file extension!"
            );
            $this->session->set_userdata($sesssion_message);
            // redirect(base_url()."upload_sales_transaction_c/");
            // exit;
            //0 - failed
            echo json_encode(array('is_status' => 0));
    }
    else
    {
            $file = array('upload_data' => $this->upload->data());
            $prev_filename=$file['upload_data']['client_name'];

            $sesssion_message = array(
            "type" => "success",
            "message" => "File has been successfully uploaded!"
            );
            $this->session->set_userdata($sesssion_message);

            $insert = array('year' => $year, 'month' => $month, 'filename' => $filename, 'prev_filename' => $prev_filename);
            $insert_id = $this->main_m->insert_data('uploaded_sales_transaction_files', $insert);
            // redirect(base_url()."upload_sales_transaction_c/");
            // exit;
            //1 - success
            echo json_encode(array('is_status' => 1, 'id' => $insert_id, 'filename' => $filename));

    }

}

thanks in advance...

redpajama_set_name: RedPajamaStackExchange


Disclaimer: *Limited time lease offer provided through Toyota Financial Services on approved credit on new retail lease of qualifying models. $22,152 x 60 Months @ 0.99% APR (estimated lease rate, cost of borrowing $762, estimated buyout $8,418). Plus HST and License.
Limited time purchase financing offer provided through Toyota Financial Services on approved credit on new retail sales of qualifying models. $22,152 x 84 Months @ 2.99% APR (estimated financing rate, cost of borrowing $2,412). $0 down payment. Plus HST and License.
**Cash incentives valid on retail delivery of select new unregistered vehicles when purchased and registered between April 2, 2019 and April 30, 2019. Cash incentives are comprised of a customer incentive and/or an incentive for cash customer. Incentives for cash customers are available for all Toyota retail customers except customers who lease or purchase finance through Toyota Financial Services at a special rate of interest offered by Toyota as part of a low rate interest program. All advertised lease and finance rates are special rates. Cash incentives (including incentives for cash customers, customer incentives, lease assist, finance assist and various other cash incentives that can arise from time to time) include an amount on account of sales tax and are applied after sales taxes have been charged on the full amount of the negotiated price. Offers are subject to change without notice. Quantities of certain vehicles are limited and dealer trade may be required. Dealer trade availability may also be limited and will vary by model.


text:
Pervez Iqbal (26 December 1975 – 11 March 2002) was a Pakistani cricketer.  Iqbal was a left-handed batsman who bowled with his right-arm medium pace.  He was born at Rawalpindi, Punjab.

Iqbal made his first-class debut for Rawalpindi against Faisalabad in 1993/94 season.  Iqbal represented the main Rawalpindi team in first-class cricket from the 1993/94 to 2000/01, as well as Rawalpindi B from 1994/95-1995/96.  His final first-class match came for the main Rawalpindi team against Lahore Blues in 2001.  In total, from 1993/94 to 2000/01 he played 20 first-class matches.  In these matches he scored a total of 602 runs at a batting average of 20.06, with 4 half centuries and a high score of 76.  With the ball he took 46 wickets at a bowling average of 25.71, with a single five wicket haul which resulted in his best figures of 5/59.

Iqbal also made his debut in List A cricket for Rawalpindi in the 1993/94 season against Faisalabad.  Iqbal represented the main Rawalpindi team in List A cricket 11 times from the 1993/94 to 1999/2000 season.  In addition, he also represented Rawalpindi A in 8 matches during the 1995/96 season.  His final List-A match for a Rawalpindi team came against Islamabad in March 2000.  During the 2000 English cricket season, Iqbal played a single List A match for the Derbyshire Cricket Board in the 2000 NatWest Trophy against the Gloucestershire Cricket Board.  In his total of 20 List A matches, he scored 212 runs at an average of 15.14, with a single half century high score of 56.  With the ball he took 25 wickets at an average of 22.32, with a single five wicket haul which gave him best figures of 5/22.

Iqbal died in Rawalpindi, Punjab on 11 March 2002 from a rare pollen allergy.

References

External links
Pervez Iqbal at ESPNcricinfo
Pervez Iqbal at CricketArchive

1975 births
2002 deaths
Cricketers from Rawalpindi
Pakistani cricketers
Rawalpindi cricketers
Derbyshire Cricket Board cricketers
Respiratory disease deaths in Pakistan
Rawalpindi B cricketers

redpajama_set_name: RedPajamaWikipedia


text:
Key Concepts in Geomorphology
First Edition| ©2013 Paul R. Bierman; David R. Montgomery
Written for introductory geomorphology courses, Key Concepts in Geomorphology offers an integrative, applications-centered approach to the study of the Earth's dynamic surface. Bierman and Montgomery draw from the fields of physics, chemistry, biology, and mathematics to help students get a b...
Written for introductory geomorphology courses, Key Concepts in Geomorphology offers an integrative, applications-centered approach to the study of the Earth's dynamic surface. Bierman and Montgomery draw from the fields of physics, chemistry, biology, and mathematics to help students get a basic understanding of Earth surface processes and the evolution of topography over short and long timescales. The authors also hone in on practical applications, showing how scientists are using geomorphological research to tackle critical societal issues (natural disaster response, safer infrastructure, protecting species, and more).
Retail:$169.99	Wholesale:$135.83
Exceptionally Concise and Community Vetted
Each chapter is focused specifically on key concepts and underlying principles rather than regional or local examples. The book's philosophy emerged from a National Academy of Sciences workshop on the future of the textbook and the table of contents was determined at a National Science Foundation sponsored retreat where over 60 geomorphologists gathered to identify core concepts and areas of common interest that future geomorphologists need to know.
Consistent Chapter Themes
Each chapter focuses on a consistent structure of themes, including mass transport, energy transfer, and explicit linkages between the processes that shape Earth's surface and the landforms and deposits those processes leave behind.
Student Support Throughout Each Chapter
An Outline giving students a pathway of key ideas for the chapter
A Digging Deeper section posing a key question for students to explore, with in-line citations to relevant literature, figures from important journal articles, and summary of relevant geomorphic thinking
A Worked Problem at the end of the chapter, taking students step by step through a key quantitative or qualitative exercise
A Knowledge Assessment for student self-evaluation—a great resource for review and test prep
Suggested readings, including classic, recent peer-reviewed papers, and reference texts.
Instructor Media
Web-Based Vignettes
With this archive of hundreds of peer-reviewed examples of geomorphology from around the world, Instructors can customize their course, bringing in extra coverage of local events and topics they wish to explore more deeply.
Imaging Earth's Surface
Adopters have access to the collection of thousands of images for classroom use, drawn from the authors' archives, public-domain sources and donations from geomorphologists around the world.
Paul R. Bierman; David R. Montgomery
PART I Geomorphology and Its Tools
1 Earth's Dynamic Surface
2 Geomorphologist's Tool Kit
PART II Source to Sink
3 Weathering and Soils
4 Geomorphic Hydrology
5 Hillslopes
7 Drainage Basins
8 Coastal and Submarine Geomorphology
PART III Ice, Wind, and Fire
9 Glacial and Periglacial Geomorphology
10 Wind as a Geomorphic Agent
11 Volcanic Geomorphology
PART IV The Bigger Picture
12 Tectonic Geomorphology
13 Geomorphology and Climate
14 Landscape Evolution
Paul R. Bierman
Paul Bierman has been a professor of Geology and Natural Resources at the University of Vermont since 1993. His research and teaching expertise focus on the interaction of people and Earths dynamic surface. Bierman is a native of Baltimore, Maryland. For college, he moved north to Massachusetts, where he earned a bachelors degree in Geology at Williams College. After several years working as an environmental consultant in Boston, Bierman moved north again to the University of Washington in Seattle where he earned both a masters and doctoral degree in Geology. After a short post-doctoral interlude far to the south in Australia, Bierman has been a professor at the University of Vermont since 1993.
Bierman's research has taken him around the globe. He has studied erosion in Australia, South America, and several countries in Africa and the Middle East. In Greenland, Bierman and his graduate students are tracing the history of the Greenland Ice sheet over the last million years, an adventure that repeatedly takes them helicoptering over the ice. In Vermont, New Hampshire, and New York, Bierman and his students created the first record of storminess and erosion that extended back over the last 10,000 years how many of the past megastorms they identified were hurricanes?
Bierman works extensively communicating science to the pubic. He teaches summer science programs for highly motivated high school students, directs a public web site (www.uvm.edu/landscape) holding over 70,000 photographs of historic Vermont landscapes, has been co-author since 2005 of Pipkin et al., an introductory Environmental Geology textbook, and is the lead author of a new, NSF-funded textbook, Key Concepts in Geomorphology, that uses extensive visuals and photographs to teach about the workings of Earths surface.
David R. Montgomery
David R. Montgomery is a MacArthur Fellow and professor of geomorphology at the University of Washington. He studied geology as an undergraduate at Stanford University and geomorphology for his Ph.D. at UC Berkeley. He is an internationally recognized geologist who studies landscape evolution and the effects of geological processes on ecological systems and human societies. An author of award-winning popular-science books, he has been featured in documentary films, network and cable news, and on a wide variety of TV and radio programs. His books have been translated into nine languages and he is the co-author (with Paul Bierman) of Key Concepts in Geomorphology, and the forthcoming Environmental Science and Sustainability (with Daniel Sherman).
Answers to End of Chapter Questions: All Chapters
Images: Chapter 1
Images: Chapter 10