define(function(){"use strict";var a,b={version:"0.1.2"},c=function(){function b(a){return function(){e=a}}function c(b){if(e!==a)throw new Error("Access denied.");var c=(b(),e);return e=a,c}var e;return c.safe=b,c.property=d,c},d=function(a){function b(b,c){return b[a]=d.safe(c),c}function c(b){return d(b[a])}a||(a=e());var d=this;return c.init=b,c.propertyName=a,c},e=function(){return"\x00_safe"+(new Date).getTime()+Math.round(1e3*Math.random())};return b.key=c,b});